conference on Critical computing: between sense and sensibility. - ACM, 2005. P. 59-68.
Сведения об авторе
Павел Юрьевич Елсуков канд. техн. наук научный сотрудник ИСЭМ СО РАН Россия, Иркутск Эл. почта: [email protected]
Information about author
V.P. Savinych
candidate of technical sciences
research fellow
ISEM SB RAS
Russia, Irkutsk
Е-mail: [email protected]
УДК: 378.147, 004.02 А.В. Козлов
ГРНТИ 12.51.85 РТУ МИРЭА
СИСТЕМНЫЙ АНАЛИЗ РАСПРЕДЕЛЕННЫХ СИСТЕМ
Статья исследует распределенные системы. Для исследования применяется системный анализ. Проведено исследование современного применения системного анализа и его диверсификации. Отмечена особенность применения системного анализа применительно к распределенным системам. Проводится анализ архитектур распределенных систем. Многообразие распределенных систем требует существенно разных видов анализа: структуры, потоков, логистики, алгоритмов. Оптимизация потоков приводит к необходимости решения задачи маршрутизации. Такое многообразие требует применения системного анализа, как метода обеспечивающего согласованную работу распределенных систем. Одной из особенностей распределенных систем является возможность работы при наличии сбоев на отдельных узлах. Это обеспечивает преимущество распределенных систем в части более высокой надежности. С другой стороны, это требует дополнительного системного анализа распределенной системы при ее известной структуре и определенных потоков, циркулирующих по ней. Работа рекомендует введение интегрального показателя «ценность», который характеризовал бы интегральную характеристику распределенных систем.
Ключевые слова: системный анализ, распределенные системы, информационные системы, информационные потоки, субсидиарные системы, многообразие параметров.
A.V. Kozlov RTU MIREA
SYSTEM ANALYSIS OF DISTRIBUTED SYSTEMS
The article explores distributed systems. The basis of the study is a system analysis. The article explores the current use of system analysis and its diversification. The peculiarity of the application of system analysis in relation to distributed systems is revealed. The analysis of architectures of distributed systems is made in the article. The variety of distributed systems requires different types of analysis. it is necessary to analyze: system structures, flows in systems, flow routes, algorithms. Flow optimization requires solving the routing problem. The variety of tasks requires the use of system analysis as a method of ensuring the coordinated work of distributed systems. Features of distributed systems is the ability to work in the presence offailures on individual nodes. This feature provides the advantage of distributed systems for high reliability. This advantage requires additional system analysis of the distributed system. Reliability analysis is carried out with a known structure and certain flows circulating in a distributed system. The work recommends the introduction of an integral indicator "value ", which would characterize the integral characteristic of distributed systems.
Keywords: system analysis, distributed systems, information systems, information flows, subsidiary systems, a variety of parameters.
Введение
Системный анализ имеет много разных значений. В принятии решений [1] системный анализ - это явное формальное исследование [2], проводимое для того, чтобы помочь лицу, принимающим решения, определить лучший курс действий и принять лучшее решение, чем он мог бы принять при отсутствии анализа. Характерными признаками проблемной ситуации, когда требуется системный анализ, являются сложность проблемы [3] или информационная неопределенность результата любого действия, которое может быть разумно предпринято. Системный анализ
обычно имеет некоторую комбинацию этапов: идентификация (и повторная идентификация) целей, определение ограничений, определение основных и альтернативных направлений действий; изучение возможных последствий действий, анализ затрат, выгод и рисков; представление результатов в удобном виде, чтобы лицо, принимающее решения, могло сделать осознанный выбор из числа допустимых. Типичное использование системного анализа - это принятие решений по таким вопросам, как национальные или корпоративные планы и программы [4], политика использования и защиты ресурсов, научные исследования и разработки в области технологий, региональное и городское развитие, образовательные системы и другие полезные услуги.
Природа многих проблем требует междисциплинарного подхода. Существует несколько конкретных видов или направлений системного анализа, для которых используются разные термины: Системный анализ, связанный с публичными решениями, часто называют политическим анализом (в США термины используются взаимозаменяемо). Системный анализ, который концентрируется на сравнении и ранжировании альтернатив на основе их известных характеристик, называется анализом решений.
Та часть или аспект системного анализа, который концентрируется на выяснении того, нарушает ли предполагаемый курс действий какие-либо ограничения, называется анализом FEASIBILITY. Системный анализ, в котором альтернативы ранжируются с точки зрения эффективности для фиксированных затрат или с точки зрения затрат для равной эффективности, называется анализом экономической эффективности. Анализ стоимости [5] - это вид системного анализа, в котором для каждой альтернативы дисконтируется временной поток затрат и временной поток выгод (как в денежных единицах), чтобы получить их текущую стоимость. Сравнение и ранжирование производятся с точки зрения чистых выгод (выгод за вычетом затрат) или соотношения выгод и затрат. В анализе риска стоимость (в денежных единицах) присваивается каждому риску, чтобы сделать возможным сравнение дисконтированной суммы этих затрат (а также других затрат) со дисконтированной суммой выгод, которые, как ожидается, приведут к результату. из решения. Рассматриваемые риски обычно представляют собой события, вероятность возникновения которых мала, но чьи неблагоприятные последствия могут быть важными (например, такие события, как землетрясение или взрыв установки). Системный анализ также используют при исследовании операций. Применительно к распределенным системам системный анализ необходим как средство анализа [6], уменьшения сложности, повышения надежности и обеспечения маршрутизации потоков [7] и общего повышения эффективности и управляемости [8] таких систем. При этом возникает проблема логистики [9, 10] информационных или материальных потоков и системного анализа потоков независимо от структуры самой распределенной системы.
Распределенные сложные системы
Распределенные системы имеют сетевую структуру и состоят из узлов, которые связываются и координируют свои действия путем передачи информации и управленческих сообщений [8, 11]. Узлы взаимодействуют друг с другом для достижения общей цели. Анализ ресурсов распределенных систем должен учитывать аспекты распределения, связи и взаимодействия систем.
Существуют методы для анализа ресурсов распределенных систем (РС), вместе с новыми понятиями ценности, возникающими в таком распределенном контексте. Существуют специальные термины оценки ресурсов, такие как пиковая стоимость. Это понятие охватывает максимальное количество ресурсов, которое может потребоваться каждому распределенному узлу на протяжении всего выполнения; и параллельная стоимость, которая соответствует максимальной стоимости выполнения с учетом того, что, когда распределенные задачи выполняются параллельно, нам нужно учитывать только стоимость самой дорогой.
Основными понятиями РС являются процессы, вычислительные процессы, параллелизм, операции процессов, композиции процессов и свойства процессов (живучесть, без тупиков и т. д.). Теория сетей Петри исследуется более частично на многих модельных примерах. Исследованы поведенческие и структурные свойства, методы анализа, известные подклассы и отношения между этими подклассами. Специальный класс сетей Петри помогают моделировать структуры программы (последовательности, ветви и петли).
Распределенная вычислительная система - это система, компоненты которой расположены на разных сетевых компьютерах, которые взаимодействуют и координируют свои действия, передавая сообщения друг другу [12] Компоненты взаимодействуют друг с другом для достижения общей цели. Три существенные характеристики распределенных систем: параллельность компонентов, отсутствие глобальных часов и независимый отказ компонентов [12]. Примеры распределенных систем варьируются от систем на основе SOA до многопользовательских онлайн-игр
и одноранговых приложений.
Распределенная вычислительная система может иметь общую цель, такую как решение большой вычислительной задачи; [10] пользователь затем воспринимает совокупность автономных процессоров как единое целое. Альтернативно, каждый компьютер может иметь своего собственного пользователя с индивидуальными потребностями, и целью распределенной системы является координация использования общих ресурсов или предоставление услуг связи пользователям [13].
Другие типичные свойства распределенных систем включают следующие: система должна переносить сбои на отдельных компьютерах [13]; структура системы (топология сети, задержка в сети, количество компьютеров) заранее неизвестна, система может состоять из компьютеров и сетевых соединений разных типов, и система может измениться во время выполнения распределенной программы
Распределенные системы включают следующие направления применения. Телекоммуникационные сети [14]: телефонные сети и сотовые сети, компьютерные сети, такие как Интернет, беспроводные сенсорные сети, алгоритмы маршрутизации. Сетевые приложения: Всемирная паутина и одноранговые сети, многопользовательские онлайн игры и сообщества виртуальной реальности, распределенные базы данных и распределенные системы управления базами данных, сетевые файловые системы, распределенные системы обработки информации, такие как банковские системы и системы бронирования авиабилетов;
Управление процессом в режиме реального времени: системы управления самолетом, промышленные системы управления. Параллельные вычисления: научные вычисления, включая кластерные вычисления и ГРИД-вычисления, а также различные проекты на добровольных компьютерах (см. список проектов распределенных вычислений), распределенный рендеринг в компьютерной графике.
Когда распределенная система имеет явно выраженный центр управления и периферийные и промежуточные узлы, то такую систему называют сетецентрической [15]. В случае, если распределенная система имеет на узлах датчики и исполнительные устройства, она становится системой и технологией интернета-вещей [16]. Если распределенная система имеет на узлах дополнительно вычислительные ресурсы и возможность оптимизации, она является кибер-физиче-ской системой [17]. Если распределенная система имеет на узлах датчики и исполнительные устройства и право принятия решений независимо от центра, то в этом случае она является субсидиарной системой [18-23]. Разнообразие распределенных систем повышает актуальность их системного анализа. Сложность распределенных систем во многих случаях требует отдельного системного анализа технологий управления [24] их интеллектуального управления [8].
Системный анализ распределенной информационной системы
Системный анализ распределенной информационной системы включает анализ структуры и анализ процессов. Специалисты по системному анализу часто призваны анализировать системы, которые выросли случайно, чтобы определить текущие компоненты системы. Это было продемонстрировано в ходе работы по реинжинирингу в 2000 году, когда деловые и производственные процессы были рассмотрены в рамках модернизации автоматизации 2000 года. Занятость, использующая системный анализ, включает системного аналитика, бизнес-аналитика, технолога, системного архитектора, корпоративного архитектора, архитектора программного обеспечения и т. д.
Разработка распределенной информационной системы включает этап системного анализа структуры [25]. Это помогает создать модель данных, предшествующую созданию или расширению базы данных, которая является обязательным атрибутом информационной системы. Существует несколько разных подходов к системному анализу структуры. Когда компьютерная информационная система разрабатывается, системный анализ в соответствии с каскадной моделью будет состоять из следующих этапов:
Разработка технико-экономического обоснования: определение, является ли проект экономически, социально, технологически и организационно осуществимым. Меры по установлению фактов, предназначенные для выяснения требований конечных пользователей системы (как правило, включающие интервью, вопросники или визуальные наблюдения за работой в существующей системе).
Определение того, как конечные пользователи будут управлять системой (с точки зрения общего опыта использования компьютерного оборудования или программного обеспечения), для чего будет использоваться система и т. д. Варианты использования - это широко
используемые инструменты моделирования системного анализа для определения и выражения функциональных требований системы. Каждый вариант использования представляет собой бизнес-сценарий или событие, для которого система должна предоставить определенный ответ. Варианты использования, разработанные на основе объектно-ориентированного анализа
Различные аппаратные и программные архитектуры используются для распределенных вычислений. На более низком уровне необходимо соединить несколько процессоров с какой-либо сетью, независимо от того, напечатана ли эта сеть на печатной плате или состоит из слабо связанных устройств и кабелей. На более высоком уровне необходимо связать процессы, запущенные на этих процессорах, с какой-либо системой связи [26].
Распределенное программирование обычно относится к одной из нескольких базовых архитектур: клиент-серверная, трехуровневая, n- уровневая или одноранговая; или категории: слабая связь или жесткая связь [27]. Клиент-сервер: архитектура, в которой умные клиенты связываются с сервером для получения данных, затем форматируют и отображают их пользователям. Ввод на клиенте фиксируется обратно на сервер, когда он представляет постоянное изменение.
Трехуровневая: архитектура, которая перемещает клиентский интеллект на средний уровень, так что клиенты без состояния могут использоваться. Это упрощает развертывание приложения. Большинство веб-приложений являются трехуровневыми.
n -tier: архитектуры, которые обычно относятся к веб-приложениям, которые направляют свои запросы другим корпоративным службам. Этот тип приложений является наиболее ответственным за успех серверов приложений.
Peer-to-Peer: архитектуры, в которых нет специальных машин, предоставляющих услуги или управляющих сетевыми ресурсами [28, 227]. Вместо этого все обязанности равномерно распределены между всеми машинами, известными как сверстники. Пиры могут служить как клиентами, так и серверами [29].
Другим базовым аспектом архитектуры распределенных вычислений является метод связи и координации работы между параллельными процессами. Посредством различных протоколов передачи сообщений процессы могут связываться друг с другом напрямую, как правило, в отношениях «главный/подчиненный». Альтернативно, архитектура, ориентированная на базу данных, позволяет распределенным вычислениям работать без какой-либо формы прямого межпроцессного взаимодействия, используя общую базу данных [30]. Другое описание имеет системный анализ к процессам РС. Этот подход разбивает системный анализ на 5 этапов:
- Определение содержания: четко определенные цели и требования, необходимые для удовлетворения требований проекта, определенных его заинтересованными сторонами;
- Анализ проблем: процесс понимания проблем и потребностей и поиска решений, которые их встречают;
- Анализ требований: определение условий, которые должны быть выполнены;
- Логический дизайн: глядя на логические отношения между объектами;
- Анализ решений: принятие окончательного решения.
Компьютерная программа, которая выполняется в распределенной системе, называется распределенной программой (а распределенное программирование - это процесс написания таких программ) [12]. Существует много различных типов реализаций для механизма передачи сообщений, включая чистый HTTP, RPC-подобные соединители и очереди сообщений [13]. На рисунке 1 показана параллельная система, в которой каждый процессор имеет прямой доступ к
Процессор Процессор Процессор
Память
Рис.1. Параллельные вычисления
общей памяти.
В параллельных вычислениях все процессоры могут иметь доступ к общей памяти для обмена информацией между процессорами. На рисунке 2 показана распределенная система: каждый компьютер имеет свою собственную локальную память, и обмен информацией можно осуществлять только путем передачи сообщений от одного узла к другому с использованием доступных каналов связи.
В распределенных вычислениях каждый процессор имеет собственную частную память (распределенную память). Обмен информацией осуществляется путем передачи сообщений между процессорами.
Заключение
В настоящее время теория и технология распределенных систем находится в состоянии развития. Это обусловлено многообразием анализа и видов распределенных систем. Необходимо анализировать их структуру, потоки, логистику, а для вычислительных систем еще и алгоритмы. Ситуация дополнительно осложняется традиционным использованием терминов параллельный и распределенный алгоритм, которые не совсем соответствуют определениям параллельных и распределенных систем. Это обусловлено различием между технологическими и техническими системами Тем не менее, как правило, для высокопроизводительных параллельных вычислений в многопроцессорном процессоре с общей памятью используются параллельные алгоритмы, в то время как для координации крупномасштабной распределенной системы используются распределенные алгоритмы [31]. Причины использования распределенных систем и распределенных вычислений требуют проведения системного анализа структур таких систем, потоков в системах и алгоритмов обработки информации. Приложения распределенных систем могут использовать сеть связи, которая соединяет несколько компьютеров: например, данные, полученные в одном физическом месте и необходимые в другом месте. Есть много случаев, когда использование одного компьютера в принципе возможно, но использование распределенной системы выгодно по практическим соображениям. Например, может быть более экономически эффективным достижение желаемого уровня производительности с использованием кластера из нескольких низкоуровневых компьютеров по сравнению с одним высокопроизводительным компьютером. Распределенная система может обеспечить большую надежность, чем нераспределенная система, поскольку нет единой точки отказа. Более того, распределенную систему легче расширять и управлять, чем монолитную однопроцессорную систему [32]. Подводя итог рассмотрения распределенных систем можно констатировать их существенное разнообразие и многоаспектность. Решение задачи обеспечения надежной работы таких систем возможно только с применением системного анализа. Системный анализ является объективной необходимостью организации работы любых сложных систем, включая распределенные системы. Сложность современных распределенных систем сближает их с проблемой «больших данных». Поэтому по аналогии с теорией больших данных целесообразно разработка общего критерия «ценность», который характеризовал бы интегральную характеристику распределенных систем.
Литература
1. Тихонов А.Н., Цветков В.Я. Методы и системы поддержки принятия решений. - М.: Макс Пресс, 2001. 312 с.
2. Кудж С.А. Системный подход // Славянский форум. 2014. № 1(5). С. 252-257.
3. Розенберг И.Н. Сложность и комплементарность // Перспективы науки и образования. 2016. № 5. С. 7-10.
4. Sterman J. Business dynamics: System thinking and modelling for a Complex World -McGraw Hill, 2000
5. Рукин Б.П., Свиридова Л.В. Анализ стоимости чистых активов как инструмент управления устойчивостью организаций // Экономический анализ: теория и практика. 2010. № 5. С. 2-6.
6. Шипов А.А. Исследование и разработка семантических методов анализа распределенных программ. Дис. к.т.н. 01.13.11. - М.: МТУ (МИРЭА), 2016. 140 с.
7. Перепелкин Д.А. Математическое и программное обеспечение адаптивной маршрутизации и балансировки потоков данных в программно-конфигурируемых сетях с обеспечением качества сетевых сервисов / Дис. д.т.н. специальность: 05.13.11. - Рязань: РГРУ, 2018. 443 с.
8. Цветков В.Я. Распределенное интеллектуальное управление // Государственный советник. 2017. № 1. С. 16-22.
9. Цветков В.Я. Логистика информационных распределенных систем // Перспективы
науки и образования. 2016. № 4. С. 18-22.
10. Цветков В.Я. Логистика информационных потоков в распределенных системах // Наука и технологии железных дорог. 2017. № 1(1). С. 34-44.
11. Бутковский А.Г. Структурная теория распределенных систем. - М.: Наука, 1977.
12. Tanenbaum Andrew S.; Steen Maarten van (2002). Distributed systems: principles and paradigms. Upper Saddle River, NJ: Pearson Prentice Hall. ISBN 0-13-088893-1
13. Magnoni L. (2015). "Modern Messaging for Distributed Sytems" // Journal of Physics: Conference Series. 608 (1): 012038. doi: 10.1088/1742-6596/608/1/012038. ISSN 1742-6596
14. Цветков В.Я. Сырцов П. Г. Реализация IP-телефонии в территориально-распределенной компании // Перспективы науки и образования. 2015. № 3. С. 40-47.
15. Кудж С.А. Принципы сетецентрического управления в информационной экономике // Государственный советник. 2013. № 4. С. 30-33.
16. Архипов В.В. и др. Открытая концепция регулирования Интернета вещей // Информационное право. 2016. № 2. С. 18-25.
17. Lee E.A. Cyber physical systems: Design challenges // 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC). - IEEE, 2008. P.363-369.
18. Цветков В.Я. Применение принципа субсидиарности в информационной экономике // Финансовый бизнес. 2012. № 6. C. 40-43.
19. Козлов А.В. Принципы субсидиарности // Славянский форум. 2018. № 2(20). С. 28-35.
20. Козлов А.В. Кластеризация и субсидиарность // Славянский форум. 2018. № 3(21). С. 87-92.
21. Козлов А.В. Субсидиарность в дополнительном образовании // Современное дополнительное профессиональное педагогическое образование. 2018. № 4. С. 20-33.
22. Логинова А.С. Оценка применимости субсидиарного управления // Актуальные проблемы современной науки. 2015. № 3. С. 297-301.
23. Козлов А.В. Субсидиарные системы и технологии. - Saarbruken. : Palmarium Academic Publising, 2019. 125 р. ISBN 978-3-659-89076-5
24. Розенберг И.Н., Цветков В.Я. Управление в распределенных системах // Наука и технологии железных дорог. 2018. № 3(7). С. 3-16.
25. Монахов С.В., Савиных В.П., Цветков В.Я. Методология анализа и проектирования сложных информационных систем. - М.: Просвещение, 2005. 264 с.
26. Ohlidal, M.; Jaros, J.; Schwarz, J.; et al. (2006). "Evolutionary Design of OAB and AAB Communication Schedules for Interconnection Networks". In Rothlauf, F.; Branke, J.; Cagnoni, S. Applications of Evolutionary Computing. Springer Science & Business Media. pp. 267-78. ISBN 9783540332374
27. Real Time And Distributed Computing Systems" (PDF). ISSN 2278-0661.
28. Vigna P, Casey MJ. The Age of Cryptocurrency: How Bitcoin and the Blockchain Are Challenging the Global Economic Order St. Martin's Press January 27, 2015 ISBN 9781250065636
29. Hieu., Vu, Quang (2010). Peer-to-peer computing: principles and applications. Lupu, Mihai., Ooi, Beng Chin, 1961-. Heidelberg: Springer. p.
16. ISBN 978364203513530. Lind P, Alm M (2006), "A database-centric virtual chemistry system", J Chem Inf Model, 46 (3): 1034-9, doi : 10.1021/ci050360b , PMID 16711722
31. Bentaleb, A.; Yifan, L.; Xin, J.; et al. (2016). "Parallel and Distributed Algorithms" (PDF). National University of Singapore. Retrieved 20 July 2018
32. Elmasri, Ramez; Navathe, Shamkant B. (2000), Fundamentals of Database Systems (3rd ed.), Addison-Wesley, ISBN 978-0-201-54263-9
Сведения об авторе
Александр Вячеславович Козлов
Заместитель директора
РТУ МИРЭА
Россия, Москва
Эл. почта: [email protected]
Information about author
Alexander Vyacheslavovich Kozlov
Deputy Director
RTU MIREA
Russia, Moscow
Е-mail: [email protected]