Распределённые вычисления
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Введение
Когда обычный современный пользователь, инженер или даже
программист сталкивается с вычислениями, то выполнение этих вычислений
он представляет себе как обращение к некоторому конечному устройству,
которое их может выполнить. На данный момент к таким устройствами
относят: калькулятор, смартфон, планшет, ноутбук, настольный компьютер,
сетевой сервер. Это не удивительно. Современные компактные устройства
имеют достаточную вычислительную мощность, чтобы решать большинство
насущных задач. Но есть иные вычислительные задачи и иные средства их
реализации.
По мере развития научной и инженерной мысли, масштаб задач
постоянно увеличивается, а сфера применения вычислений расширяется.
Чтобы решить достаточно большую задачу, вычислительной мощности
компактных устройств всё время не хватает. Поэтому были выработаны два
подхода: первый – создание вычислительных устройств повышенной
вычислительной мощности, второй – объединение уже имеющихся устройств
в некоторый вычислительный комплекс, для совместной работы над общей
задачей.
Первый подход подразумевает разработку нового мощного
вычислительного устройства. Обычно такое устройство имеет больший
размер корпуса чем обычное, больше потребляет электроэнергии, требует
более сложного программного обеспечения и в итоге является довольно
дорогим, как в производстве, так и в эксплуатации. Чтобы создать устройство
повышенной вычислительной мощности, применяют следующие подходы:
1. Использование
дорогих
высокопроизводительных
микропроцессоров с высокой степенью параллелизма, как на уровне
команд, так и на уровне устройств обработки данных;
2. Интеграцию в устройство большего, чем обычно, количества
процессорных ядер и самих микропроцессоров;
3. Попытки успешного решения двух противоречащих друг другу
задач: увеличение ёмкости памяти и использование более
быстродействующей памяти;
4. Интеграцию
в
устройство
вычислительных
ускорителейсопроцессоров.
5. Использование более производительных внутренних коммуникаций;
6. Подбор внутренних всех компонентов устройства, а также
выработка структуры и алгоритмов функционирования устройства,
наиболее подходящих для быстрого решения вполне конкретного
(иногда очень узкого) класса вычислительных задач. То есть тех
задач, для решения которых и предназначено данное устройство;
7. Разработка эффективного специализированного программного
обеспечения.
К таким мощным устройствам относят: высокопроизводительные
рабочие станции и серверы, мэнфреймы, суперкомпьютеры. Все эти
устройства можно определить как сосредоточенные вычислительные
системы, в литературе часто называемые многопроцессорными
(мультипроцессорными) системами.
Второй
подход
подразумевает
использование
набора
уже
существующих вычислительных устройств в едином комплексе. В этом
случае берут некоторое количество готовых вычислительных устройств,
которые
соединяют
друг
с
другом
посредством
некоторой
коммуникационной среды. Коммуникационной средой в частности могут
служить проводные или беспроводные локальные, корпоративные или
глобальные сети. Чтобы собранный из частей комплекс превратился в
единый вычислительный ресурс, разрабатывается специальное программное
обеспечение, которое целиком или по частям устанавливается на устройства
комплекса и после конфигурирования начинает работать как единый
распределённый программный комплекс. Именно функционирование такого
программного комплекса, позволяет совокупности отдельных устройств,
объединённых единой коммуникационной средой, функционировать как
единый вычислительный ресурс. Такие ресурсы называют многомашинными
вычислительными системами.
Чтобы создать комплекс повышенной вычислительной мощности,
надо:
1. Определиться с классом задач, которые будет решать этот комплекс
вычислительных устройств и на основе этого определить его состав,
т.е. функциональное назначение и количество вычислительных
устройств;
2. Сформировать набор конкретных вычислительных устройств;
3. Определиться с географическим расположением вычислительных
устройств. Если все устройства располагают в одном месте,
максимально близко друг к другу, то говорят о территориально
(географически) сосредоточенных многомашинных вычислительных
системах. Если нет возможности сосредоточить все устройства в
одном месте, или целесообразно это не делать, то о таких системах
говорят как о территориально (географически) распределённых
многомашинных вычислительных системах;
4. Выбрать, создать или приобрести коммуникационную среду. Можно
выбрать уже имеющуюся среду, например: локальную;
корпоративную или глобальную (в том числе и Интернет) сеть, или
можно её специально создать (приобрести);
5. Сконфигурировать и настроить коммуникационную среду для её
эффективного функционирования в рамкам многомашинной
вычислительной системы;
6. Разработать или приобрести системное программное обеспечение,
позволяющее комплексу отдельных вычислительных устройств
функционировать как единый вычислительный ресурс;
7. Создать прикладное программное обеспечение, для решения
прикладных вычислительных задач на этой системе.
Создание единого вычислительного ресурса на основе набора
самостоятельных законченных вычислительных устройств, путём установки
специального программного обеспечения – называется метакомпьютингом.
Грубо говоря, метакомпьютер – это компьютер поверх (состоящий из) других
компьютеров.
Территориально (географически) сосредоточенные многомашинные
вычислительные системы могут быть построены, как с одним только
программным управлением (метакомпьютеры), так и с дополнительным
аппаратным управлением. К географически не распределённым системам
относятся кластерные вычислительные системы или кластеры.
Территориально распределённые многомашинные вычислительные
системы на сегодняшний день строятся во многом по метакомпьютерному
принципу. Такие распределённые системы могут иметь в процессе работы
или фиксированный состав вычислительных устройств, или переменный. Во
втором случае говорят о распределённых вычислительных системах Gridтипа (концепция Grid).
Распределённые вычислительные системы с фиксированным составом
устройств часто используются отдельными организациями (корпорациями)
или группами организаций по соглашению для решения какого-то
определённого класса конкретных задач. При этом, за каждой частью такой
системы закрепляются свои, вполне определённые функции в конкретной
части географического пространства.
Распределённые вычислительные системы с переменным составом
устройств и отвечающие концепции Grid обладают следующими свойствами:
1. система обладает огромными (в теории неограниченными)
ресурсами. Теоретически можно использовать любые доступные в
мире вычислительные устройства в реальном времени;
2. система является географически распределённой по своей природе;
3. система может динамически, в любой момент времени менять свою
конфигурацию. Это касается как состава вычислительных
устройств,
так
и
состава,
конфигурации
и
свойств
коммуникационной среды;
4. система неоднородна (почти по всем параметрам). В состав тех же
вычислительных устройств могут одновременно входить: серверы,
настольные компьютеры, ноутбуки, суперкомпьютеры, планшеты и
пр.. На устройствах может быть установлено разное системное
программное обеспечение. В коммуникационной среде могут
использоваться сети разных технологий;
5. система объединяет ресурсы различных организаций. Требуется
особая система протоколов и соглашений между организациями, для
коллективного
целостного
администрирования
такой
вычислительной системы.
В курсе «Распределённые вычисления» рассматриваются вопросы
организации, использования и программирования распределённых
вычислительных систем.