Суперкомпьютеры

Автор работы: Пользователь скрыл имя, 12 Января 2011 в 13:16, реферат

Краткое описание

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

Содержание работы

ВВЕДЕНИЕ 3
1 ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ 4
1.1 Архитектура SMP 4
1.2 Архитектура MPP 4
2 СУПЕРКОМПЬЮТЕРЫ КОМПАНИИ nCube 4
2.1 Основные принципы архитектуры 5 a) Распределенная память 5 б) Межпроцессорная сеть 5 в) Высокий уровень интеграции 6
2.2 Суперкомпьютер nCube 2 7
2.3 Архитектура процессора nCube 8 а) Система ввода/вывода nCube 2 9
2.4 Программное обеспечение 10
2.5 Надежность системы nCube 2 10
3 СЕТЬ КАК СУПЕРКОМПЬЮТЕР 11
3.1 Параллельные программы - главный тормоз 11
3.2 MPI 11
3.3 Реализации MPI 12
3.4 Средства программирования высокого уровня 13
3.5 Попытка прогноза 14
4 ПИМЕРЫ ИСПОЛЬЗОВАНИЯ СУПЕРКОМПЬЮЮТЕРОВ 14
4.1 Моделирование построение белка 14
4.2 Виртуальная башня 14
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА 16

Содержимое работы - 1 файл

Суперкомпьютеры.doc

— 104.00 Кб (Скачать файл)
ify">3.2 MPI

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

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

Синтаксис MPI облегчает создание приложений в модели SPMD (single program multiple data) - одна программа работает в разных процессах со своими данными. Одна и та же функция вызывается на узле-источнике и узлах- приемниках, а тип выполняемой операции (передача или прием) определяется с помощью параметра. Такой синтаксис вызовов делает SPMD-программы существенно компактнее, хотя и труднее для понимания.

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

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

3.3 Реализации MPI

Библиотеки MPI реализованы практически на всех современных суперкомпьютерах, к  примеру, в университете Коимбра (Португалия) разработали библиотеку MPI для Windows 95 (http://pandora.uc.pt/w32mpi), которая особенно интересна для преподавателей и студентов, поскольку при отладке достаточно иметь обычный ПК, а запуск параллельных приложений в сети позволяет получить реальный выигрыш в производительности.

Практический  опыт показывает, что идеально распараллеливаемые задачи, такие как параллельное умножение  матриц, можно решать практически  на любых сетях, и добавление даже относительно слабых вычислительных узлов дает выигрыш. Другие задачи, в частности решение систем линейных уравнений, более требовательны к коммуникационному оборудованию и качеству реализации передачи сообщений. Именно поэтому тесты для оценки реального быстродействия параллельных вычислительных систем базируются на параллельных аналогах известного пакета Linpack. Так, система линейных уравнений размером 800х800 решается на четырех компьютерах Sun SPARCstation 5, объединенных сетью Ethernet 10 Мбит/c, быстрее, чем на трех; на пяти - приблизительно за то же время, что и на четырех, а добавление шестого компьютера однозначно ухудшает производительность вычислительной системы. Если вместо Fast Ethernet 10 Мбит/c использовать Fast Ethernet 100 Мбит/с, что лишь незначительно увеличивает общую стоимость системы, время, затрачиваемое на коммуникацию, уменьшается почти в 10 раз, а для решения данной задачи можно будет эффективно применять уже десятки рабочих станций.

3.4 Средства программирования  высокого уровня

Часто в сетях отдельные компьютеры неравноценны, и имеет смысл нагружать их по-разному, однако даже простейшая программа, учитывающая балансировку нагрузки, - если кодировать ее, используя лишь средства MPI, - становится необъятной, и отладка ее мало кому окажется по силам. Так, матрицы в пакете SсаLAPACK, независимо от решаемой задачи и мощностей вычислительных элементов, всегда распределяются по процессорам равномерно.

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

Выходом из создавшегося положения стали языки программирования, основанные на параллелизме данных. Первый из них, Fortran-D, появился в 1992 г. На смену ему пришел High Performance Fortran (HPF), представляющий собой расширение языка Fortran 90 и требующий от пользователя лишь указать распределение данных по процессорам. В остальном программа имеет последовательный вид (это, впрочем, не означает, что, придумывая алгоритм, не следует задумываться о присущем ему параллелизме). Транслятор самостоятельно распределяет вычисления по процессорам, выбирая в качестве узла, на котором следует производить вычисления, тот процессор, на котором будет использован результат вычисления выражения. При необходимости транслятор генерирует обращения к библиотеке передачи сообщений, например MPI. От компилятора HPF требуется тщательный анализ программы. Пользователь практически не имеет рычагов управления количеством пересылок, а поскольку инициализация каждой пересылки, независимо от объема передаваемой информации, - это десятки тысяч машинных тактов, качество получаемой программы от него зависит слабо.

В языке  программирования mpC (http://www.ispras.ru/) - расширении ANSI Cи - принят компромиссный подход. Здесь пользователь распределяет не только данные, но и вычисления. Переменные и массивы распределяются по виртуальным сетям (networks) и подсетям, при этом в описаниях сетей указываются относительные мощности узлов и скорости связей между ними. В процессе выполнения mpC-программы система поддержки языка стремится максимально эффективно отобразить виртуальные сети на группы процессоров. В результате пользователь получает возможность равномерно нагружать узлы

3.5 Попытка прогноза

Использование сетей компьютеров для вычислительных задач - уже сегодня дело вполне реальное. В этом направлении ведутся научные разработки и сделан ряд пилотных проектов. В качестве коммуникационной платформы сейчас наиболее экономически оправдано применение коммутируемых сетей Fast Ethernet. При этом себестоимость системы производительностью 1,5-6 операций с вещественными числами в секунду на задачах линейной алгебры будет ниже 100 тыс. долл. Через пару лет в качестве коммуникационной платформы можно будет использовать Gigabit Ethernet или ATM (Asynchronous Transfer Mode - асинхронный режим передачи), обеспечивающие на порядок более высокие скорости передачи данных. В течение одного-двух лет должны появиться общепризнанные широковещательные протоколы транспортного уровня и основанные на них реализации MPI. На уровне прикладных программ MPI использоваться не будет. На нем станут базироваться лишь некоторые библиотеки и системы поддержки языков, основанные на параллелизме данных.

4 ПИМЕРЫ ИСПОЛЬЗОВАНИЯ  СУПЕРКОМПЬЮЮТЕРОВ

4.1 Моделирование построение  белка

Корпорация IBM объявила о том, что планирует  выделить 100 миллионов долларов на создание самого быстрого в мире суперкомпьютера, который будет использоваться для моделирования построения белка из аминокислот.

Новый суперкомпьютер, носящий название Blue Gene, будет способен совершать один квадриллион операций в секунду, то есть будет в тысячу раз мощнее знаменитого Deep Blue, с которым в 1997 году играл в шахматы чемпион мира Гарри Каспаров.

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

Исследователи рассчитывают достигнуть этого уровня мощности в течение пяти лет, по истечении  которых суперкомпьютер будет использоваться в генетическом моделировании. Если Blue Gene оправдает возложенные на него надежды, его создание станет огромным шагом вперед в области здравоохранения и биологии.

4.2 Виртуальная башня

По оценкам  Федерального управления гражданской  авиации США, в течение ближайших 20 лет количество самолетов, используемых для коммерческих полетов, увеличится вдвое. Это станет серьезным испытанием для авиадиспетчеров, которым придется внедрять новые технологии управления авиационными потоками как на земле, так и в воздухе.

НАСА  решило внести свою скромную лепту  в преодоление этой проблемы и  создало симулятор настоящей  башни авиадиспетчеров стоимостью в $110 миллионов. Башня FutureFlight Central расположена  в Исследовательском центре Эймса  НАСА. Она дает возможность симулировать работу крупнейших аэропортов мира, позволяя в реальном времени испытывать новые технологии управления перемещением самолетов. Это двухэтажное сооружение, в котором могут одновременно работать 12 операторов. Мозговым центром башни является 16-процессорный суперкомпьютер Reality Monster от SGI, обошедшийся НАСА в $1 миллион. Именно он обеспечивает вывод симуляции на 12 огромных видеоэкранов башни, имитирующих настоящие окна. Суперкомпьютер позволяет моделировать - помимо обстановки аэропорта - погодные эффекты и до 200 одновременно движущихся самолетов и машин наземного обслуживания. Первый этаж предназначен для "пилотов" и "обслуживающего персонала", которые будут вносить дополнительный элемент реалистичности, общаясь с авиадиспетчерами с помощью портативных радиостанций. Башня также может использоваться и в других симуляционных целях. В частности, планируется, что ее услугами смогут воспользоваться специалисты из Отделения автономных роботов НАСА для создания комнат управления межпланетными миссиями, состоящими из роботизированных машин.

 

ИСПОЛЬЗУЕМАЯ  ЛИТЕРАТУРА:

1. Статья  Андрея Шитова «Электронный супермозг», журнал «Эхо планеты»

№4 1992г.

1. Статья  Дмитрия Арапова «Можно ли  превратить сеть в суперкомпьютер?»,  журнал «Открытые системы» №4 1997г.

1. Статья  Н. Дубовой «Суперкомпьютеры nCube»,  журнал «Открытые системы»

1. Рубрика  «Новости» из журналов КомпьюТерра

Информация о работе Суперкомпьютеры