История параллельных и распределенных вычислений

История параллельных и распределенных вычислений

Необходимость разделять вычислительные задачи и выполнять их одновременно (параллельно) возникла задолго до появления первых вычислительных машин.

В конце XVIII века во Франции под руководством Гаспара де Прони была начата работа по уточнению логарифмических и тригонометрических таблиц в связи с переходом на метрическую систему[1]. Для ее выполнения был необходим огромный по тем временам объем вычислений. Исполнители проекта были разбиты на три уровня:

  • квалифицированные специалисты-вычислители, от которых требовалась аккуратность при проведении вычислений;
  • организаторы распределения заданий и обработки полученных результатов;
  • организаторы подготовки математического обеспечения и обобщения полученных результатов (высший уровень, в состав которого входили Адриен Лежандр и Лазар Карно).

Работа не была завершена из-за революционных событий 1799 года, однако идеи де Прони подтолкнули Чарльза Бэббиджа к созданию аналитической машины.

Решение для модели атомной бомбы в США было получено коллективом учёных, которые пользовались вычислительными машинами.

В 1973 году Джон Шох и Джон Хапп из калифорнийского научно-исследовательского центра Xerox PARC написали программу, которая по ночам запускалась в локальную сеть PARC и заставляла работающие компьютеры выполнять вычисления [2].

В 1978 году советский математик В. М. Глушков работал над проблемой макроконвейерных, распределенных вычислений. Он предложил ряд принципов распределения работы между процессорамиСловарь по кибернетике / Под редакцией академика В. С. Михалевича. — 2-е. — Киев: Главная редакция Украинской Советской Энциклопедии имени М. П. Бажана, 1989. — С. 320. — 751 с. — (С48). — 50 000 экз. — ISBN 5-88500-008-5. На базе этих принципов им была разработана ЭВМ ЕС-2701.

В 1988 году Арьен Ленстра и Марк Менес написали программу для факторизации длинных чисел. Для ускорения процесса программа могла запускаться на нескольких машинах, каждая из которых обрабатывала свой небольшой фрагмент. Новые блоки заданий рассылались на компьютеры участников с центрального сервера проекта по электронной почте. Для успешного разложения на множители числа длиной в сто знаков этому сообществу потребовалось два года и несколько сотен персональных компьютеров [2].

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

В январе 1996 года стартовал проект GIMPS по поиску простых чисел Мерсенна, используя компьютеры простых пользователей как добровольную вычислительная сеть.

28 января 1997 года стартовал конкурс RSA Data Security на решение задачи взлома методом простого перебора 56-битного ключа шифрования информации RC5. Благодаря хорошей технической и организационной подготовке проект, организованный некоммерческим сообществом distributed.net, быстро получил широкую известность [2].

17 мая 1999 года на базе платформы BOINC запущен проект SETI@home, занимающийся поиском внеземного разума путём анализа данных с радиотелескопов, используя добровольную вычислительная сеть на базе Grid.

Такие проекты распределённых вычислений в интернете, как SETI@Home и Folding@Home обладает не меньшей вычислительной мощностью, чем самые современные суперкомпьютеры. Интегральная производительность проектов на платформе BOINC по данным на 16 мая 2010 года составляет 5,2 петафлопс[3]. Для сравнения, пиковая производительность самого мощного суперкомпьютера («K computer», Япония) — 8,16 петафлопс[4]. До середины 2011 года самым мощным суперкомпьютером являлся Тяньхэ-1А с производительностью «всего» 2,57 петафлопс[5]. Проект отмечен в Книге рекордов Гиннеса как самое большое вычисление[6].

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

Примечания


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "История параллельных и распределенных вычислений" в других словарях:

  • История вычислительной техники — История науки …   Википедия

  • Добровольные вычисления — Участие в проекте добровольных вычислений с помощью клиента BOINC …   Википедия

  • Распределённые вычисления — Не следует путать с Добровольные вычисления. См. также: Параллельные вычисления Распределённые вычисления способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, чаще всего объединённых в параллельную… …   Википедия

  • Распределенные вычисления — Распределённые вычисления (distributed computing, grid computing, volunteer computing) способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров, объединённых в сеть. Распределённые вычисления являются частным… …   Википедия

  • Распределительные вычисления — Распределённые вычисления (distributed computing, grid computing, volunteer computing) способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров, объединённых в сеть. Распределённые вычисления являются частным… …   Википедия

  • Институт автоматики и вычислительной техники МЭИ — Институт автоматики и вычислительной техники Московского энергетического института (технического университета) …   Википедия

  • Gerasim@Home — Платформа BOINC Объём загружаемого ПО 2 МБ Объём загружаемых данных задания 1 КБ Объём отправляемых данных задания 150 КБ Объём места на диске 2 МБ Используемый объём памяти 10 МБ Графический интерфейс нет Среднее время расчёта задания д …   Википедия

  • Джулия (язык программирования) — У этого термина существуют и другие значения, см. Джулия. Джулия Класс языка: процедурный Тип исполнения: компилируемый (JIT) Появился в: 2009 Автор(ы): Стефан Карпински, Джефф Безансон, Вирал Шах …   Википедия

  • Oracle Database — У этого термина существуют и другие значения, см. Oracle (значения). Oracle Database Тип …   Википедия

  • Ада (язык программирования) — У этого термина существуют и другие значения, см. Ада. Ада Семантика: мультипарадигменный: конкурентное, обобщённое, императивное, объектно ориентированное, распределённое программирование Тип исполнения: компилируемый Появился в: 1980 …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»