Скачиваний:
53
Добавлен:
03.06.2014
Размер:
328.27 Кб
Скачать

Программирование под гетерогенные вычислительные архитектуры.

Различные машины были спроектированы с применением и традиционных и векторных процессоров, например, Fujitsu AP1000 и AP3000. Программирование для таких гетерогенных машин может оказаться затруднительным, так как разработка программ, которые используют наилучшим образом характеристики разных процессоров повышает нагрузку на программиста. Это увеличивает сложность кода и снижает его переносимость, так как участки кода, требуемые для каждого из процессоров, будут чередоваться на протяжении всей программы. Балансировка рабочей нагрузки приложений на процессорах может быть проблематичной, особенно если учесть, что они обычно имеют различные характеристики производительности. Существуют различные концептуальные модели для решения этой проблемы, например, использование языка координации и программных стандартных блоков (библиотек и/или функций высшего порядка). Каждый блок может иметь различные собственные реализации для каждого типа процессоров. Программист просто использует эту абстракцию, а интеллектуальный компилятор выбирает лучшую реализацию, основываясь на контексте

Примеры векторно-конвейерных систем.

Типичным представителем векторно-конвейерных систем является суперкомпьютер Сгау-1, разработанный под руководством Сеймура Крея в компании Cray Research (впоследствии — подразделение фирмы Silicon Graphics). В то время (1970-е гг.) это была самая мощная вычислительная система в мире. Ее тактовая частота составляла 80 МГц, объем оперативной памяти был равен 8 Мбайт, а пиковая производительность составляла 160 Мфлоп.

Примером более современных векторно-конвейерных вычислительных систем является разработанный в начале 1990-х годов в той же фирме суперкомпьютер Cray T90. Эта система может содержать до 16 процессорных элементов, использующих общую оперативную память. Тактовая частота процессоров равна 250 МГц, а пиковая производительность достигает 32 Гфлоп. Можно упомянуть еще и использующую векторные процессоры вычислительную систему Earth Simulator компании NEC. Система была пущена в эксплуатацию в 2002 г. В это время она состояла из 640 вычислительных узлов, в каждом из которых находилось по 8 процессоров. Пиковая производительность всей системы из 5120 процессоров составляла 40 Тфлоп.

Cray-2.

Cray-2 — векторный суперкомпьютер, выпускавшийся компанией Cray Research с 1985 года. Он был самым производительным компьютером своего времени, обогнав по производительности другой суперкомпьютер, Cray X-MP. Пиковая производительность Cray-2 составляла 1,9 Гфлопс. Только в 1990 году этот рекорд был побит суперкомпьютером ETA-10G.

История создания.

Сеймур Крэй приступил к созданию нового суперкомпьютера — Cray-2 — ещё до окончания доводки предыдущей модели — Cray-1, то есть примерно в 1976 году. В начальном варианте Cray-2 представлял собой машину с четырьмя векторными процессорами с временем на такт 4 нс, то есть в три раза меньше, чем у Cray-1 (12,5 нс). До 1978 года Cray-2 находился только в проектах, так как Крэй и его команда были заняты сборкой серийных Cray-1 и их улучшениями по требованиям заказчиков. В начале 1978 года Крэй решил, что Cray-2 будет содержать не 4 векторных процессора, а 64 скалярных процессора. Это был радикальный отход от успешного направления векторных процессоров к малоизведанной технологии массово-параллельных вычислений. Для такого необычного компьютера требовался особый распараллеливающий компилятор, работой над которым занялся Стив Нельсон (Steve Nelson). После нескольких месяцев работ Крэй нанес визит в Ливерморскую национальную лабораторию, где представил новую будущую машину тамошним программистам. Оказалось, что 64-процессорная машина не востребована, и Крэю пришлось свернуть работы над опередившей своё время технологией и снова вернуться к исходной схеме.

Для повышения тактовой частоты расстояние между элементами компьютера пришлось уменьшать. Если самый длинный провод в Cray-1 был не длиннее 6 футов, в Cray-2 длину проводов сократили до 16 дюймов. Более плотная упаковка означала большие трудности с отводом тепла. Попытка использовать подход Cray-1 не принесла успеха. Расстояние между панелями было настолько мало, что между ними невозможно было разместить медные пластинки теплоотводов для охлаждения. Проект Cray-2 стал походить на провальный проект CDC 8600, из-за чего Крэй пошёл на смелый шаг. Он предложил организовать лабораторию в городе Боулдер (шт. Колорадо), которая бы занялась созданием интегральных схем. В Cray-1 и изначально в Cray-2 использовались простейшие микросхемы малой степени интеграции всего с двумя логическими вентилями на эммитерно-связанной логике биполярных транзисторов. Лаборатория в Боулдере должна была спроектировать и создать сверхбольшие интегральные микросхемы для Cray-2, которые бы позволили упаковать большой объём логики в малые размеры машины. Город Боулдер был выбран не случайно, так как там находилась штаб-квартира Национального Центра Атмосферных исследований США (англ.) — первого покупателя Cray-1 и потенциального покупателя Cray-2. Лаборатория, которую назвали "Cray Labs", была призвана разместить на одном или нескольких чипах весь компьютер Cray-1, для чего работники лаборатории разобрали один экземпляр Cray-1 по винтикам, чтобы понять, как он работает. В то же время работы над Cray-2 в Cray Research были заморожены, а инженеры команды были переведены на другие направления.

В 1981 году Сеймур Крэй внес радикальное предложение по конструкции Cray-2. Он предложил поместить весь компьютер в инертную жидкость под названием Fluorinert (англ.) компании 3M, которая использовалась в то время в медицине при операциях на сердце. Жидкость должна была циркулировать вокруг компьютера и внутри него и отводить тепло более эффективно, чем воздух. Этот прорыв сделал ненужными работы лаборатории в Боулдере над специальными СБИС, и в 1982 году она была закрыта. В 1980 году Крэй ушёл с поста главы компании Cray Research и стал работать в компании как независимый подрядчик. Это позволило ему больше времени уделять Cray-2, работы над которым длились уже 4 года.

Cray-2 был представлен публике в 1985 году. Показав на тестах пиковую производительность 1.9 Гфлопс, он стал самым быстрым в мире суперкомпьютером, сместив с пьедестала Cray X-MP, выпущенный в 1983 году. Этот титул Cray-2 удерживал до 1990 года, когда компания ETA (подразделение компании CDC) выпустила суперкомпьютер ETA-10G.