Имеется два основных пути повышения быстродействия ЭВМ:
На первом пути в настоящее время достигнуты времена задержки сигнала на один вентиль порядка десятых долей наносекунды – величин, соизмеримых с задержкой распространения сигналов в межэлементных соединениях. Т.е. на первом пути современная технология производства СБИС подходит к физическому пределу.
Второй путь является в настоящее время основным путем повышения быстродействия ЭВМ. Отметим два других важных направления совершенствования ЭВМ: уменьшение семантического разрыва между прикладным и системным программным обеспечением, с одной стороны, и архитектурой ЭВМ, с другой стороны; уменьшение разрыва между ЭВМ и пользователем (проблема интерфейса человек — ЭВМ).
В современном обществе параллельные вычислительные системы необходимы для решения следующих классов задач.
Задачи "большого вызова"(Grand Challenge), к которым относятся задачи глобального моделирования климата, предсказания погоды, мониторинга состояния воздушного и водного бассейнов Земли, моделирования экологических проблем, моделирование ядерных и прочих взрывов и т.п. Экспериментальное исследование подобных проблем либо не возможно, либо слишком дорого.
Задачи реального времени. В качестве примеров таких задач можно привести задачу обработка изображений в системе управления качеством стального прокатного листа во время его прокатки, задачу управление движением самолетов в воздушной зоне аэропорта.
Проектирование высоконадежных систем, например, бортовых авиационных систем, систем управления ядерными реакторами, биллинговых систем, банковских систем, систем, которые поддерживают электронную коммерцию.
Информационное обслуживание распределенных баз данных.
В крупные САПР для выполнения трудоемких процедур также включают параллельные высокопроизводительные ЭВМ. Примеры таких процедур:
Широкое разнообразие производимых в мире компьютеров можно (очень условно) разделить на четыре следующих класса:
  1. Персональные компьютеры (Personal Computer – PC). Это, как правило, однопроцессорные системы, работающие под управлением однопользовательских операционных систем.
  2. Рабочие станции (WorkStation – WS). Это, чаще всего, компьютеры, содержащие от одного до четырех RISC-процессоров, функционирующих под управлением многопользовательских операционных системам.
  3. Суперкомпьютеры (Supercomputer – SC). Формально суперЭВМ обычно определяют, задавая минимальный уровень ее производительности. Однако в связи с быстрым ростом производительностей ЭВМ такие определения быстро устаревают. Поэтому под суперЭВМ обычно понимают ЭВМ, которая имеет:
    • очень высокую производительность;
    • самую современную элементную базу;
    • специфические архитектурные решения, направленные на повышение быстродействия;
    • цену, превышающую ~1млн. долларов США (например, суперкомпьютер Сгау Т90 в зависимости от конфигурации имеет цену от ~2.5 до ~35 млн. долларов).
  4. Кластерные системы. Кластеры представляют собой дешевую альтернативу суперкомпьютерам. В этом случае система требуемой производительности собирается из готовых серийно выпускаемых компьютеров, объединенных опять же с помощью некоторого серийно выпускаемого коммуникационного оборудования.
Таким образом, многопроцессорность не является в настоящее время атрибутом суперкомпьютеров, но используется, по сути, во всем диапазоне производимых вычислительных систем.
Передовые страны мира уделяют развитию параллельных вычислений приоритетное внимание, считая это важнейшей государственной проблемой. Каждые полтора года происходит утраивание производительности суперкомпьютеров, среднее время жизни одного суперкомпьютера составляет всего четыре года.
В России развитию параллельных вычислений также придается большое значение. Работы над отечественными параллельными высокопроизводительными ЭВМ ведутся в нескольких организациях. Под управлением академика В.А.Мельникова была разработана векторная суперЭВМ "Электроника CC-100" с архитектурой, напоминающей Сгау-1. В ИТМиВТ РАН проводятся работы по созданию суперкомпьютера "Эльбрус-3", а также Модульного Конвейерного Процессора (МКП). Другим центром работ над отечественными суперкомпьютерами является НИЦЭВТ. Там ведутся работы над новым суперкомпьютером "АМУР". Ряд организаций во главе с ИПМ РАН ведут работы по системы МВС-1000. Во многих организациях, включая МГТУ им.Н.Э. Баумана, функционируют и развиваются высокопроизводительные кластеры.
Развитие многопроцессорных систем поставило перед IT-сообществом ряд проблем. Назовем основные из этих проблем:
  1. Сложность адаптации последовательных алгоритмов к параллельным системам. Большая часть хорошо зарекомендовавших себя последовательных алгоритмов не имеет эффективных параллельных аналогов. В этой связи очень большие научные силы на протяжении длительного времени концентрируются на синтезе параллельных алгоритмов.
  2. Проблема обеспечения равномерной загрузки процессоров в ходе решения задачи (проблема балансировки загрузки процессоров многопроцессорной системы). Не смотря на значительные усилия в этом направлении, средний коэффициент загрузки большинства высоко параллельных систем составляет около 10%.
  3. Проблема высокой сложности разработки и отладки параллельных программ. Для решения этой проблемы разработано большое количество инструментальных средств (коммуникационные библиотеки, отладчики, трассировщики, профилировщики и пр.). Однако и при наличии инструментальных средств, разработка и отладка параллельных программ остается сложной и дорогостоящей.
  4. Проблем хранения, обработки и визуализации больших объемов данных, которые неизбежно являются результатами решения сложных задач.
В целом, можно сказать, что сверхвысокопроизводительные многопроцессорные системы – это определенный вызов научному сообществу, вызов его способностям эффективно использовать предоставляемые этими системами гигантские возможности.
Литература.
  1. Афанасьев К.Е. и др. Многопроцессорные вычислительные системы и параллельное программирование. –Кемерово: Кузбассвузиздат, 2003.
  2. Богачев Н.Ю. Основы параллельного программирования. –М., "Бином", 2003.
  3. Буза М.К. Введение в архитектуру компьютеров: Учеб. пособие. Мн.:БГУ, 2000. 253 с.
  4. Букатов А.А., Дацюк В.Н., Жегуло А.И. Программирование многопроцессорных вычислительных систем. Ростов-на-Дону. Издательство ООО "ЦВВР", 2003, 208 с.
  5. Бэбб Р., Дж.Мак-Гроу Дж., Акселрод Т. и др. Программирование на параллельных вычислительных системах: Пер. с англ. /под ред. Р.Бэбба II. — М.:Мир, 1991, -376 с.
  6. Вальковский В.А., Малышкин В.Э. Элементы современного программирования и супер-ЭВМ.- Новосибирск, Наука, 1990.
  7. Воеводин В.В., Воеводин Вл.,В. Параллельные вычисления. Издательство БХВ-Петербург, 2002 год, 609 с.
  8. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем.-Нижний Новгород, Издательство Нижегородского государственного университета, 2003.
  9. Головашин Д. Л. Методы параллельных вычислений. Самара, Самарский государственный аэрокосмический университет, 2002 — 2003 (в двух частях)
  10. Головкин В.А. Вычислительные системы с большим количеством процессоров.-М., Радио и связь, 1995.-320 с.
  11. А.М.Горелик "Программирование на современном Фортране". Изд. "Финансы и статистика", 2006. Тел. отдела реализации Издательства: (495) 625-35-02
  12. Деменев А.Г. Параллельные вычислительные системы: основы программирования и компьютерного моделирования. –Пермь: ПГПУ, 2001.
  13. Дорошенко А.Е. Математические модели и методы организации высокопроизводительных вычислений, Киев: Наукова думка, 2000.
  14. Корнеев В.В. Параллельные вычислительные системы. –М., 1999.
  15. Крюков В.А. Операционные системы распределенных вычислительных систем (распределенные ОС).
  16. Кузюрин Н.Н., Фрумкин М.А. Параллельные вычисления: теория и алгоритмы // Программирование. 1991. N 2. С. 3–19.
  17. Ляхов В.Н., Подлубный В.В., Титаренко В.В. Воздействие ударных волн и струй на элементы конструкций..-М., Машиностроение, 1989.
  18. MPI: Стандарт интерфейса передачи сообщений. Перевод с англ. Шпаковского Г.И., Мн., 2001 г.
  19. Немнюгин С.А., Стесик О.Л.Параллельное программирование для многопроцессорных систем.- СПБ. БХВ Петербург, 2002.-400 с.
  20. В.Г.Олифер, Н.А.Олифер. Сетевые операционные системы. — СПб.: Питер, 2001.
  21. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем..-М., "Мир", 1991.
  22. Старченко А.В.и др.Параллельные вычисления на многопроцессорных вычислительных системах. –Томск: ТГУ, 2002.
  23. Столингс У. Структурная организация и архитектура компьютерных систем, 5-е издание. – М.: Изд. дом Вильямс, 2002. – 896с.
  24. Таненбаум Э.С. Архитектура компьютера, 4-е издание – С-Пб.:”Питер-пресс”, 2002. –704с.
  25. Трахтенгерц Э.Ф. Введение в теорию анализа и распараллеливания программ ЭВМ в процессе трансляции. –м,, Наука, 1981.-254 с.
  26. Фурсов В.А. др. Введение в программирование для параллельных ЭВМ и кластеров. –Самара: СНЦРАН, СГАУ, 2000.
  27. Хокни Р., Джессхоуп К. Параллельные ЭВМ. -М., Наука и связь, 1986.
  28. Хорошевский В.Г. Архитектура вычислительных систем.- М., Издательство МГТУ им. Н.Э.Баумана, 2005.
  29. Шпаковский Г.И. Организация параллельных ЭВМ и суперскалярных процессоров: Учебное пособие. — Мн.: Белорусский государственный университет, 1996. — 296 с.
  30. Шпаковский Г.И., Серикова Н.В. Программирование для многопроцессорных систем в стандарте MPI: Пособие — Мн.: БГУ, 2002. -323 с.
  31. Танненбаум Э. Современные операционные системы.2-е изд – СПб.:Питер.-1038 с.
Интернет-ресурсы.
  1. www.parallel.ru
  2. www.sscc.ru
  3. www.bsu.by