ОБЗОР СОВРЕМЕННЫХ РАСПРЕДЕЛЕННЫХ СИСТЕМ - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

ОБЗОР СОВРЕМЕННЫХ РАСПРЕДЕЛЕННЫХ СИСТЕМ

Раздобудов С.А. 1, Мартышкин А.И. 2
1ПензГТУ, ФАИТ, аспирантура
2ПензГТУ, ФАИТ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение.Тематика распределенных систем остается актуальной и на сегодняшний день. Связано это в первую очередь с тем, что с помощью распределенных систем возможно произвести анализ свойств полученных данных, которые невозможно по ряду каких-либо причин обработать с помощью только одного вычислительного узла. Создание эффективных, способных к расширению вычислительных систем позволяется в значительной степени повысить скорость обработки данных.

Задача разработки распределенных систем является одной из наиболее сложных задач, которые стоят в настоящее время перед информатикой и программной инженерией. И сложность обусловлена не только такими очевидными свойствами как большие размеры, возможное географическое удаление компонентов друг от друга, ненадежные каналы связи между узлами, параллельные процессы, асинхронное взаимодействие, сложные схемы синхронизации, поддержка глобального времени. Сложность обуславливается еще и тем, что на сегодняшний день нет ясной и общепринятой систематизации характеристик функциональности распределенных систем.

Понятие распределенных систем и их классификация. Под «распределенными системами» на сегодняшний момент может пониматься значительное число определений. Наиболее полное и вместе с тем понятное определение распределенных систем предложил в своей книге Э. Таненбаум [1]: «Распределенная система — это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой». Следует отметить, что в данном определении оговариваются несколько моментов: во-первых, что все вычислительные устройства данной системы автономны, а во-вторых, что пользователи полагают, что работают в единой системе. Еще одно определение распределенным системам дано в работе [2]: «Распределенными системами называются программно-аппаратные системы, в которых исполнение операций (действий, вычислений), необходимых для обеспечения целевой функциональности системы, распределено (физически или логически) между разными исполнителями».

К плюсам распределенных систем можно отнести следующие:

соотношение цены и производительности;

высокая производительность;

возможность разделение ресурсов;

масштабируемость;

надежность.

Среди недостатков распределенных систем можно выделить:

сложность проектирования, тестирования и обслуживания;

безопасность данных, передаваемых внутри системы;

управляемость системы.

Классифицировать распределенные системы на сегодняшний день принято по различным признакам [1]:

классификация систем по их размерам и способам администрирования (кластер, распределенная система корпоративного уровня, глобальная система);

классификация систем по функциональности (вычислительные системы, информационные системы);

классификация систем по принципам их построения (распределенные системы объектов, распределенные файловые системы, распределенные системы документов).

Настоящий обзор фиксирует современные методы построения, использования и развертывания распределенных систем. Такая фиксация необходима для развертывания будущего исследования в данном направлении. В конечном итоге результаты исследования позволят решать вопросы разработки и развертывания распределенных систем.

В статье [2] также подробно рассматриваются методики и инструментальные средства верификации распределенных систем. Производится обзор более 30 инструментов как прототипных, разработанных в академических кругах, так и промышленных. Фиксируются современное состояние методов для верификации распределенных систем и мощности их инструментальной поддержки. Большим плюсом данной статьи является широкий обзор инструментов для верификации распределенных систем и их подробный анализ.

Проблематика использования распределенных систем обозревается в статье [3]. Были выделены проблемы администрирования системы, проблемы балансирования нагрузки, проблемы восстановления данных в случае возникновения ошибок, проблемы ограниченности масштабируемости, проблема переносимости ПО. Также отмечено, что ограниченность использования распределенных систем осложняется использованием в их составе оборудования различных производителей с различными типами архитектур. В связи с большим разнообразием аспектов построения вычислительных систем, а также разнообразие существующих операционных систем, возникает необходимость в создании методов адаптивного планирования распределения потоков в распределенной системе.

Книга [4] приводит воспроизводимые шаблоны и универсальные компоненты, которые облегчат разработку надежных распределенных систем и помогут сделать ее более эффективной. Излагаются конкретные подходы, которые пригодятся при реализации сервисов-Производителей и сервисов-Потребителей, участвующих в функционировании рабочих потоков на основе сообщений.

Связь в распределенных системах. Понятие «распределенная вычислительная система» подразумевает, что компоненты такой системы распределены, т.е. удалены друг от друга. Очевидно, что функционирование подобных систем невозможно без эффективной связи между ее компонентами [5].

Взаимодействие в вычислительных сетях базируется на протоколах. Протокол – это набор правил и соглашений, описывающих процедуру взаимодействия между компонентами системы (в том числе и вычислительной) [6].

По тематике распределенных систем существует ряд патентов. Среди них можно выделить [7]. Данное изобретение обеспечивает формирование виртуальной сетевой топологии для разнообразных распределенных приложений, размещаемых на одной распределенной вычислительной системе, не требуя физической перенастройки распределенной вычислительной системы и конфигурирования проводных соединений внутри системы.

В настоящий момент перед множеством администраторов и связанных с ними специалистов по поддержке стоит сложная и зачастую продолжительная по времени задача по конфигурированию и развертыванию каждой вычислительной системы. С данной задачей в некоторой степени позволяет справиться [8]. В данном изобретении предоставляются варианты осуществления того, чтобы динамически конфигурировать, выделять и/или развертывать одну или более вычислительных систем на основе пользовательских требований. Зарезервированные системы могут быть динамически сконфигурированы с помощью требуемого кода и/или содержимого согласно пользовательским требованиям. Динамически развернутые серверы могут быть использованы для того, чтобы быстро и эффективно тестировать код и программы, выполнять отладку кода и программ и/или выполнять другие операции конфигурирования и тестирования.

Современные распределенные системы. На сегодняшний день распределенные системы отходят от традиционных понятий высокопроизводительных распределенных вычислений в сторону развития виртуального сотрудничества и виртуальных организаций.

Виртуальная организация – это ряд людей и/или организаций, объединенных общими правилами коллективного доступа к определенным вычислительным ресурсам.

Методы предоставления доступа к вычислительным ресурсам становятся сервисно- ориентированными, что позволяет гибко использовать одни и те же вычислительные ресурсы различными потребителями.

Значительно расширились области автоматизированного управления ресурсами. Человек не в силах вручную решить задачу распределения вычислений в системах такого масштаба и гетерогенности. Таким образом, необходимо использование автоматизированных систем управления задачами, которые берут на себя задачи управления предоставляемой системой.

Также, с возрастанием масштаба вычислительных сетей, необходимы автоматизированные средства обработки ошибок и восстановления вычислительного процесса.

Облачные вычисления. Облако – это парадигма крупномасштабных распределенных вычислений, основанная на эффекте масштаба, в рамках которой пул абстрактных, виртуализированных, динамически-масштабируемых вычислительных ресурсов, ресурсов хранения, платформ и сервисов предоставляется по запросу внешним пользователям через Интернет.

Не смотря на то, что метафора «облако» уже давно используется специалистами в области сетевых технологий для изображения на сетевых диаграммах сложной вычислительной инфраструктуры (или же Интернета как такового), скрывающей свою внутреннюю организацию за определенным интерфейсом, термин «Облачные вычисления» появился на свет совсем недавно.

Согласно результатам анализа поисковой системы Google, термин «Облачные вычисления» («Cloud Computing») начал набирать вес в конце 2007 – начале 2008 года, по степенно вытесняя популярное в то время словосочетание «Грид-вычисления» («Grid Computing»).

Судя по заголовкам новостей того времени, одной из первых компаний, давших миру данный термин, стала компания IBM, развернувшая в начале 2008 года проект «Blue Cloud» и ставшая спонсором Европейского проекта «Joint Research Initiative for Cloud Computing». На сегодняшний день уже можно говорить о том, что облачные вычисления прочно вошли в повседневную жизнь каждого пользователя Интернета (хотя многие об этом и не подозревают). Однако до сих пор нет единого мнения о том, что такое «Облачные Вычисления» и каким образом они соотносятся с парадигмой «Грид-вычислений».

Заключение. Исходя из рассмотренных ранее статей, книг и патентов, можно сделать вывод, что тематика развертывания распределенных вычислительных систем, в рамках даже локальной сети рассматривается недостаточно глубоко. Ввиду вышесказанного, можно сделать вывод, что возможна реализация различных моделей и алгоритмов для распределенных вычислительных систем, позволяющих в какой-либо мере ускорить развертывание распределенных систем. Именно данной теме и будет посвящено дальнейшее исследование. Решения, найденные в ходе дальнейших исследований, могут найти свое применение при разработке таких систем как «умный дом».

Список литературы

1. Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы = Andrew S. Tanenbaum, Maarten van Steen. "Distributed systems. Principles and paradigms". — Санкт-Петербург: Питер, 2003. – 877 с. – (Классика computer science). — ISBN 5-272-00053-6.

2. Бурдонов И.Б., Косачев А.С., Пономаренко В.Н., Шнитман В.З. Обзор подходов к верификации распределенных систем. Препринт 16. М.: ИСП РАН, – 2006, – С. 61.

3. Цветков В. Я., Алпатов А. Н. Проблемы распределенных систем // ПНиО. – 2014. – №6 (12).

4. Бернс Б. Распределенные системы. Паттерны проектирования. – Питер., 2019. – 224 с.

5. Радченко, Г.И. Распределенные вычислительные системы / Г.И. Радченко. –Челябинск: Фотохудожник, 2012. – 184 с.

6. Косяков М.С. Введение в распределенные вычисления. –СПб: НИУИТМО, 2014. – 155 с.

7. Хайдри Аамер (US), Седола Кент Д. (US). Генерация топологии виртуальной сети // Патент РФ № 2382398. Патентообладатель Майкрософт Корпорейшн (US). Заявка: 2004106718/09, 05.03.2004. Опубликовано: 20.02.2010, Бюл. № 5.

8. Линь Чи-Мин, Чжоу Шэн, Нандан Дургеш, Альбертсон Джеффри Ли. Динамическое конфигурирование, выделение и развертывание вычислительных систем // Патент РФ № 2429529C2. Патентообладатель Майкрософт Корпорейшн (US). Заявка:2009107189/08, 30.08.2007. Опубликовано:20.09. 2011, Бюл. №26.

Просмотров работы: 353