Реферат: Суперкомпьютеры
1953 г. Первым коммерчески доступным компьютером, использующим разрядно-параллельную память (на CRT) и разрядно-параллельную арифметику, стал компьютер IBM 701. К слову будет сказано, наибольшую популярность в то время получила модель IBM 704 (1955 г.), проданной в количестве 150 экземпляров (!), в которой, помимо упомянутых особенностей, была впервые применена память на ферритовых сердечниках и аппаратное арифметическое устройство с плавающей точкой.
1958г. Процессоры первых компьютеров сами управляли вводом/выводом. Однако скорость работы самого быстрого внешнего устройства, а по тем временам это магнитная лента, была в 1000 раз меньше скорости процессора, поэтому во время операций ввода/вывода процессор фактически простаивал. В 1958г. к компьютеру IBM 704 присоединили 6 независимых процессоров ввода/вывода, которые после получения команд могли работать параллельно с основным процессором, а сам компьютер переименовали в IBM 709. Данная модель получилась удивительно удачной, так как вместе с модификациями было продано около 400 экземпляров, причем последний был выключен в 1975 году - 20 лет существования!
1961г. Создается компьютер IBM STRETCH, имеющий две принципиально важные особенности: опережающий просмотр вперед для выборки команд и расслоение памяти на два банка для согласования низкой скорости выборки из памяти и скорости выполнения операций.
1963г. В Манчестерском университете разработан компьютер ATLAS, использующий конвейерный принцип выполнения команд. Выполнение команд разбито на 4 стадии: выборка команды, вычисление адреса операнда, выборка операнда и выполнение операции, позволившие уменьшить время выполнения команд в среднем с 6 мкс до 1,6 мкс. Справедливости ради надо отметить, что данный компьютер вообще оставил заметный след в истории развития вычислительной техники: помимо сказанного, в нем впервые была использована мультипрограммная операционная система, основанная на использовании виртуальной памяти и системы прерываний.
1964г. Фирма Control Data Corporation (CDC) при непосредственном участии одного из ее основателей, Сеймура Р.Крэя (Seymour R.Cray) выпускает компьютер CDC-6600 - первый компьютер, в котором использовалось несколько независимых функциональных устройств. Для сравнения с сегодняшним днем приведем некоторые параметры компьютера: время такта 100нс, производительность 2-3 млн. операций в секунду, оперативная память разбита на 32 банка по 4096 60-ти разрядных слов, цикл памяти 1мкс, 10 независимых функциональных устройств. Машина имела громадный успех на научном рынке, активно вытесняя машины фирмы IBM.
1969г. CDC выпускает компьютер CDC-7600 с восемью независимыми конвейерными функциональными устройствами - сочетание параллельной и конвейерной обработки.
В 1967 году были начаты работы над проектом ILLIAC IV, первым матричным процессором, объединяющим 256 синхронно работающих процессорных элементов. К концу 1971 года изготовлена система из 64-х процессоров, в 1974г. она введена в эксплуатацию, однако доводка шла до 1975 года. Несмотря на то, что построили в 4 раза меньше задуманного, да и то лишь в одном экземпляре, а денег в результате затратили в 4 раза больше, данный проект оказал огромное влияние на архитектуру последующих машин подобного класса таких, как PEPE, BSP, ICL DAP и ряда других.
В 1972 году С.Крэй покидает CDC и основывает свою компанию Cray Research, которая в 1976г. выпускает первый векторно-конвейерный компьютер CRAY-1: время такта 12.5нс, 12 конвейерных функциональных устройств, пиковая производительность 160 миллионов операций в секунду, оперативная память до 1Мслова (слово - 64 разряда), цикл памяти 50нс. Главным новшеством является введение векторных команд, работающих с целыми массивами независимых данных и позволяющих эффективно использовать конвейерные функциональные устройства.
На этом означенный экскурс в историю можно смело закончить, поскольку роль параллелизма и его влияние на развитие архитектуры компьютеров уже очевидна.
Попутно стоит заметить, что параллелизм это не только передовая технология, используемая во всех современных суперкомпьютерах, но и довольно страшная сила. Очередной пример тому появился совсем недавно. По сообщению Electronic Frontier Foundation, Джон Гилмор (John Gilmore) и Поль Кочер (Paul Kocher) смогли взломать 56-битный код, используемый банками и некоторыми военными организациями США, с помощью собранной в домашних условиях параллельной вычислительной системы.
Раскрытый алгоритм шифрования, известный как DES (Data Encryption Standard), использует 56-битные ключи, и это при том, что сейчас в реальных ситуациях во многих случаях используются лишь 40-битные. До настоящего момента правительственные органы США утверждали, что ни террористы, ни какие-либо другие криминальные структуры не в состоянии сделать компьютер, взламывающий DES.
Вся работа по расшифровке была проделана за 56 часов на компьютере, состоящем из более чем 1000 процессоров: 27 плат по 64 процессора в каждой. Каждая плата была подсоединена к обычной персоналке, которая и управляла всем процессом. Гилмор назвал свою систему Deep Crack - мягкий намек на шахматный компьютер Deep Blue от IBM. Вечером 17 июля этого года после проверки 17,902,806,669,197,312 ключей компьютер определил, что зашифрованным предложением было: "It's time for those 128-, 192-, and 256-bit keys."
А что же сейчас используют в мире?
По каким направлениям идет развитие высокопроизводительной вычислительной техники в настоящее время? Таких направлений четыре.
1. Векторно-конвейерные компьютеры. Особенностью таких машин являются, во-первых, конвейерные функциональные устройства и, во-вторых, набор векторных инструкций в системе команд. В отличие от традиционного подхода, векторные команды оперируют целыми массивами независимых данных, что позволяет эффективно загружать доступные конвейеры. Типичным представителем данного направления является линия векторно-конвейерных компьютеров CRAY компании Cray Research.
2. Массивно-параллельные компьютеры с распределенной памятью. Идея построения компьютеров этого класса тривиальна: возьмем серийные микропроцессоры, снабдим каждый своей локальной памятью, соединим посредством некоторой коммуникационной среды, например, сетью - вот и все. Достоинств у такой архитектуры масса: если нужна высокая производительность, то можно добавить еще процессоров, а если ограничены финансы или заранее известна требуемая вычислительная мощность, то легко подобрать оптимальную конфигурацию.
Однако есть и решающий "минус", сводящий многие "плюсы" на нет. Дело в том, что межпроцессорное взаимодействие в компьютерах этого класса идет намного медленнее, чем происходит локальная обработка данных самими процессорами. Именно поэтому написать эффективную программу для таких компьютеров очень сложно, а для некоторых алгоритмов иногда просто невозможно. К данному классу можно отнести компьютеры Intel Paragon, IBM SP1, Parsytec, в какой-то степени IBM SP2 и CRAY T3D/T3E, хотя в этих компьютерах влияние указанного минуса значительно ослаблено. К этому же классу можно отнести и сети компьютеров, которые все чаще рассматривают как дешевую альтернативу крайне дорогим суперкомпьютерам.
3. Параллельные компьютеры с общей памятью. Вся оперативная память таких компьютеров разделяется несколькими одинаковыми процессорами. Это снимает проблемы предыдущего класса, но добавляет новые - число процессоров, имеющих доступ к общей памяти по чисто техническим причинам нельзя сделать большим. В данное направление входят многие современные многопроцессорные SMP-компьютеры, например, сервер HP T600 или Sun Ultra Enterprise 5000.
4. Кластеры. Последнее направление, строго говоря, не является самостоятельным, а скорее представляет собой комбинации предыдущих трех. Из нескольких процессоров, традиционных или векторно-конвейерных, и общей для них памяти сформируем вычислительный узел. Если вычислительной мощности полученного узла не достаточно, то объединим несколько узлов высокоскоростными каналами. Подобную архитектуру называют кластерной, и по такому принципу построены CRAY SV1, HP Exemplar, Sun StarFire, NEC SX-5, последние модели IBM SP2 и другие. Именно это направление является наиболее перспективным в настоящее время.
Два раза в год собираются данные для формирования списка пятисот самых мощных вычислительных установок мира (Top500). Последняя редакция списка вышла в ноябре этого года, согласно которой первое место занимает компьютер Earth-Simulator, а на второй позиции стоит компьютер ASCI Q - AlphaServer от Hewlett-Packard, объединяющий 8192 процессора Sc45.
Если где-то прибудет, то где-то обязательно уменьшится
К сожалению, чудеса в жизни редко случаются. Гигантская производительность параллельных компьютеров и супер-ЭВМ с лихвой компенсируется сложностями их использования. Начнем с самых простых вещей. У вас есть программа и доступ, скажем, к 256-процессорному компьютеру. Что вы ожидаете? Да ясно что: вы вполне законно ожидаете, что программа будет выполняться в 256 раз быстрее, чем на одном процессоре. А вот как раз этого, скорее всего, и не будет.
Предположим, что в вашей программе доля операций, которые нужно выполнять последовательно, равна f, где 0<=f<=1 (при этом доля понимается не по статическому числу строк кода, а по числу операций в процессе выполнения). Крайние случаи в значениях f соответствуют полностью параллельным (f=0) и полностью последовательным (f=1) программам. Так вот, для того, чтобы оценить, какое ускорение S может быть получено на компьютере из p процессоров при данном значении f, можно воспользоваться законом Амдала:
Если вдуматься как следует, то закон, на самом деле, страшный. Предположим, что в вашей программе лишь 10% последовательных операций, т.е. f=0.1 . Что утверждает закон? А он говорит о том, что сколько бы вы процессоров не использовали, ускорения работы программы более, чем в десять раз никак не получите... да и то 10 - это теоретическая верхняя оценка самого лучшего случая, когда никаких других отрицательных факторов нет... :((
Отсюда первый вывод - прежде, чем основательно перепахивать код для перехода на параллельный компьютер (а любой суперкомпьютер, в частности, является таковым) надо основательно подумать: "А не будет ли потом мучительно больно за увиденный результат и стоит ли овчинка выделки?". Если, оценив заложенный в программе алгоритм, вы поняли, что доля последовательных операций велика, то на значительное ускорение рассчитывать явно не приходится и нужно думать о замене отдельных компонент алгоритма.
В ряде случаев последовательный характер алгоритма изменить не так сложно. Допустим, что в программе есть следующий фрагмент для вычисления суммы n чисел:
s = 0
Do i = 1, n
s = s + a(i)
EndDo
По своей природе он строго последователен, так как на i-й итерации цикла требуется результат с (i-1)-й и все итерации выполняются одна за одной. Имеем 100% последовательных операций, а значит и никакого эффекта от использования параллельных компьютеров. Вместе с тем, выход очевиден. Поскольку в большинстве реальных случаев нет существенной разницы, в каком порядке складывать числа, выберем иную схему сложения. Сначала найдем сумму пар соседних элементов: a(1)+a(2), a(3)+a(4), a(5)+a(6) и т.д. Заметим, что при такой схеме все пары можно складывать одновременно! На следующих шагах будем действовать абсолютно аналогично, получив вариант параллельного алгоритма.
Казалось бы в данном случае все проблемы удалось разрешить. Но представьте, что доступные вам процессоры разнородны по своей производительности. Значит, будет такой момент, когда кто-то из них еще трудится, а кто-то уже все сделал и бесполезно простаивает в ожидании. Если разброс в производительности компьютеров большой, то и эффективность всей системы при равномерной загрузке процессоров будет крайне низкой.
Но пойдем дальше и предположим, что все процессоры одинаковы. Проблемы кончились? Опять нет! Процессоры выполнили свою работу, но результат-то надо передать другому для продолжения процесса суммирования... а на передачу уходит время... и в это время процессоры опять простаивают...
Словом, заставить параллельную вычислительную систему или супер-ЭВМ работать с максимальной эффективностью на конкретной программе - это, прямо скажем, задача не из простых. Да что там 'заставить работать', иногда даже возникающие вокруг суперкомпьютеров вопросы ставят в тупик. Верно ли утверждение: чем мощнее компьютер, тем быстрее на нем можно решить данную задачу. Ответ противоположный ожидаемому. Действительно, это не верно, что можно пояснить простым бытовым примером. Если один землекоп выкопает яму 1м*1м*1м за 1 час, то два таких же землекопа это сделают за 30 мин - в это можно поверить. А за сколько времени эту работу сделают 60 землекопов? Неужели за 1 минуту? Конечно же нет! Начиная с некоторого момента они будут просто мешаться друг другу, не ускоряя, а замедляя процесс. Так же и в компьютерах: если задачка слишком мала, то мы будем дольше заниматься распределением работы, синхронизацией процессов, сборкой результатов и т.п., чем непосредственно полезной работой.
Вообще замечено, что эмоциональное состояние человека, впервые сталкивающегося с суперкомпьютером, проходит несколько стадий. Сначала он испытывает что-то вроде эйфории, начитавшись рекламных данных о компьютере и находясь в предвкушении быстрого разрешения всех своих вычислительных проблем. После первого запуска возникает недоумение и подозрение, что что-то он сделал не так - больно уж реально достигнутая производительность отличается от заявленной. Он запускает программу повторно, но результат, если и меняется в лучшую сторону, то очень слабо. Он идет к местному компьютерному гуру, и тут-то его поджидает настоящий удар. Оказывается, что, во-первых, полученные им 5% от максимальной производительности компьютера это еще не самый худший вариант. Во-вторых, если он хочет "выжать" из такого компьютера максимум, то для него вся работа только начинается. Во многих случаях это сделать можно, а как - это искусство.
Приложение
Первые 25 суперкомпьютеров из списка Top500 (ноябрь 2003):
Ранг |
Местоположение |
Компьютер / Процессоры |
Семейство компьютеров |
Вид установки |
Rmax |
Nmax |
1 |
Earth
Simulator Center |
Earth-Simulator / 5120 |
NEC Vector |
Research |
35860 |
1.0752e+06 |
2 |
Los
Alamos
National Laboratory |
ASCI
Q - AlphaServer SC45, 1.25 GHz / 8192 |
HP
AlphaServer |
Research |
13880 |
633000 |
3 |
Virginia
Tech |
X |
NOW -
PowerPC |
Academic |
10280 |
520000 |
4 |
NCSA |
Tungsten |
Dell Cluster |
Academic |
9819 |
630000 |
5 |
Pacific
Northwest
National Laboratory |
Mpp2 |
HP
Cluster |
Research |
8633 |
835000 |
6 |
Los
Alamos
National Laboratory |
Lightning |
NOW
- AMD |
Research |
8051 |
761160 |
7 |
Lawrence Livermore National
Laboratory |
MCR
Linux Cluster Xeon 2.4 GHz - Quadrics / 2304 |
NOW
- Intel Pentium |
Research |
7634 |
350000 |
8 |
Lawrence Livermore National
Laboratory |
ASCI
White, SP Power3 375 MHz / 8192 |
IBM
SP |
Research |
7304 |
640000 |
9 |
NERSC/LBNL |
Seaborg |
IBM
SP |
Research |
7304 |
640000 |
10 |
Lawrence Livermore National
Laboratory |
xSeries
Cluster Xeon 2.4 GHz - Quadrics / 1920 |
IBM
Cluster |
Research |
6586 |
425000 |
11 |
National
Aerospace Laboratory of Japan |
PRIMEPOWER
HPC2500 (1.3 GHz) /
2304 |
PRIMEPOWER HPC2500 |
Research |
5406 |
658800 |
12 |
Pittsburgh Supercomputing Center |
AlphaServer
SC45, 1 GHz / 3016 |
HP
AlphaServer |
Academic |
4463 |
280000 |
13 |
NCAR
(National Center for Atmospheric Research) |
pSeries 690
Turbo 1.3 GHz / 1600 |
IBM
SP |
Research |
4184 |
550000 |
14 |
Chinese
Academy of Science |
DeepComp
6800, Itanium2 1.3 GHz, QsNet / 1024 |
Legend |
Academic |
4183 |
491488 |
15 |
Commissariat
a l'Energie Atomique (CEA) |
AlphaServer
SC45, 1 GHz / 2560 |
HP
AlphaServer |
Research |
3980 |
360000 |
16 |
HPCx |
pSeries 690
Turbo 1.3GHz / 1280 |
IBM
SP |
Academic |
3406 |
317000 |
17 |
Forecast
Systems Laboratory - NOAA |
Aspen
Systems, Dual Xeon 2.2 GHz - Myrinet2000 / 1536 |
NOW
- Intel Pentium |
Research |
3337 |
285000 |
18 |
Naval
Oceanographic Office (NAVOCEANO) |
pSeries 690
Turbo 1.3GHz / 1184 |
IBM
SP |
Research |
3160 |
|
19 |
Government |
Cray X1 / 252 |
Cray X1 |
Classified |
2932.9 |
338688 |
20 |
Oak
Ridge
National Laboratory |
Cray X1 / 252 |
Cray X1 |
Research |
2932.9 |
338688 |
21 |
Cray Inc. |
Cray X1 / 252 |
Cray X1 |
Vendor |
2932.9 |
338688 |
22 |
Korea
Institute of Science and Technology |
xSeries
Xeon 2.4 GHz, Myrinet / 1024 |
IBM
Cluster |
Research |
2847 |
230000 |
23 |
ECMWF |
pSeries 690
Turbo 1.3GHz / 960 |
IBM
SP |
Research |
2560 |
|
24 |
ECMWF |
pSeries 690
Turbo 1.3GHz / 960 |
IBM
SP |
Research |
2560 |
|
25 |
Energy
Company |
Integrity
rx5670-4x256, Itanium2 1.3 GHz, GigE / 1024 |
HP
Cluster |
Industry |
2556 |
Сверхсложные вычислительные задачи, решаемые на суперкомпьютерах.
Grand challenges - это фундаментальные научные или инженерные задачи с широкой областью применения, эффективное решение которых возможно только с использованием мощных (суперкомпьютерных) вычислительных ресурсов.
Вот лишь некоторые области, где возникают задачи подобного рода:
· Предсказания погоды, климата и глобальных изменений в атмосфере
· Науки о материалах
· Построение полупроводниковых приборов
· Сверхпроводимость
· Структурная биология
· Разработка фармацевтических препаратов
· Генетика человека
· Квантовая хромодинамика
· Астрономия
· Транспортные задачи
· Гидро- и газодинамика
· Управляемый термоядерный синтез
· Эффективность систем сгорания топлива
· Разведка нефти и газа
· Вычислительные задачи наук о мировом океане
· Распознавание и синтез речи
· Распознавание изображений
Классификация архитектур вычислительных систем (Классификация Флинна)
Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.
SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся, прежде всего, классические последовательные машины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780. В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка - как машина CDC 6600 со скалярными функциональными устройствами, так и CDC 7600 с конвейерными попадают в этот класс.
SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Способ выполнения векторных операций не оговаривается, поэтому обработка элементов вектора может производится либо процессорной матрицей, как в ILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.
MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей относят конвейерные машины к данному классу, однако это не нашло окончательного признания в научном сообществе. Будем считать, что пока данный класс пуст.
MIMD (multiple instruction stream / multiple data stream) - множественный поток команд и множественный поток данных. Этот класс предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных.
Дополнения Ванга и Бриггса к классификации Флинна:
Класс SISD разбивается на два подкласса:
архитектуры с единственным функциональным устройством, например, PDP-11;
архитектуры, имеющие в своем составе несколько функциональных устройств - CDC 6600, CRAY-1, FPS AP-120B, CDC Cyber 205, FACOM VP-200.
В класс SIMD также вводится два подкласса:
архитектуры с пословно-последовательной обработкой информации - ILLIAC IV, PEPE, BSP;
архитектуры с разрядно-последовательной обработкой - STARAN, ICL DAP.
В классе MIMD авторы различают
вычислительные системы со слабой связью между процессорами, к которым они относят все системы с распределенной памятью, например, Cosmic Cube,
и вычислительные системы с сильной связью (системы с общей памятью), куда попадают такие компьютеры, как C.mmp, BBN Butterfly, CRAY Y-MP, Denelcor HEP.
Наиболее распространенные сегодня суперкомпьютеры:
Cray T90
Производитель | Cray Inc., Cray Research. |
Класс архитектуры | Многопроцессорная векторная система (несколько векторных процессоров работают на общей памяти). |
Предшественники | CRAY Y-MP C90, CRAY X-MP. |
Модели | Серия T90 включает модели T94, T916 и T932. |
Процессор | Системы серии T90 базируются на векторно-конвейерном процессоре Cray Research с пиковой производительностью 2GFlop/s. |
Число процессоров | Система T932 может включать до 32 векторных процессоров (до 4-х в модели T94, до 16 модели T916), обеспечивая пиковую производительность более 60GFlop/s. |
Масштабируемость | Возможно объединение нескольких T90 в MPP-системы. |
Память | Система T932 содержит от 1GB до 8GB (до 1 GB в модели T94 и до 4GB в модели T916) оперативной памяти и обеспечивает скорость обменов с памятью до 800MB/sec. |
Системное ПО | Используется операционная система UNICOS. |
IBM RS/6000 SP
Производитель | International Business Machines (IBM), подразделение RS/6000. |
Класс архитектуры | Масштабируемая массивно-параллельная вычислительная система (MPP). |
Узлы | Узлы имеют архитектуру рабочих станций RS/6000. Существуют несколько типов SP-узлов, которые комплектуются различными процессорами: PowerPC 604e/332MHz, POWER3/200 и 222 MHz (более ранние системы комплектовались процессорами POWER2). High-узлы на базе POWER3 включают до 8 процессоров и до 16 GB памяти. |
Масштабируемость | До 512 узлов. Возможно совмещение узлов различых типов. Узлы устанавливаются в стойки (до 16 узлов в каждой). |
Коммутатор | Узлы связаны между собой высокопроизводительных коммутатором (IBM high-performance switch), который имеет многостадийную структуру и работает с коммутацией пакетов. |
Cистемное ПО | OC AIX (устанавливается на каждом узле), система пакетной обработки LoadLeveler, параллельная файловая система GPFS, параллельная СУБД INFORMIX-OnLine XPS. Параллельные приложения исполняются под управлением Parallel Operating Environment (POE). |
Средства |
Оптимизированная реализация интерфейса MPI, библиотеки параллельных математических подпрограмм - ESSL, OSL. |
Cray T3E
Производитель | Cray Inc. |
Класс архитектуры | Масштабируемая массивно-параллельная система, состоит из процессорных элементов (PE). |
Предшественники | Cray T3D |
Модификации | T3E-900, T3E-1200, T3E-1350 |
Процессорный элемент | PE состоит из процессора, блока памяти и устройства сопряжения с сетью. Используются процессоры Alpha 21164 (EV5) с тактовой частотой 450 MHz (T3E-900), 600 MHz (T3E-1200), 675 MHz (T3E-1350) пиковая производительность которых составляет 900, 1200, 1350 MFLOP/sec соответственно. Процессорный элемент располагает своей локальной памятью (DRAM) объемом от 256MB до 2GB. |
Число процессоров | Системы T3E масштабируются до 2048 PE. |
Коммутатор | Процессорные элементы связаны высокопроизводительной сетью GigaRing с топологией трехмерного тора и двунаправленными каналами. Скорость обменов по сети достигает 500MB/sec в каждом направлении. |
Системное ПО | Используется операционная система UNICOS/mk. |
Средства программирования | Поддерживается явное параллельное программирование c помощью пакета Message Passing Toolkit (MPT) - реализации интерфейсов передачи сообщений MPI, MPI-2 и PVM, библиотека Shmem. Для Фортран-программ возможно также неявное распараллеливание в моделях CRAFT и HPF. Среда разработки включает также набор визуальных средств для анализа и отладки параллельных программ. |
Список использованной литературы:
1. Материалы сайта http://www.parallel.ru
2. Материалы сайта http://www.top500.org
3. Материалы сайта http://www.osp.ru/archive/56.htm
4. Материалы сайта http://www.netlib.org/linpack/