Что такое Мета-компьютинг?

(краткий обзор технологий организации распределенных вычислений в Интернет)

Что такое мета-компьютинг? Этот термин возник вместе с развитием высокоскоростной сетевой инфраструктуры в начале 90-х годов и относился к объединению нескольких разнородных вычислительных ресурсов в локальной сети организации для решения одной задачи. Основная цель построения мета-компьютера в то время заключалась в оптимальном распределении частей работы по вычислительным системам различной архитектуры и различной мощности. Например, предварительная обработка данных и генерация сеток для счета могли производится на пользовательской рабочей станции, основное моделирование на векторно-конвейерном суперкомпьютере, решение больших систем линейных уравнений - на массивно-паралллельной системе, а визуализация результатов - на специальной графической станции.

В дальнейшем, исследования в области технологий мета-компьютинга были развиты в сторону однородного доступа к вычислительным ресурсам большого числа (вплоть до нескольких тысяч) компьютеров в локальной или глобальной сети. Компонентами "мета-компьютера" могут быть как простейшие ПК, так и мощные массивно-параллельные системы. Что важно, мета-компьютер может не иметь постоянной конфигурации - отдельные компоненты могут включаться в его конфигурацию или отключаться от нее; при этом технологии мета-компьютинга обеспечивают непрерывное функционирование системы в целом. Современные исследовательские проекты в этой области направлены на обеспечение прозрачного доступа пользователей через Интернет к необходимым распределенным вычислительным ресурсам, а также прозрачного подключения простаивающих вычислительных систем к мета-компьютерам.

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

Далее на данной странице будут вкратце описаны и приведены ссылки на основные исследовательские проекты в области мета-компьютинга, разработанные программные технологии, конкретные примеры мета-компьютеров.


Наиболее известные проекты по мета-компьютингу и распределенным вычислениям в Интернет


"Distributed.net"

http://www.distributed.net/.

Одно из самых больших объединений пользователей Интернет, предоставляющих свои компьютеры для решения крупных переборных задач. Основные проекты связаны с задачами взлома шифров (RSA Challenges). В частности, 19 января 1999 года была решена предложенная RSA Data Security задача расшифровки фразы, закодированной с помощью шифра DES-III. В настоящее время в distributed.net идет работа по расшифровке фразы, закодированной с 64-битным ключом (RC5-64). С момента начала проекта в нем зарегистрировались 191 тыс. человек. Достигнута скорость перебора, равная 75 млрд. ключей в секунду (всего требуется проверить 264 ключей). За решение этой задачи RSA предлагает приз в $10 тыс.


GIMPS - Great Internet Mersenne Prime Search

http://www.mersenne.org/

Поиск простых чисел Мерсенна (т.е. простых чисел вида 2P-1). С начала проекта было найдено 4 таких простых числа. Организация Electronic Frontier Foundation предлагает приз в $100 тыс. за нахождение простого числа Мерсенна с числом цифр 10 млн.


SETI@home

http://setiathome.ssl.berkeley.edu

Проект SETI@home (Search for Extraterrestrial Intelligence) - поиск внеземных цивилизаций с помощью распределенной обработки данных, поступающих с радиотелескопа. Присоединится может любой желающий. Доступны клиентские программы для Windows, Mac, UNIX, OS/2 (клиент Windows срабатывает в качестве screen-saver'а). Для участия в проекте зарегистрировались около 920 тыс. человек.


TERRA ONE

Коммерческий проект TERRA ONE компании Cerentis ставит своей целью объединение множества персональных компьютеров, подключенных (или периодически подключаемых) к Интернет, для решения задач анализа информации, предоставляемой различными заказчиками. Клиентские компьютеры (TerraProcessor), подключенные к TERRA ONE, используются во время простаивания с помощью screen-saver'а. За обработку информации владельцы ПК получают возможность покупки в Интернет-магазинах - им начисляются "кредиты" (TerraPoints) за каждую единицу обработанной информации.

В качестве клиентских платформ в настоящее время поддерживаются Windows 95/98/NT и Macintosh c PowerPC.

Другие коммерческие системы метакомпьютинга:


Globus

http://www.globus.org.

Разработка ПО для организации распределенных вычислений в Интернет. Проект реализуется в Argonne National Lab. Цель The Globus Project - построение т.н. "computational grids", включающих в себя вычислительные системы, системы визуализации, экспериментальные установки. В рамках проекта проводятся исследовании по построению распределенных алгоритмов, обеспечению безопасности и отказоустойчивости мета-компьютеров.

В рамках проекта Globus разработан ряд программных средств:

  • Globus Resource Allocation Manager - единообразный интерфейс к различным "локальным" системам распределения нагрузки (LSF, NQE, LoadLeveler) Для описания требований приложения к ресурсам разработан специальный язык RSL (Resource Specification Language)
  • Globus Security Infrastructure - система аутентификации на базе открытого ключа и X.09-сертификатов
  • Metacomputing Directory Service (MDS) - репозиторий информации о вычислительных ресурсах, входящих в метакомпьютер
  • Nexus - коммуникационная библиотека
  • Heartbeat Monitor (HBM) - средство мониторинга, позволяющее определить сбой некоторых машин и процессов, входящих в метакомпьютер
  • Globus Access to Secondary Storage (GASS) - средство доступа к удаленным данным через URL

Программное обеспечение Globus 1.0.0 доступно бесплатно. Доступна также реализация MPI (MPICH-G) поверх Globus.

Для тестирования Globus был создан реальный метакомпьютер GUSTO (testbed environment), который включает около 40 компонент с суммарной пиковой производительностью 2.5 TFLOPS.


The Metacomputing Project

Совместный проект Oak Ridge National Labs, Sandia National Labs и Pittsburgh Supercomputer Center В рамках данного проекта объединены 4 системы: три суперкомпьютера Intel XP/S 150 Paragon и суперкомпьютер T3D в PSC. Коммуникации обеспечиваются с помощью PVM. Для связи используются высокоскоростные сети ESNet и vBNS и протоколы ATM/AAL5.


Legion

http://legion.virginia.edu/

Проект Legion: A Worldwide Virtual Computer университета Вирджинии. Цель - разработка объектно-ориентированного ПО для построения виртуальных мета-компьютеров, включающих до нескольких миллионов индивидуальных хостов, объединенных высокоскоростными сетями. Пользователь, работающий на своем домашнем компьютере, должен иметь абсолютно прозрачный доступ ко всем ресурсам мета-компьютера.

В рамках Legion возможно исполнение параллельных приложений - поддерживаются библиотеки MPI и PVM, а также язык Mentat. Программное обеспечение проекта доступно бесплатно (поддерживаются платформы SGI IRIX, Linux, Alpha/OSF1, RS/6000).


PACX-MPI

http://www.hlrs.de/structure/organisation/par/projects/pacx-mpi/.

Расширение MPI для поддержки распределенных вычислений. Поддерживается объединение в единый мета-компьютер нескольких MPP-систем, возможно с различными реализациями MPI. Передача данных между MPP производится через Интернет с помощью TCP/IP. В настоящее время в рамках PACX-MPI реализовано подмножество стандарта MPI 1.2.

На конференции SC'98 продемонстрировано совместное использование двух 512-процессорных суперкомпьютеров Cray T3E, находящихся в университете Штутгарта (Германия) и в PSC (Питтсбург, США). Для объединения компьютеров использовалась библиотека PACX-MPI.


Condor

http://www.cs.wisc.edu/condor/

Система Condor разрабатывается в университете шт. Висконсин (Madison). Condor распределяет независимые подзадачи по существующей в организации сети рабочих станций, заставляя компьютеры работать в свободное время (то есть в то время, когда они простаивали бы без своих пользователей). Программное обеспечение системы Condor доступно бесплатно. В настоящее время поддерживаются платформы SGI, Solaris, Linux, HP-UX, и Digital Unix, однако планируется также поддержка Windows NT.


Различные ссылки и другие проекты


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100