Автор работы: Пользователь скрыл имя, 15 Ноября 2013 в 16:34, реферат
С момента появления первых компьютеров одной из основных проблем, стоящих перед разработчиками, была производительность вычислительной системы. За время развития компьютерной индустрии производительность процессора стремительно возрастала, однако появление все более изощренного программного обеспечения, рост числа пользователей и расширение сферы приложения вычислительных систем предъявляют новые требования к мощности используемой техники, что и привело к появлению суперкомпьютеров. Что же такое суперкомпьютеры, и зачем они нужны?
ВВЕДЕНИЕ 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
Распределенная архитектура
Каждый суперкомпьютер nCube 2 содержит компактную сеть процессоров. На одну процессорную плату nCube 2 может монтироваться до 64 процессоров. Процессорная стойка может содержать 16 плат с общим числом процессоров до 1024. Для построения систем большего размера стойки комбинируются. Использование недорогих строительных блоков обеспечивает низкую цену полной компьютерной системы в сочетании с феноменально высокой производительностью, достигнутой за счет комбинированной мощности процессорной сети.
Каждый процессор nCube 2 содержит 14 каналов DMA 13 для соединений в гиперкубе и 1 для ввода/вывода. Выделенный канал ввода/вывода уравновешивает вычислительную производительность процессора с производительностью его системы ввода/вывода. По мере добавления процессоров в систему пропускная способность системы ввода/вывода гиперкуба масштабируется вместе с процессорной мощностью и памятью. В состав процессора nCube 2 входит высокоскоростное устройство маршрутизации сообщений, которое управляет передачей сообщений между процессорами. Устройство маршрутизации обеспечивает прямую передачу сообщений без прерывания промежуточных процессоров или необходимости хранения данных сообщения в их памяти. Сообщения передаются со скоростью 2.75 МБ/сек на канал DMA. Специальные методы маршрутизации автоматически вычисляют кратчайший путь между процессорами и предотвращают взаимную блокировку сообщений, освобождая пользователей от необходимости планировать маршруты. Устройство маршрутизации передает сообщения настолько быстро, что число проходимых шагов влияет на производительность гораздо меньше, чем в других компьютерах. Высокая скорость передачи создает иллюзию, что каждый процессор связан непосредственно с любым другим в сети. Эффективность гиперкубической топологии в совокупности с высокоскоростным устройством маршрутизации создают высокопроизводительную систему межпроцессорных соединений с максимальной, по сравнению с другими процессорными сетями, скоростью межпроцессорных коммуникаций. Суперкомпьютер серии nCube 2 с 8192 процессорами имеет скорость межпроцессорной передачи 577 ГБ/сек.
Каждый процессор nCube 2 выполняет свою собственную программируемую последовательность команд и может функционировать независимо. Этот принцип позволяет выделять подмножества процессоров для параллельного выполнения различных операций. Такое разбиение гиперкуба превращает суперкомпьютер nCube 2 в многопользовательскую, многозадачную систему. Программное обеспечение nCube 2 выделяет набор процессоров - подкуб - для программы пользователя и загружает ее. В течение необходимого времени каждый такой подкуб функционирует как отдельный компьютер. Пользователи могут изменять размеры подкубов в соответствии с требованиями своих программ.
2.3 Архитектура процессора nCube
Процессор nCube, как и следует из общего назначения системы, ориентирован прежде всего на вещественные вычисления. За один такт генератора его вещественное арифметическое устройство выполняет две операции, в то время как целочисленное - одну. При этом вещественный конвейер состоит всего из двух ступеней (в других архитектурах число ступеней вещественного процессора от трех до семи). Высокая доступность кэша на кристалле процессора обеспечивает практически пиковые показатели эффективности даже при обработке длинных векторов, размещенных в памяти.
На кристалле расположены
Процессор 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 устанавливается
- операционная система nCX, построенная по микроядерной технологии и выполняющаяся на всех процессорах гиперкуба, она управляет системой ввода/вывода;
- драйвер хост-интерфейса, интерфейс
ввода/вывода для соединения с
управляющим компьютером;
- средства разработки для написания, компиляции, профилирования, отладки, запуска и контроля параллельных программ;
- утилиты системного администратора;
- подсистема интерактивной (on-line) документации.
Среда 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 подразумевает надежность. Например, высокая интеграция - процессорный узел на одном чипе уменьшает число компонентов, в которых может произойти сбой. Быстрое, эффективное микроядро обеспечивает все необходимые для приложений функции, не перегружая систему более сложной, но менее надежной операционной средой.
Теоретически суперкомпьютер можно
представить как объединение
большого количества обычных компьютеров
в один, единый блок. Иначе это можно представить,
как локальную сеть, имеющую некоторое
количество узлов в одном блоке. Следовательно,
можно в качестве суперкомпьютера использовать
и любую локальную (и не только локальную)
сеть. Начиная с 1992 года по скорости роста
производительности сетевое оборудование
обгоняет процессоры. Для многих организаций
перспектива использования сетей рабочих
станций и ПК в качестве суперкомпьютеров
весьма заманчива. Основные достоинства
сетей - возможность постепенного расширения
и модернизации, а также режим эксплуатации
сети днем для обычных нужд разработки
и проектирования, а ночью для расчетов.
Сети не могут соревноваться по скорости
вычисления с суперкомпьютерами-
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), которая особенно интересна для преподавателей и студентов, поскольку при отладке достаточно иметь обычный ПК, а запуск параллельных приложений в сети позволяет получить реальный выигрыш в производительности.