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

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

уперкомпьютеры - высокопроизводительные вычислительные устройства, которые обычно используются для вычисления расчетов, для изучения физических систем, либо с помощью численного моделирования и обработки научных данных. Первоначально они были большими, дорогими, универсальные компьютеры, которые обычно принадлежат правительству лаборатории исследований. К концу двадцатого века, появилась сеть небольших и недорогих компьютеров. Общим элементом всех этих машин была их способность выполнять высокоскоростную арифметику с плавающей точкой, двоичную арифметику, что приближает десятичные числа с фиксированным числом битов на основе численных вычислений.
  Почти все ранние электронные вычислительные машины были названы суперкомпьютерами или суперкалькуляторами. Две первые машины, Массачусетский технологический институт (MIT) Whirlwind (1951) и Международный машинный бизнес (IBM) Stretch (1955) достигли своей производительности с использованием инновационных схем. Whirlwind использовал память на магнитных сердечниках, а Stretch использовал высокоскоростные транзисторы. Хотя последующие суперкомпьютеры используют даже более продвинутые электронные технологии, большинство достигли своей скорости через параллелизм, выполняя несколько вычислений одновременно.
  Численный прогноз погоды, одна из стандартных задач для суперкомпьютеров, свидетельствует о параллельном характере многих научных расчетов. Основной анализ погоды Земли, выполненные в 1920-х годах, ввели сетку на поверхности Земли, и разработали ряд дифференциальных уравнений, описывающих, как погода изменилась в каждой точке сетки. Уравнений, описывающих такие вещи, как поглощение солнечной энергии, рассеивание ветра, движение влажности и колебание температуры. Хотя некоторые значения передаются от точки к точке, многие расчеты могут выполняться параллельно. Это может быть оценено на основе сравнения двух точек на противоположных сторонах земного шара. Погода в Лондоне имеет мало связей с погодой на Таити, расчеты для двух мест может быть сделано в то же время. Другие виды проблем, которые разделяют такой геометрический параллелизм, включает стресс анализа структуры, обработка графических изображений, моделирования жидкости или воздуха, а также моделирования ядерных взрывов. Эта последняя проблема имеет решающее значение для эволюции суперкомпьютеров. Многие суперкомпьютеры были разработаны для Министерства обороны США в 1960-х и 1970-х годов. США лаборатории ядерных исследований помогали тестировать эти машины, их отладки и создания программного обеспечения для них.
  Первые попытки использовать параллелизм производства суперкомпьютеров называется векторной машиной. Векторные процессоры могут выполнять те же инструкции несколько раз на большом количестве данных. Эти машины часто ассоциируется с дизайнером Сеймуром Креэм (Seymour Cray). Первое, используемых Sperry-Rand, он помог основать два суперкомпьютера производителей: Control Data Corporation (CDC) и Cray Research. Его первая параллельная машина CDC 6400, о котором было объявлено в 1964 году. Это была машина «смотреть вперед» элементы машины могут работать автономно и блок управления может выполнять инструкции из последовательности. Если она столкнулась с командой, которая необходима схемам, которые в настоящее время используются, совершается переход к следующей инструкции и старается ее выполнить. Он расширил эту идею в его ближайших двух машинах, CDC 7600 и Cray I.
  Векторный процессор Cray «Я эксплуатирую параллелизм в пределах арифметики с плавающей точкой». Как числа с плавающей точкой записываются в научной нотации, основные операции, такие как сложение, вычитание, умножение и деление являются более сложными, чем арифметика целых чисел. Плавающая точка, кроме того, имеет четыре отдельных шага и требует трех отдельных сложений или вычитаний. Cray разработал логические схемы для выполнения каждого шага операций с плавающей запятой. Затем он организовал эти схемы в логических сборочных линиях, аналогичных по концепции на сборочные конвейеры автомобильного завода. Сборочная линия имела четыре этапа, каждый из которых соответствует одному из этапов. Поскольку данные передаются в строки, они останавливались на каждом этапе, чтобы иметь часть операции с плавающей точкой. Как только труба была наполнена данными и подвергалась обработке, она будет производить дополнения в четыре раза быстрее, чем процессор, который сделал один полный анализ с плавающей точкой.
  Векторные процессоры способны были развивать большие скорости. Если все части Cray «Он будет производить 133 000 000 операций с плавающей запятой в секунду, или мегафлоп». Тем не менее, проблемы достижения этой скорости проиллюстрировали проблемы с программным обеспечением для суперкомпьютерных дизайнеров. Если программа делает интенсивное использование векторного процессора, машина бежит на долю его максимальной скорости, наблюдение известно как закон «Амдала». Векторные оборудование могут быть в тысячу раз быстрее, чем основной процессор или даже в миллион раз быстрее, но если программа использовала его лишь 5 процентов времени, суперкомпьютер будет работать только на 5 процентов быстрее, чем обычные машины, потому что суперкомпьютер будет всегда ждать главного процессора для завершения своей работы. Как следствие, программисты радикально научились переписывать код для того, чтобы сохранить векторный процессор полностью в роботе, процесс, известный как «векторизация». Они обнаружили, что векторизация программ изменила порядок основных операций и требует значительно больше памяти для хранения промежуточных результатов. Векторизация может иметь трудоемкий процесс и трудности, чтобы оправдать, если программа была запущена несколько раз. Тем не менее, в начале 1980-х годов, разработчики программного обеспечения создали оптимизацию FORTRAN компиляторы, которые автоматически писали программы для векторной машины.
  В конце 1980-х годов, суперкомпьютерные исследования стали переходить от больших векторных машин к сети более мелких и менее дорогих машин. Эти машины обещают быть экономически эффективными, хотя ученые-компьютерщики часто обнаружили, что эти кластеры или процессоры могут быть более трудными, чем программа векторных машин. Они экспериментировали с различными конфигурациями процессоров, в какой степени они разделяют общую память, и то, каким образом они были под контролем. Некоторые машины, такие, как процессор Берроуз, использовался один поток команд для управления массивом процессоров, которые работали с одной памятью. С другой стороны, Cray X-MP был независимым процессором, каждый из которых имел большую выделенную память. Между этими двумя, упала машина, такая как Connection Machine. Она состояла из большого числа процессоров, каждый из которых имел небольшое количество независимой памяти. Важным шагом в этой работе пришло в 1994 году, когда группа проекта NASA Beowulf. Беовульф машины могут быть собраны из коммерческих процессоров с использованием стандартного сетевого оборудования. Немногие программисты могут использовать всю мощь этих машин, но они были настолько недорогими, что многие из них были в состоянии использовать их. Оригинальный NASA Beowulf стоил $ 40000 и обладает потенциалом расчета один миллиард операций с плавающей запятой в секунду. С появлением недорогих суперкомпьютеров, эти машины вышли за пределы больших лабораторий правительства в меньшие исследования и инженерные сооружения. Некоторые из них были использованы для изучения социальных наук. Несколько были приняты на работу бизнес машинами, такие как акции брокерских или графических дизайнеров.

Похожие статьи

Последние публикации
Последние комментарии