commit c69def460ea1c5337f994f3f2d4bddeb1d7c5519
parent 58942d727fcf0a220503854f7d3a9d96315398d7
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Fri, 17 Feb 2017 15:36:33 +0300
Sync p2. Replace dynamic roles with symm arch.
Diffstat:
2 files changed, 40 insertions(+), 29 deletions(-)
diff --git a/phd-diss-ru.org b/phd-diss-ru.org
@@ -2735,8 +2735,10 @@ digraph {
приложения прозрачно.
**** Симметричная архитектура.
-Динамическое распределение ролей между узлами кластера\nbsp{}--- это одно из
-новых направлений в проектировании параллельных файловых систем и хранилищ типа
+Однородный стек программного обеспечения на каждом узле совместно с динамическим
+распределением ролей между узлами\nbsp{}--- это симметричная архитектура,
+которая превалирует в проектировании параллельных файловых систем и
+распределенных хранилищ данных типа
"ключ-значение"\nbsp{}cite:ostrovsky2015couchbase,divya2013elasticsearch,boyer2012glusterfs,anderson2010couchdb,lakshman2010cassandra,
однако, оно до сих пор не используется в планировщиках задач обработки больших
данных и высокопроизводительных вычислений. Например, в планировщике задач
@@ -2744,13 +2746,23 @@ digraph {
статическими. Восстановление после сбоя подчиненного узла осуществляется путем
перезапуска работавшей на нем части задачи на одном из выживших узлов, а
восстановление после сбоя руководящего узла осуществляется путем установки
-дополнительного, находящегося в режиме ожидания руководящего
-узла\nbsp{}cite:murthy2011architecture. Оба руководящих узла управляются
-сервисом Zookeeper, который использует динамическое распределение ролей для
-обеспечения своей отказоустойчивости\nbsp{}cite:okorafor2012zookeeper. Таким
-образом, отсутствие динамического распределения ролей у планировщика YARN
-усложняет конфигурацию всего кластера: если бы динамические роли были доступны,
-Zookeeper был бы лишним в данной конфигурации.
+резервного руководящего узла\nbsp{}cite:murthy2011architecture. Оба руководящих
+узла управляются сервисом Zookeeper, который использует динамическое
+распределение ролей для обеспечения своей
+отказоустойчивости\nbsp{}cite:okorafor2012zookeeper. Таким образом, отсутствие
+динамического распределения ролей у планировщика YARN усложняет конфигурацию
+всего кластера: если бы динамические роли были доступны, Zookeeper был бы лишним
+в данной конфигурации.
+
+Такая же проблема возникает в планировщиках задач для высокопроизводительных
+вычислений, руководящий узел (на котором запущен главный процесс планировщика
+задач) является единой точкой сбоя.
+В\nbsp{}cite:uhlemann2006joshua,engelmann2006symmetric авторы реплицируют
+состояние планировщика задач на резервный узел, чтобы обеспечить высокую
+доступность руководящего узла, но роль резервного узла задается статически.
+Такое решение близко к симметричной архитектуре, поскольку не использует внешний
+сервис для обеспечения высокой доступности, но далеко от идеала, в котором
+резервный узел выбирается динамически.
**** Иерархия управляющих объектов.
Для распределения нагрузки узлы кластера объединяются в древовидную иерархию
diff --git a/phd-diss.org b/phd-diss.org
@@ -2562,31 +2562,30 @@ working nodes. The middleware works as a cluster operating system in user space,
allowing to write and execute distributed applications transparently.
**** Symmetric architecture.
-Dynamic distribution of roles between cluster nodes is an emerging trend in
-design of parallel file systems and key-value
+Homogeneous software stack on each cluster node together with dynamic
+distribution of roles between nodes is a symmetric architecture, which prevails
+in the design of parallel file systems and distributed key-value
stores\nbsp{}cite:ostrovsky2015couchbase,divya2013elasticsearch,boyer2012glusterfs,anderson2010couchdb,lakshman2010cassandra,
however, it is still not used in big data and HPC job schedulers. For example,
in YARN big data job scheduler\nbsp{}cite:vavilapalli2013yarn principal and
subordinate roles are static. Failure of a subordinate node is tolerated by
restarting a part of a job, that worked on it, on one of the surviving nodes,
-and failure of a principal node is tolerated by setting up an additional standby
-principal node\nbsp{}cite:murthy2011architecture. Both principal nodes are
-coordinated by Zookeeper service which uses dynamic role assignment to ensure
-its own fault-tolerance\nbsp{}cite:okorafor2012zookeeper. So, the lack of
-dynamic role distribution in YARN scheduler complicates the whole cluster
-configuration: if dynamic roles were available, Zookeeper would be redundant in
-this configuration.
-
-The same problem occurs in high-performance computing where principal node of a
-job scheduler is the single point of failure.
-In\nbsp{}cite:uhlemann2006joshua,engelmann2006symmetric the authors use
-replication to make the principal node highly available, but backup server role
-is assigned statically and cannot be delegated to a healthy worker node. This
-solution is closer to fully dynamic role assignment than high availability
-solution for big data schedulers, because it does not involve using external
-service to store configuration which should also be highly-available, however,
-it is far from ideal solution where roles are completely decoupled from physical
-servers.
+and failure of a principal node is tolerated by setting up standby principal
+node\nbsp{}cite:murthy2011architecture. Both principal nodes are coordinated by
+Zookeeper service which uses dynamic role assignment to ensure its own
+fault-tolerance\nbsp{}cite:okorafor2012zookeeper. So, the lack of dynamic role
+distribution in YARN scheduler complicates the whole cluster configuration: if
+dynamic roles were available, Zookeeper would be redundant in this
+configuration.
+
+The same problem occurs in HPC job schedulers where principal node (where the
+main job scheduler process is run) is the single point of failure.
+In\nbsp{}cite:uhlemann2006joshua,engelmann2006symmetric the authors replicate
+job scheduler state to a backup node to make the principal node highly
+available, but backup node role is assigned statically. This solution is close
+to symmetric architecture, because it does not involve external service to
+provide high availability, but far from ideal where backup node is dynamically
+chosen.
Finally, the simplest principal node high availability is implemented in Virtual
Router Redundancy Protocol