commit b2ede660e2b5a56a16ecad23c6ec10f779d13a4b
parent 4222124b81feb49f4292d391007d5b7c5c955a2e
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Fri, 17 Feb 2017 11:14:29 +0300
Sync p1.
Diffstat:
2 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/phd-diss-ru.org b/phd-diss-ru.org
@@ -2696,19 +2696,16 @@ digraph {
приложения прозрачно.
**** Контрольные точки восстановления.
-Отказы узлов распределенной системы можно разделить на три типа: отказ
-подчиненного узла, отказ главного узла и отказ одновременно всех узлов
-(отключение электричества). Для того чтобы запущенная на кластере задача могла
-продолжиться после отказа подчиненного узла, для нее периодически создаются и
-записываются в надежное хранилище контрольные точки восстановления. При создании
-контрольной точки все параллельные процессы задачи временно останавливаются,
-образ памяти, выделенной операционной системой для процессов задачи копируется
-на диск, и выполнение задачи продолжается в нормальном режиме. Для того чтобы
-отказ главного узла не повлиял на работу кластера, состояние сервисов,
-запущенных на нем, непрерывно копируется на резервный узел, который становится
-главным при отказе. При незапланированном отключении электричества состояние
-всех запущенных на момент отказа задач восстанавливается из контрольных точек
-восстановления.
+Сбои узлов распределенной системы можно разделить на два типа: сбой подчиненного
+узла и сбой руководящего узла. Для того чтобы запущенная на кластере задача
+могла пережить сбой подчиненного узла, планировщик задач периодически создает
+для нее контрольные точки восстановления и записывают их в надежное хранилище.
+Для того чтобы создать контрольную точку, планировщик временно останавливает все
+параллельные процессы задачи, копирует все страницы памяти и все структуры ядра
+операционной системы, выделенные для этих процессов, на диск, и продолжает
+выполнение задачи. Для того чтобы пережить сбой руководящего узла, серверный
+процесс планировщика задач непрерывно копирует свое внутреннее состояние на
+резервный узел, который становится руководящим после сбоя.
Оптимизации работы контрольных точек восстановления посвящено большое
количество работ\nbsp{}cite:egwutuoha2013survey, а альтернативным подходам
diff --git a/phd-diss.org b/phd-diss.org
@@ -2525,6 +2525,17 @@ working nodes. The middleware works as a cluster operating system in user space,
allowing to write and execute distributed applications transparently.
**** Checkpoints.
+Node failures in a distributed system are divided into two types: failure of a
+subordinate node and failure of a principal node. In order for a job running on
+the cluster to survive subordinate node failure, job scheduler periodically
+creates checkpoints and writes them to a stable storage. In order to create the
+checkpoint, the scheduler temporarily suspends all parallel processes of the
+job, copies all memory pages and all internal operating system kernel structures
+allocated for these processes to disk, and resumes execution of the job. In
+order to survive principal node failure, job scheduler server process continuously
+copies its internal state to a backup node, which becomes the principal after
+the failure.
+
**** Related work.
Dynamic role assignment is an emerging trend in design of distributed systems\nbsp{}cite:ostrovsky2015couchbase,divya2013elasticsearch,boyer2012glusterfs,anderson2010couchdb,lakshman2010cassandra,
however, it is still not used in big data and HPC job schedulers. For example,