Распределенные вычисления, Общие сведения о распределенных вычислениях - Повышение производительности работы библиотеки GridMD

Общие сведения о распределенных вычислениях

Обычно под Распределенными вычислениями понимают область знаний, изучающую организацию Распределенных систем И их применение для решения трудоемких вычислительных задач [1]. В различных источниках [1][2] авторы констатируют невозможность дать строгое определение термину распределенная система. Например, Эндрю Танненбаум определяет распределенную систему как набор независимых компьютеров, представляющихся пользователю как единая объединенная система [2] и подчеркивает, что характерные черты распределенных систем лучше существующих определений отражают их сущность. Распределенная система скрывает различие для пользователя между вычислительными ресурсами, входящими в ее состав, и предоставляет единообразный способ работы с собой независимо от места и времени взаимодействия с пользователем. Таким образом, любые изменения конфигурации частей распределенной системы, сбои вычислительных ресурсов, ее масштабирование остаются прозрачными для пользователя системы и не влияют на способ взаимодействия с ней.

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

Помимо названных, выделяют следующие характеристики распределенных систем [1] :

    - Отсутствие общей памяти. Распределенные системы строятся на вычислительных ресурсах, территориально удаленных друг от друга. Обычно каждый ресурс имеет отдельную от остальных память со своим адресным пространством, то есть распределенная система является Системой с распределенной памятью (строится на системах с массовым параллелизмом или кластерах). Это делает невозможным обмен между вычислительными процессами через разделяемые переменные и вводит необходимость Обмена сообщениям (MPI), неопределенность времени доставки которых определяет Отсутствие единого времени. - Независимость и гетерогенность. Вычислительные ресурсы, входящее в состав распределенной системы могут иметь различный состав, быть под управлением различных операционных систем и, следовательно, иметь различную производительность, что дает неопределенность времени выполнения задач. - Отсутствие единого времени. В распределенных системах каждый из процессов использует данные о времени, предоставляемые исполняющим ресурсом. Ввиду характерной для распределенной системы рассинхронизации часов ее компонентов, неопределенности времени выполнения отдельных задач и доставки сообщений между процессами, невозможно предсказать точность, с которой независимые процессы могут координировать свои действия.

К организации распределенной системы предъявляют следующие требования, обеспечивающие эффективность ее работы [1] [2] :

Прозрачность. Под прозрачностью распределенной системы понимается ее возможность выступать в виде единой централизованной вычислительной системы, скрывая распределение процессов по множеству вычислительных ресурсов. Наиболее важными являются следующие типы прозрачности:

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

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

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

    - Нагрузочная масштабируемость. Способность системы увеличивать свою производительность при добавлении в нее новых аппаратных средств или замены существующих на более мощные. - Географическая масштабируемость. Способность системы сохранять свои характеристики при территориальном разнесении ее компонентов. - Административная масштабируемость. При увеличении количества управляющих системой административных единиц система не теряет простоты своего управления.

Ниже будут рассмотрены концепции аппаратных решений, на которых строятся распределенные системы.

Похожие статьи




Распределенные вычисления, Общие сведения о распределенных вычислениях - Повышение производительности работы библиотеки GridMD

Предыдущая | Следующая