arma-thesis

git clone https://git.igankevich.com/arma-thesis.git
Log | Files | Refs | LICENSE

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:
phd-diss-ru.org | 30+++++++++++++++++++++---------
phd-diss.org | 39+++++++++++++++++++--------------------
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