Файл: Системы распределенных вычислений (Технологии Больших данных «BigData»).pdf

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 07.07.2023

Просмотров: 172

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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