Рефераты. Суперкомпьютеры

Процессор nCube включает в себя полную поддержку виртуальной памяти. В основу архитектуры заложено 64-разрядное поле виртуального адреса, хотя в настоящее время реализован 48-разрядный виртуальный адрес, обеспечивающий адресацию 256 ТБайт. Размеры страниц могут иметь переменные размеры от 256 Байт до 64 МБайт.

а) Система ввода/вывода nCube 2

Высокопроизводительной вычислительной системе должна соответствовать мощная, быстрая и гибкая система ввода/вывода. В суперкомпьютере nCube 2 система ввода/вывода использует тот же самый VLSI- процессор, который функционирует как вычислительный элемент в гиперкубической сети. Каноны DMA в процессорах системы ввода/вывода используются как пути передачи данных. Наличие выделенных процессоров ввода/вывода позволяет осуществлять параллельную работу вычислительной сети и системы ввода/вывода.

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

Плата ввода/вывода nChannel осуществляет связь суперкомпьютера nCube 2 с устройствами вторичного хранения, дисками, магнитными лентами, сетями и другими устройствами. Плата nChannel имеет 16 независимых каналов ввода/вывода, каждый из которых управляется процессором nCube 2. К каждому каналу подключается модуль ввода/вывода, например, контроллер SCSI. Каждый канал передает данные со скоростью 20 МБ/сек. С помощью каналов платы nChannel система nCube 2 соединяется с хост-компьютером, сетью Ethernet, дисководами и накопителями на магнитной ленте, а также модулями преобразования сигналов и передачи видеообразов.

Плата HIPPI позволяет соединять суперкомпьютер nCube 2 с другими суперкомпьютерами, запоминающими устройствами и иными системами, поддерживающими интерфейс HIPPI (High Performance Parallel Interface Высокопроизводительный параллельный интерфейс). Плата HIPPI использует 16 процессоров nCube 2 для обработки сетевого трафика, обычно 8 процессоров для управления вводом и 8 для управления выводом. Скорость передачи данных достигает 100 МБ/сек.

Графическая подсистема реального времени nVision обеспечивает интегрированную подсистему графики и ввода/вывода, которая позволяет программистам отображать и взаимодействовать с большими объемами данных в реальном времени. На плате nVision размещены 16 процессоров nCube 2, 2 CRT-контроллера, специальный текстовый процессор, 16 МБайт памяти и 2 МБайт буфера.

Компьютер nCube 2 соединяется по сети с управляющим компьютером, с которого пользователи загружают nCube 2, разрабатывают и запускают параллельные программы, наблюдают за функционированием процессорной сети и системы ввода/вывода. Стандартным управляющим компьютером для nCube 2 является рабочая станция производства компании Silicon Graphics.

2.4 Программное обеспечение

На всех компьютерах семейства nCube 2 устанавливается специализированная программная среда PSE (Parallel Software Environment), включающая в себя следующие компоненты:

- операционная система nCX, построенная по микроядерной технологии и выполняющаяся на всех процессорах гиперкуба, она управляет системой ввода/вывода;

- драйвер хост-интерфейса, интерфейс ввода/вывода для соединения с управляющим компьютером; библиотека стандартных UNIX-функций;

- средства разработки для написания, компиляции, профилирования, отладки, запуска и контроля параллельных программ;

- утилиты системного администратора;

- подсистема интерактивной (on-line) документации.

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

Среда PSE базируется на nCX - высокооптимизированном, небольшом (до 128 КБ) и быстром микроядре (microkernel), который обеспечивает сервис операционной системы на каждом процессоре, как гиперкуба, так и системы ввода-вывода. nCX поддерживает управление процессами и управление памятью, многозадачность, интерфейс системных вызовов UNIX System V Release 4, а также высокопроизводительную систему передачи сообщений. Другие операционные средства, такие как драйверы ввода/вывода и сетевые соединения, распределяются между вычислительными узлами и процессорами ввода/вывода. Операционная система nCX обеспечивает единый интерфейс для параллельных программ и драйверов ввода/вывода.

На суперкомпьютерах nCube 2 поддерживаются два вида программирования:

SPMD (Single Program Multiple Data - Одна программа, Множество данных): в процессорную сеть загружается одна программа, каждый экземпляр программы обрабатывает свой собственный набор данных; процессоры могут обмениваться информацией.

MPMD (Multiple Program Multiple Data - Множество программ, Множество данных): в процессорную сеть загружается набор программ, каждый экземпляр каждой программы обрабатывает свои собственные данные; программы могут обмениваться информацией.

2.5 Надежность системы nCube 2

Суперкомпьютеры nCube 2 представляют наиболее надежные на сегодняшний день системы. Каждый аспект дизайна nCube 2 подразумевает надежность. Например, высокая интеграция - процессорный узел на одном чипе уменьшает число компонентов, в которых может произойти сбой. Быстрое, эффективное микроядро обеспечивает все необходимые для приложений функции, не перегружая систему более сложной, но менее надежной операционной средой.


3 СЕТЬ КАК СУПЕРКОМПЬЮТЕР

Теоретически суперкомпьютер можно представить как объединение большого количества обычных компьютеров в один, единый блок. Иначе это можно представить, как локальную сеть, имеющую некоторое количество узлов в одном блоке. Следовательно, можно в качестве суперкомпьютера использовать и любую локальную (и не только локальную) сеть. Начиная с 1992 года по скорости роста производительности сетевое оборудование обгоняет процессоры. Для многих организаций перспектива использования сетей рабочих станций и ПК в качестве суперкомпьютеров весьма заманчива. Основные достоинства сетей - возможность постепенного расширения и модернизации, а также режим эксплуатации сети днем для обычных нужд разработки и проектирования, а ночью для расчетов. Сети не могут соревноваться по скорости вычисления с суперкомпьютерами-рекордсменами, но они на один-два порядка дешевле, их можно использовать там, где объемы расчетов велики, а суперкомпьютеры экономически не оправданы. Такие сетевые технологии будут способствовать использованию сетей в качестве параллельных вычислителей. В первую очередь это Fast Ethernet и Gigabit Ethernet. Далее идут технологии коммутации. И, наконец, новые сетевые протоколы, поддерживающие широковещание

3.1 Параллельные программы - главный тормоз

Главным препятствием к внедрению практически всех параллельных архитектур является отсутствие параллельных программ. У унаследованных от последовательного мира программ имеется недостаток - большой объем кода, принципиально не допускающий параллельного исполнения. Его нельзя преодолеть за счет усовершенствования техники компиляции. Так, если программа половину времени занимается действиями, которые требуется совершать строго последовательно, то параллельное выполнение оставшейся половины в предельном случае даст лишь двукратное ускорение. В результате, хотим мы этого или нет, последовательные вычислительные алгоритмы придется заменять параллельными.

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г.

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

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

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


Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.