Файл: Системы распределенных вычислений (Технологии Больших данных «BigData»).pdf
Добавлен: 07.07.2023
Просмотров: 172
Скачиваний: 4
СОДЕРЖАНИЕ
1 Основные понятия, связанные с системами распределенных вычислений
1.1 Описание современных высокопроизводительных вычислительных систем
1.2 Промежуточное программное обеспечение
2. Системы распределенных вычислений.
2.1 Понятие асимметричного доступа по технологии ADSL
1 Основные понятия, связанные с системами распределенных вычислений
1.1 Описание современных высокопроизводительных вычислительных систем
Процесс создания и развития многопроцессорных вычислительных систем до современного уровня продиктован необходимостью решения сложных прикладных задач по обработке большого объема вычислений. Это задачи из самых разных областей - не только математики и физики, но и разных наук. Имитационное моделирование распределенных информационных систем по управлениям также является объемной.
В настоящее время развитие высокопроизводительной вычислительной техники идет по четырем направлениям, которые состоят из
- векторно-конвейерных компьютеров;
- массивно-параллельных компьютеров с распределенной памятью;
- параллельных компьютеров с общей памятью;
- последнего направления, которое является комбинацией трех предыдущих.
Основным параметром классификации параллельных компьютеров является наличие общей (SMP) или распределенной памяти (МРР). Нечто среднее между SMP и МРР представляют собой NUMA-архитектуры, где память физически распределена, но логически общедоступна. Все большую популярность приобретают идеи комбинирования различных архитектур в одной системе и построения неоднородных систем.
К основным классам современных систем распределенных вычислений с целью определения тех средств, которые наиболее подходят в качестве технической базы для решения задач имитационного моделирования РИСУ. Они состоят из:
- симметричных мультипроцессорных систем (SMP).
- массивно-параллельных систем МРР.
- систем, которые имеют неоднородный доступ к памяти (NUMA).
- кластерных систем.
- локальных вычислительных сетей.
Локальные вычислительные сети стали рассматриваться как дешевая альтернатива дорогим суперкомпьютерным установкам.
При всех достоинствах MPI, попытка обеспечения удобного сервиса для прикладного программиста не совсем благоприятно сказывается на характеристиках эффективного исполнения функций обмена сообщениями, не способствует уменьшению времени организации обмена сообщениями между процессами, что особенно важно для локальных сетей. Так как стандартные программные интерфейсы, как в стиле MPI, так и языковые в стиле стандарта HPF сами построены на базе эффективных низкоуровневых библиотек обмена сообщениями. Исходя из этого, в качестве основы для сложных распределенных систем обработки лучше использовать низкоуровневые взаимодействия в сети на уровне сокетов, не пугаясь сложности программирования на этом уровне. Здесь большее значение имеет то, насколько грамотно будет спроектирована сетевая программа, а расстановка процедур передачи и приема сообщений по уже определенным местам в программе не представляет задачи большой сложности. Можно воспользоваться и сервисом, предлагаемым Windows Sockets.
При таком разнообразии параллельных вычислительных систем, тем не менее, следует отметить, что до сих пор применение параллелизма не получило столь широкого распространения. Одной из причин подобной ситуации являлась до недавнего времени высокая стоимость высокопроизводительных систем. Современная тенденция построения параллельных вычислительных комплексов из типовых конструктивных элементов, массовый выпуск которых освоен промышленностью, снизила влияние этого фактора. Другая и, пожалуй, теперь основная причина сдерживания массового распространения параллелизма в том, что для проведения параллельных вычислений необходимо «параллельное» обобщение традиционной последовательной технологии решения задач на ЭВМ. Алгоритмы решения задач на многопроцессорных системах должны проектироваться, как системы параллельных и взаимодействующих между собой процессов, допускающих исполнение на независимых процессорах.
Таким образом, наиболее доступной технической платформой для решения проблемы вычислительных затрат в имитационном моделировании являются локальные вычислительные сети и кластерные системы.
Область распределенных вычислений представляет собой раздел теории вычислительных систем, изучающий теоретические вопросы организации распределенных систем. Распределенные вычисления иногда определяют в более узком смысле, как применение распределенных систем для решения трудоемких вычислительных задач. В таком контексте распределенные вычисления являются частным случаем параллельных вычислений, т. е. одновременного решения различных частей одной вычислительной задачи несколькими вычислительными устройствами.
Типичная распределенная система представлена на рис. 1.
Рисунок 1 – Внешний вид распределенной системы, где ЦП является центральным процессором, а ОП – оперативной (основой) памятью
1.2 Промежуточное программное обеспечение
Распределенная вычислительная система представляет собой программно-аппаратный комплекс, ориентированный на решение определенных задач. С одной стороны, каждый вычислительный узел является автономным элементом. С другой стороны, программная составляющая РВС должна обеспечивать пользователям видимость работы с единой вычислительной системой. В связи с этим выделяют следующие важные характеристики РВС:
- возможность работы с различными типами устройств:
- с различными поставщиками устройств;
- с различными операционными системами,
- с различными аппаратными платформами.
Вычислительные среды, состоящие из множества вычислительных систем на базе разных программно-аппаратных платформ, называются гетерогенными;
- возможность простого расширения и масштабирования;
перманентная (постоянная) доступность ресурсов (даже если некоторые элементы РВС могут находиться некоторое время вне доступа);
- сокрытие особенностей коммуникации от пользователей.
Для обеспечения работы гетерогенного оборудования РВС в виде единого целого, стек программного обеспечения (ПО) обычно разбивают на два слоя. На верхнем слое располагаются распределенные приложения, отвечающие за решение определенных прикладных задач средствами РВС. Их функциональные возможности базируются на нижнем слое – промежуточном программном обеспечении (ППО). ППО взаимодействует с системным ПО и сетевым уровнем, для обеспечения прозрачности работы приложений в РВС (рис. 2).
Для того чтобы РВС могла быть представлена пользователю как единая система, применяют следующие типы прозрачности в РВС:
- прозрачный доступ к ресурсам – от пользователей должна быть скрыта разница в представлении данных и в способах доступа к ресурсам РВС;
- прозрачное местоположение ресурсов – место физического расположения требуемого ресурса должно быть несущественно для пользователя;
- репликация – сокрытие от пользователя того, что в реальности существует более одной копии используемых ресурсов;
- параллельный доступ – возможность совместного (одновременного) использования одного и того же ресурса различными пользователями независимо друг от друга. При этом факт совместного использования ресурса должен оставаться скрытым от пользователя;
прозрачность отказов – отказ (отключение) каких-либо ресурсов РВС не должен оказывать влияния на работу пользователя и его приложения
ВС
Рисунок 2 – Внешний вид слоев ПО
2. Системы распределенных вычислений.
2.1 Понятие асимметричного доступа по технологии ADSL
QNX является сетевой операционной системой, которая позволяет организовать эффективные распределенные вычисления. Для этого на каждой машине, называемой узлом, помимо ядра и менеджера процессов должен быть запущен уже упомянутый ранее менеджер Net. Менеджер Net не зависит от аппаратной реализации сети. Эта аппаратная независимость обеспечивается за счет сетевых драйверов. В операционной системе QNX имеются драйверы для сетей с различными технологиями: Ethernet и FastEthernet, Arcnet, IBM Token Ring и др. Кроме того, имеется возможность организации сети через последовательный канал или модем.
Помимо сообщений и очередей в операционной системе QNX для взаимодействия задач и организации распределенных вычислений имеются так называемые порты, которые позволяют формировать сигнал одного конкретного условия и механизм исключений, о котором мы уже упоминали ранее.
QNX (2015) - это собственная Unix-подобная ОСРВ, ориентированная прежде всего на рынок встроенных систем. Уникальной особенностью QNX является то, что это система работает на основе микроядра. Ядро QNX содержит только планирование процессора, межпроцессорное взаимодействие, перенаправление прерываний и таймеры. Все остальные функции выполняются как пользовательские процессы вне микроядра. Основные характеристики QNX такие]:
- микроядро QNX поддерживает процессы;
- в QNX наименьшими исполнительными сущностями являются потоки;
- планирование потоков зависит от приоритета;
- В QNX IPC предназначен для передачи сообщений между процессами в разных адресных пространствах;
- наличие специального загрузчика и платформы.
Согласно последней документации QNX, QNX Neutrino поддерживает SMP и MP с аффинностью процессора, которая блокирует каждое приложение для конкретного процессора. Благодаря своей микроядерной архитектуре также должно быть проще адаптировать QNX к распределенной среде.
2.2 Применение CALS-технологий
Эффективное использование CALS-технологий на машиностроительных предприятиях в условиях необходимости выполнения сложных расчетов и обработки больших массивов информации стало возможным благодаря широкому распространению высокопроизводительных кластерных систем, появлению суперкомпьютеров.
Моделирование напряженно-деформированного состояния выполняли методом конечных элементов в среде программного пакета ANSYS LS-DYNA с помощью высокопроизводительного вычислительного кластера ВМ 5100 семейства суперкомпьютеров «СКИФ». Проанализировав результаты виртуальных испытаний исследуемых объектов, определили направления их дальнейшей конструкторско-технологической и материаловедческой оптимизации.
CALS (Continuous Acquisition and Life cycle Support) является непрерывная информационная поддержка ЖЦ изделия. Создано CALS военным ведомством в США в 80-х годах и является весьма эффективной и распространилась по всему миру. Концепция CALS представлена на рис.3 и основывается на применении принципов и технологий информационной поддержки на всех стадиях ЖЦ изделия или готовой продукции.
Рисунок 3 – Схема концепции CALS
CALS-технологией управления данными об изделиях является PDM. Функциональное описание этой технологии выполняется в виде системы PDMS. Термин PDM используется только тогда, когда система PDM предназначена исключительно и явно.
Исследования показали, что поиск соответствующей информации может занимать от 30 до 70% проектной работы инженера. Поэтому, если бы инженеры могли работать с актуальными данными с самого начала, это, как правило, приводило бы к повышению качества продукции, поскольку можно было бы избежать ошибочных решений, вызванных устаревшими или отсутствующими данными. Для этого требуется поставка не только данных, относящихся к конкретным продуктам, но также косвенно связанных с продуктом информации (например, имена экспертов, которые могут внести вклад в решение проблем, связанных с выпуском, даже если они не участвуют непосредственно в процессе разработки).
На рис. 4 представлен базовый обзор принципиального дизайна систем PDM. По сути, существуют два функциональных модуля, которые делятся на кросс-приложения и связанные с приложениями. Они основаны на базе данных, которая содержит базу данных и систему управления базами данных (СУБД).
Рисунок 4 – Внешний вид схемы архитектуры системы PDM