<<
>>

Классификация компьютеров, краткие характеристики суперкомпьютеров, мейнфреймов и мини-компьютеров

Хотя современные персональные компьютеры (ПК) обладают впечатляющими возможностями, которые существенно расширились в связи с появлением 64-разрядных микропроцессоров, не следует полагать, что они справятся с любой задачей.
Неявным подтверждением этого является несколько уровней технических средств, традиционно развивающихся на протяжении многих лет в мире (суперкомпьютеры, мейнфреймы) и появившихся сравнительно недавно (мини-компьютеры, микрокомпьютеры, ПК, рабочие станции, серверы и суперсерверы).

Хотя сложившаяся классификация ЭВМ в последнее время подвергается значительным изменениям, тем не менее, до последнего времени эксплуатируются все перечисленные выше типы компьютеров.

82


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

При выборе вычислительных средств рекомендуется пользоваться следующим правилом: «из всех возможных вариантов построения системы наилучшим является тот, который обеспечивается наиболее простой архитектурой». Только когда ее возможностей не хватает, следует рассматривать более сложную организацию. Практикой доказано, что:

лучше использовать один быстрый компьютер, чем много медленных;

проблему создания необходимого количества рабочих мест (активных экранов) лучше решать с помощью многопользовательских систем, чем с помощью локальных систем ПК;

массовый параллелизм можно использовать только при полной уверенности в реально существующем параллелизме приложений.

Суперкомпьютеры - один из наиболее динамично развивающихся классов компьютеров, имеющих обширные и очень важные области применения.

По данным ведущих специалистов фирмы Intel рынок высокопроизводительных вычислений растет. К 2007 г. его объем уже достиг 10 млрд дол., а в некоторых секторах ежегодный прирост продаж превышает 30 %.

На начальном этапе потребность в компьютерах сверхвысокой вычислительной мощности была связана задачами в области аэродинамики, сейсмологии, метеорологии, атомной и ядерной физики, а также для физики плазмы, которые можно отнести к области моделирования сплошных сред.

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


83


ность, скорость и температура движущегося газа, напряжение в твердом теле или составляющая электромагнитной силы.

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

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

Реализация методов дискретизации на исследуемом пространстве приводит к необходимости решения больших систем линейных (нелинейных) уравнений для довольно большого количества параметров исследуемого пространства. По данным из различных зарубежных источников, требуемая производительность для решения задач NASA - 1018 FLOPS, физики плазмы 3*1020 FLOPS, предсказания погоды 1016 — 1022 FLOPS, молекулярной динамики 20* 1015 FLOPS, вычислительной космологии 10_19 FLOPS (десять квинтиллионов).

В связи с этим разработчикам пришлось перейти на новый уровень размерностей для оценки производительности компьютеров и емкости оперативной и внешней памяти (табл. 2.1).

В настоящее время в связи с глобальными изменениями в технологии элементной базы суперкомпьютеров и естественным уменьшением стоимости сфера их применения значительно расширилась. Это и распределенные СУБД, криптография, нефтедобывающая промышленность и прочие применения.


84


Таблица 2.1


Кроме всего прочего, рядовому пользователю полезно иметь представление о суперкомпьютерах и потому, что все новейшие технологические достижения, обычно появляются в суперкомпьютерах, но рано или поздно далее становятся достоянием масс, работающих на ПК. Так было уже не раз: виртуальная память, кэшпамять, конвейерное выполнение команд, предсказание ветвлений, суперскалярная архитектура и симметричное мультиплексирование, впервые нашли применение в мейнфреймах и суперкомпьютерах, уже стали привычным атрибутом настольных систем. Как показывают исследования, в среднем вычислительная мощь настольных ПК отстает от уровня производительности суперкомпьютеров на 13 лет. Иными словами, по уровню производительности сегодняшние профессиональные ПК практически полностью соответствуют суперкомпьютерам 13-летней давности.

Термин «суперкомпьютер» был использован в начале 60-х годов прошлого столетия, когда группа специалистов Иллинойского университета предложила идею реализации параллельного компьютера - проект, получивший название SOLOMON, базировался на принципе векторной обработки, которая была сформулирована Джоном фон Нейманом (J. von Neuman), и концепции матричнопараллельной архитектуры, предложенной С. Унгером (S.H. Unger) в начале 50-х годов.

В 60-х годах количество суперкомпьютеров исчислялось единицами, в 1988 г. (по данным США) их количество достигло 40 шт., в 1991 г. - 760 шт. (Cray Corp, Fujitsu, Hitachi, Nippon Electric (NEC)). После 2000 г. началось массовое производство машин этого класса.

В 80-е годы под суперкомпьютерами было принято считать вычислительные системы с производительностью не меньше 100 млн


85


операций с «плавающей точкой» в секунду (мегафлоп/с*), при работе с 64-разрядными словами в поле оперативной памяти не меньше одного мегабайта. «Плавающая точка» относится к двоичной версии хорошо известного в научной практике метода представления чисел, когда число записывается в виде произведения, в котором один множитель (мантисса) имеет величину между 0,1 и 1, а другой (порядок) является степенью 10, так 6600 можно записать как 0,66 • 104, а 66 - как 0,66 • 102. Такое представление удобно в научных расчетах, поскольку часто диапазон величин, входящих в задачу бывает очень большим. В компьютерах принято двоичное представление чисел с «плавающей точкой». Для суперкомпьютеров, имеющих длину слова 64 разряда, 49 разрядов отводится под мантиссу и 15 разрядов под показатель степени, что позволяет работать в диапазоне 10-2466 - 102466 с точностью 15 десятичных разрядов мантиссы. К операциям с «плавающей точкой» относятся сложение, вычитание, умножение и деление двух операндов.

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

При определении быстродействия суперкомпьютера время, затрачиваемое на извлечение операндов из оперативной памяти и запись в оперативную память, входит в продолжительность операции.

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


Различают пиковую и реальную производительность суперкомпьютеров. Пиковая производительность многопроцессорной системы - теоретическое значение, недостижимое на практике. Оно получается умножением пиковой производительности отдельного процессора на число процессоров в системе. Пиковая производительность отдельного процессора в общем случае получается путем умножения его тактовой частоты на максимальное число операций, выполняемое за один такт.

Реальной называют производительность, полученную при решении реальной задачи (академической или промышленной). Так, системы в рейтинге самых мощных суперкомпьютеров (ТОР-500) ранжируются по результатам теста ЫЫРЛСК - реальной академической задачи на решение системы линейных уравнений.

86



Рассмотрим, каким же образом достигается сверхвысокое быстродействие в суперкомпьютерах. Повышение быстродействия компьютера обеспечивается, в основном, двумя факторами: увеличение быстродействия микро- (нано) электронных компонентов и аппаратного обеспечения для одновременного выполнения максимально возможного числа операций.

Каким образом можно распараллелить алгоритмы пользователя и как этот параллелизм обеспечивается архитектурой компьютера?

На первых порах принцип фон Неймана предполагал единственную, как тогда казалось, архитектуру компьютера: процессор по очереди выбирает команды программы и также по очереди обрабатывает данные. Всё строго последовательно, просто и понятно, однако очень скоро выяснилось, что компьютерные вычисления обладают естественным параллелизмом, т.е. большая или меньшая часть команд программы может выполняться одновременно и независимо друг от друга. Вся дальнейшая история вычислительной техники развивалась в соответствии с логикой расширения параллелизма программ и компьютеров, и каждый новый шаг на этом пути предварялся теоретическим анализом.

Упоминавшийся ранее известный специалист по архитектуре М. Флин обратил внимание на то, что существует две причины, порождающие вычислительный параллелизм, - независимость потоков команд, одновременно существующих в системе, и не связанность данных, обрабатываемых в одном потоке команд. Если первая особенность параллелизма вычислительного процесса достаточно известна (это обычное мультипроцессирование) и не требует особых комментарий, то на параллелизме данных следует остановиться более подробно, поскольку в большинстве случаев он существует скрыто от программиста и используется ограниченным кругом программистов.

Простейшим примером параллелизма данных является последовательность из двух команд:

а) А = В + С; в противоположность б) С = Е * Е;

В = Е * Е; А = В + С.

Если строго следовать принципу фон Неймана, то вторая операция может быть запущена на исполнение только после завершения


87


первой операции. Однако очевидно, порядок выполнения этих команд не имеет никакого значения - операнды А, В и С не связаны с операндами В, Е и Е второй команды. Иными словами, обе операции являются параллельными. Практически любая программа содержит группы операций над параллельными данными.

Другой вид параллелизма данных, как правило, возникает в циклических программных конструкциях типа ВО, в которых одни и те же операции выполняются десятки, сотни, а иногда и тысячи раз. И именно в этих операциях скрыт очень большой потенциал повышения производительности компьютеров. Известный специалист в области системного программирования Д. Кнутц (Б. КпиШ) показал, что циклы ВО, занимая даже менее 4 % кода фортранпрограмм, требуют более половины времени выполнения задач. В связи с этим возникает естественное желание ускорить выполнение циклических вычислений, и для большинства прикладных задач решение этой проблемы найдено с помощью введения класса векторных вычислений. Для программиста вектор - лишь упорядоченный список данных или одномерная матрица и 5[1:Л], эле

менты которого должны быть занесены в память неким стандартным способом. Число элементов списка называется длиной вектора (в отличие от более известного определения вектора в математике и физике). Простейшим примером цикла ВО может служить операция сложения двух одномерных матриц (векторов):

Понятно, что для обработки цикла, взятого в качестве примера, компьютер фон Неймана должен выполнить, как минимум, N сложений элементов векторов А и В, не считая 2N команд приращения индекса и условного перехода. Идея векторной обработки циклов такого рода заключается в том, что в систему команд компьютера вводится векторная операция сложения , которая задает сложение всех элементов - операндов. При этом реализуются сразу две возможности ускорения вычислений: во-первых, сокращается число выполняемых процессором команд объектного кода, по-


88


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

В более общем случае, когда цикл ВО содержит группу команд, можно говорить о том, что один поток команд (последовательность операций, записанных в теле цикла) обрабатывает множество потоков параллельных данных. Существует широкий класс задач (аэродинамики, ядерной физики, геологии, метеорологии, обработки изображений и т.д.), в которых процесс операций выполняемых в циклах ВО, достаточно велик и достигает 80 - 90 %.

Теоретическое осмысление проблемы программного параллелизма привело к созданию достаточно близких по смыслу классификаций, из которых наиболее признанной считается классификация по шести уровням параллелизма, предположенная П. Треливе- ном (РС. Тге1еауеп) из университета Ньюкастла (рис. 2.11).



Рис. 2.11. Классификация по шести уровням параллелизма

89


Три верхних уровня параллелизма занимают крупные программные объекты - независимые задания, программы и процедуры программы. Несвязанные операторы, циклы и операции образуют нижние уровни параллелизма. С учетом классификации Фли- на, которая была рассмотрена в разд. 2.4, становится почти очевидно, что параллелизм верхнего уровня, в основном, достигается за счет множества независимых командных потоков, а параллелизм нижнего уровня обязан своим существованием, главным образом, несвязанным потоком данных.

Каким же образом происходило развитие параллельных архитектур, и какими средствами располагают современные суперкомпьютеры для превращения программного параллелизма в характеристики производительности системы?

По мере развития вычислительной техники архитектура фон Неймана обогатилась сначала конвейером фаз операций, затем многофункциональной обработкой и получила обобщенное название SISD. Оба вида средств низкоуровнего параллелизма впервые были введены в компьютерах Control Data 6600 и 7600 в начале 70-х годов и с тех пор применяются во всех компьютерах повышенного быстродействия. Дело дошло до того, что конвейерная обработка используется даже в микропроцессорах, начиная с Intel 80486.

Из всех типов параллелизма операций архитектуры класса SISD не охватываем только один - параллелизм циклов и итераций, который тесно связан с понятием множественности потоков данных и реализуется векторной обработкой, что соответствует архитектуре SIMD (по М. Флину).

Первоначальный этап развития суперкомпьютеров связан с созданием так называемых матричных структур, реализующих SIMD- архитектуру. Это - группа процессоров, разделяющих общую память и выполняющих один поток инструкций, способных выполнять операции над матрицами, - примитивные инструкции. Количество процессоров, входящих в группу, может составлять 1000 и более.

Одним из важнейших вопросов для параллельных структур был вопрос обмена множества процессоров с модулями ОП (рис. 2.12). Разделение памяти позволяет всем процессорам параллельной системы иметь доступ к глобальным, или общим модулям памяти. В простой схеме разделения памяти (см. рис. 2.12, а) каждый процес


90


сор непосредственно соединяется с каждым банком памяти. Недостаток здесь в том, что процессоры и банки памяти должны иметь очень большое количество соединительных линий. Другое решение (см. рис. 2.12, б) дает «шина» - общий канал связи, по которому каждый процессор посылает запросы к банкам памяти, а последние выдают данные. Такая «шина» может быть перегружена (и, следовательно, работать медленно), когда требуется передавать много сообщений. Еще одно решение представляет собой так называемая «сеть омега» (см. рис. 2.12, в), в ней процессоры связываются с модулями памяти коммутирующими устройствами, у каждого из которых два входных и два выходных канала. В такой сети каждый процессор может напрямую связываться с каждым модулем памяти, однако здесь нет нужды в таком большом количестве линий связи, которого требует система с прямыми связями.

Преимущества сети становятся все более очевидными по мере роста числа процессоров и модулей памяти. Недостаток ее в том, что иногда сообщения проходят через множество коммутирующих станций, прежде чем достигают абонента.

Рассматриваемая схема с общей, разделяемой ОП (которая на сегодняшний день используется в традиционных суперкомпьютерах), наряду с очевидными преимуществами простого программирования обменов данными между процессорами, по мере увеличения числа процессоров имеет серьезный недостаток - плохую масштабируемость. Система называется хорошо масштабируемой, если увеличение процессорных элементов (ПЭ) приводит к адекватному увеличению производительности). Это связано с увеличением потерь времени (при увеличении числа процессоров) на доступ к необходимым данным в любой из рассмотренных схем. Тем не менее, все эти схемы применялись и применяются на компьютерах различных типов, в современной классификации эта схема называется SMP (Symmetric Multi Processing).

Этого недостатка лишены системы с распределенной памятью. Здесь у каждого процессора, а в некоторых случаях группы, или кластера процессоров имеется своя собственная ОП, доступ к которой осуществляется без помех. Платой за это является невозможность использовать память соседнего вычислительного узла. Термин «Массивно параллельные системы» (MPS) применяется обычно для обозначения таких масштабируемых компьютеров с боль-


91


шим числом узлов (сотни, а иногда и тысячи). В соответствии с классификацией Флина такие системы идентифицируются как М8!МБ.

Рис. 2.12. Различные варианты обмена информацией для параллельных структур

В системах распределенной памяти устанавливаются соединения между процессорами, каждый из которых монопольно владеет некоторым количеством памяти. Простейшие схемы соединения процессоров - «кольцо» (рис. 2.13, а) и «решетка» (рис. 2.13, б). Более специализированная структура связей - «двоичное дерево»

92




(рис. 21.13, г). Особенно эффективна она в так называемых экспертных системах, в которых последовательности принятия решений могут быть представлены в виде «дерева». Можно также соединить каждый процессор с каждым (рис. 2.13, в), но для этого потребуется нереально большое количество соединений.

Оптимальным с точки зрения связей считается гиперкуб (рис. 2.13, д), реализованный в первом проекте американского суперкомпьютера. В этой схеме процессоры играют роль вершин многомерного куба и соединены его ребрами, они находятся в вершинах четырехмерного куба.



Рис. 2.13. Способы возможного взаимодействия процессоров: а - «кольцо»; б - «решетка»; в - каждый с каждым; г - «дерево»; д - гиперкуб

В такой системе каждый процессор может посылать сообщения любому другому процессору по сравнительно короткому пути, при этом процессоры не перегружаются слишком большим количеством соединений.

Значительно расширились возможности суперкомпьютеров благодаря использованию векторно-конвейерной обработки, представляющей пространственно-временное распараллеливание процессов


93


обработки, внедрение которой связывают с именем Сеймура Крея, основателя фирмы Cray Research Inc., которая до 90-х годов лидировала в производстве суперкомпьютеров.


Рис. 2.14. Принцип конвейерной архитектуры

Конвейерная обработка - метод повышения быстродействия одиночного процессора - подобно линии сборки автомобиля на конвейере (рис. 2.14). Идея, впервые использованная Генри Фордом, (см. рис. 2.14, б) оказалась весьма перспективной и в области вычислительной техники.

94


Любая вычислительная операция распадается на ряд шагов, выполняемых специализированными компонентами процессора (реализующими его систему команд). В обычном процессоре (см. рис. 2.14, а) пока одна компонента работает, остальные бездействуют (простаивают). На рис. 2.14, в операция умножения распадается на следующие шаги: извлечение из памяти порядка и мантиссы обоих чисел и выделение этих частей, сложение порядков, умножение мантисс и представление результатов в требуемой форме.

Процессор с конвейерной организацией действует аналогично автомобильному конвейеру, при выполнении шага операций над одной парой чисел другая пара поступает для выполнения того же шага, не дожидаясь, пока первая пара пройдет все этапы операции. Естественно, что любая конвейерная обработка имеет смысл при массовом производстве и эффект от нее наступает после заполнения конвейера вновь поступающими данными («мертвое» время конвейера). При этом скорость конвейерной обработки зависит от длины конвейера. Так, если длина конвейера равна N компонентам, то после заполнения такой процессор будет работать в N раз быстрее обычного процессора последовательной обработки. Выбор длины конвейера - вопрос достаточно сложный, поскольку любая параллельная обработка (в том числе и векторная) предполагает соблюдение двух основных требований - независимость потока команд и независимость потока данных. Большие сложности при работе конвейеров представляют ветвящиеся алгоритмы. Хотя разработчики принимают немалые усилия для преодоления этих трудностей (сцепление конвейеров, «спекулятивное» выполнение инструкций, эвристическое предсказание переходов и т.п.). Начало конвейерной обработке положила поточная обработка в первых суперкомпьютерах с разделением процессоров на процессоры команд (осуществляющие доставку и дешифровку команд данных) и процессоры обработки данных, производящие непосредственную обработку. При этом для исключения потерь времени на доставку дешифровка следующей команды осуществляется процессором команд во время выполнения текущей команды процессорами обработки данных. Эта процедура в настоящее время реализована практически во всех современных микропроцессорах (начиная с Intel 8086).


95


Как известно, жизнь развивается по спирали. В 1972 г. после преодоления значительных проблем на аппаратном и программном уровне в исследовательском центре NASA в Эймсе был установлен первый в мире векторный суперкомпьютер с матричной структурой ILL IAC4. С ним связано введение элементов MSIMD архитектуры и начало параллельного программирования. Изначально система должна была состоять из четырех квадрантов, каждый из которых включает 64 процессорных элемента (ПЭ) и 64 модуля памяти, объединенных коммутатором на базе сети в гиперкуб. Все ПЭ квадранта обрабатывают векторную инструкцию, которую им направляет процессор команд, причем каждый выполняет одну элементарную операцию вектора, данные для которой сохраняются в связанном с этим ПЭ модулем памяти. Таким образом, квадрант ILLIAC4 способен одновременно обрабатывать 64 элемента вектора, а вся система из четырех квадрантов 256 элементов.

Результаты эксплуатации этой системы получили неоднозначную оценку. С одной стороны, использование суперкомпьютера позволило решить ряд сложнейших задач аэродинамики, с которыми не могли справиться ни одни из существующих в США машин. С другой стороны, ILLIAC4 так и не были доведены до полной конфигурации из 256 ПЭ, практически разработчики ограничились лишь одним квадрантом. Причинами явились не столько технические сложности в наращивании числа ПЭ системы, сколько проблемы, связанные с программированием обмена данными между процессорными элементами через коммутатор модулей памяти. Все попытки решить эту проблему с помощью системного программного обеспечения потерпели неудачу, в результате каждое приложение требовало ручного программирования передач коммутатора, что и породило неудовлетворительные отзывы пользователей.

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


96


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

Решение большинства перечисляемых проблем было найдено в конце 60-х годов «патриархом» суперкомпьютерных технологий Сеймуром Крейем. Он представил машину, основанную на векторно-конвейерном принципе обработки данных.

Отличие векторно-конвейерной архитектуры от архитектуры матричных компьютеров заключается в том, что вместо множества ПЭ, использующих одну и ту же команду над разными элементами вектора, применяется единственный конвейер операций, имеющий всего один вход и один выход результата. Другими словами, в суперкомпьютерах с конвейерной обработкой данные всех параллельно исполняемых операций выбираются и записываются в единую память (не разделяемую) и отпадает необходимость в коммутаторе процессорных элементов, основной проблеме матричных суперЭВМ.

Дальнейшее развитие векторно-конвейерной обработки связано с многоконвейерной и построением многоконвейерных цепочек (или иначе векторно-командных цепочек). Суть его заключается в следующем: если в программе встречаются две связанные векторные операции (т.е. результат первой операции служит операндом второй), то в отличие от связанных скалярных операций, когда выполнение второй операции начинается только после завершения предыдущей, обе векторные команды могут обрабатываться практически параллельно, что удваивает производительность системы.

Допустим, программист задает цикл.


97


Тогда после векторизации компилятор организует две векторные команды

Формально вторая операция может стартовать только после окончательного вектора результата операции С, однако структура процессора позволяет запустить связанную операцию, как только сформируется первый элемент С.

В результате такого зацепления векторных операций суммарное время выполнения исходного цикла не на много превосходит этот показатель для одной векторной команды (рис. 2.15).



Рис. 2.15. Сцепление конвейеров

Важным достоинством векторно-конвейерной обработки является возможность использования традиционных (последовательных) языков программирования, а также разработка так называемых «интеллектуальных компиляторов», способных обнаруживать параллелизм в программах последовательного действия и преобразовывать их в векторизированный код. Следует отметить, что параллельные компиляторы хотя и называются интеллектуальными, в качестве обязательных средств содержат интерактивные оптимиза

98



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

До 90-х годов многопроцессорные, многоконвейерные суперкомпьютеры с общей для всех процессоров памятью доминировали, но затем ситуация стала возвращаться (на новом уровне) к системам с разделяемой памятью (вспомним ILLIAC4). Это объясняется тем, что примерно до середины 90-х годов XX в. основное направление развития суперкомпьютерных технологий было связано с построением специализированных многопроцессорных систем из массовых микросхем. Один из сформировавшихся подходов, упоминавшийся ранее, - SMP (Symmetric Multi Processing), подразумевал объединение многих процессоров с использованием общей памяти, что сильно облегчало программирование, но предъявляло высокие требования к самой памяти. Использовалась как поточная, так и векторная обработка. Сохранить быстродействие таких систем при увеличении количества узлов до десятков было практически невозможно. Кроме того, этот подход оказался самым дорогим в аппаратной реализации. На порядок более дешевым и практически бесконечно масштабируемым оказался упоминавшийся ранее способ MPP (Massively Parallel Processing), при котором независимые специализированные вычислительные модули объединяются специализированными каналами связи, причем те и другие создавались под конкретный компьютер и ни в каких других целях не применялись.

Идея создания кластерных рабочих станций явилась фактически развитием метода MPP, поскольку логически МРР не сильно отличается от обычной локальной сети. Локальная сеть стандартных персональных компьютеров при соответствующем программном обеспечении, использовавшаяся как многопроцессорный суперкомпьютер, и стала прародительницей современного кластера. Сейчас слова «кластер» и «суперкомпьютер» в значительной степени синонимы (хотя традиционные кластеры по-прежнему имеют широкое распространение). Эта идея получила воплощение, когда благодаря оснащению персональных компьютеров высокоскоростной шиной PCI и появлению дешевой, но быстрой сети Fast Ethernet кластеры стали


99


догонять специализированные МРР-системы по коммуникационным возможностям. Это означало, что современную МРР-систему можно создать из стандартных серийных компьютеров при помощи серийных коммуникационных технологий, причем такая система обходится дешевле, в среднем, на два порядка.

Некоторым промежуточным архитектурным решением представляется разработанный фирмой IBM суперкомпьютер SP (Scalable POWERparallel), получивший широкое распространение. Он представляет так называемую MSIMD-архитектуру, которую иногда называют массивно параллельной обработкой по схеме неразделяемых ресурсов, а иногда масс-процессорной макроконвейерной или динамической сетевой архитектурой. Компьютер построен на основе фактически автономных рабочих станций этой фирмы RS-6000, на базе 64-разрядного RISC-процессора POWER . Модули объединяются с помощью специализированной коммуникационной матрицы. Система построена по модульному принципу, расширяется от 16 до 152 узлов, структура коммуникационной матрицы может настраиваться на конкретное приложение.

Мощный толчок развитию кластерных технологий дал быстрый рост производительности вновь выпускаемых массовых процессоров. Это сделало высокопроизводительные решения доступными даже для отечественных производителей и привело к появлению отечественных суперкомпьютеров на уровне западных и японских моделей. Самый мощный кластер в России на 2005 - 2006 гг. - МВС 15000 БН с реальной производительностью 5,3 TFlops, построен из вычислительных узлов компании IBM на базе процессоров POWER PC и системной сети Myrinet.

Доля кластеров в списке суперкомпьютеров за период с 2000 до 2004 г. увеличилась с 2,2 до 60,8 %. При этом более 71,5 % процессоров, используемых для создания суперкомпьютеров, - массово выпускаемые процессоры компаний Intel и AMD.

Кластерные технологии используются и в новейших суперкомпьютерных разработках ведущих изготовителей: например, в самом мощном суперкомпьютере IBM BlueGene/L с производитель-


* POWER - P(erformance) O(ptimization) W(ith) E(nhanced) R(ISC).

100



ностью более 136 TFlops использовались многие элементы кластерной архитектуры.

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

Компьютерная обработка геофизических данных позволяет создавать высокодетализированные модели нефтяных и газовых месторождений, обеспечивая более эффективную, безопасную и дешевую разработку скважин. В табл. 2.2 и 2.3 представлены сравнительные данные по различным областям использования суперкомпьютеров и сравнительные данные их производительности в этих областях.

Несколько слов об архитектуре суперкомпьютеров на базе кластерных систем, как наиболее перспективном направлении развития подобного вида компьютеров. Как уже указывалось, кластер состоит из вычислительных узлов на базе стандартных процессоров. Большинство таких систем высшего уровня (Тор 500) выполнены на процессорах Intel (Xeon, Xeon EM64, Itanium 2). Часто используются процессоры POWER 2 и POWER 2 PC компании IBM. Одно время популярностью пользовались процессоры АМБ (Operton и его многоядерные версии).

Каждый узел работает под управлением своей копии операционной системы, в большинстве случаев - Linux. Состав и мощность узлов могут быть разными в рамках одного кластера, однако чаще они строятся из однородных компонентов.


101


Таблица 2.2

Сравнительные данные по использованию суперкомпьютеров


Таблица 2.3

Сравнительные данные по производительности суперкомпьютеров

Области

использования

Максимальный уровень, ОЕЬорз Средний уровень, ОЕЬорз
в мире в СНГ (Тор 50-2) в мире в СНГ (Тор 50-2)
Исследования 136 800 3052 (меньше в 44 раза) 1800 120 (меньше в 15 раз)
Финансы 4713 438,6 (меньше в 10,7 раза) 1500 139 (меньше в 10,7 раза)
Промышленность 3755 2032 (меньше в 1,8 раза) 1500 165 (меньше в 9 раз)
102


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

Хотя конкретная архитектура кластера определяется архитектурой решаемой задачи, с самых общих позиций структура любого кластера включает в себя следующие взаимосвязанные элементы, показанные на рис. 2.16.


Рис. 2.16. Схема кластерной конфигурации

103



Системная сеть, или высокоскоростная коммуникационная среда, выполняет задачу обеспечения эффективности вычислений. Для задач, не требующих интенсивных обменов данными, наиболее доступный тип коммуникационной среды - это Gigabit Ethernet. Для задач, требующих высокие скорости обменов, применяются специализированные коммуникационные устройства, более чем в два раза превышающие пропускную способность Gigabit Ethernet. Правда, стоимость их значительно выше.

Задача эффективного доступа узлов к данным решается с помощью вспомогательной сети (как правило, Gigabit Ethernet). Сервисная сеть отвечает за распределение задач между узлами кластера, а также за управление узлами (без участия операционной системы).

Конкретная архитектура кластеров определяется областью их применения. Можно выделить четыре типа кластерных систем: вычислительные кластеры; кластеры баз данных; отказоустойчивые кластеры; кластеры для распределения загрузки.

Первые два типа кластерных систем не требуют пояснений, за исключением, может быть, того, что вычислительные кластеры - наиболее многочисленный вид кластеров и их разновидности определяются областями их применения, указанными в табл. 2.2 и 2.3.

Отказоустойчивые кластеры строят для того, чтобы наилучшим образом обеспечить надежность работы критически важных применений. Работа приложения дублируется на разных узлах, и в случае ошибки на одном из них приложение продолжает работать или автоматически загружается на другом.

Кластеры распределения загрузки используются для распределения большого потока запросов по многим серверам. Такие решения часто применяются для поддержки Web-узлов с динамическим содержимым, постоянно обращающихся к базам данных, например поисковых систем. В зависимости от размера сервиса кластеры распределения загрузки могут иметь достаточно большое количество узлов.

В заключении этого обсуждения компьютеров высшей производительности необходимо кратко остановиться на вопросе, который имеет к этим машинам непосредственное отношение. Очень пер


104


спективным способом организации использования суперкомпьютеров является разработанный в рамках Европейского Союза так называемый Data Grid Project, нацеленный на создание сети европейских суперкомпьютеров Data Grid Intranet.

Грид (GRID) - перспективное направление развития информационных технологий (ИТ). Хотя оно не нашло воплощения в индустриальных стандартах (2005 г.), все страны - лидеры ИТ рынка имеют государственные программы разработки грид-технологий.

Термин «грид» применяется по аналогии с понятием «Power grid» - система, интегрирующая мощности электрических сетей в единое «хранилище» энергии, откуда она перераспределяется вне зависимости от ее источника. Внедрение таких технологий в сфере высокопроизводительных вычислений позволит кардинально упростить доступ к вычислительным ресурсам и сделать их использование на порядок более эффективным. Помимо интеграции вычислительных ресурсов грид-технологии позволят интегрировать разнородные емкости хранения информации и базы данных для создания глобального информационного пространства. Основные цели этого проекта следующие:

интеграция вычислительных мощностей - интеграция разнородных вычислительных систем в единое пространство с динамическим распределением ресурсов между приложениями;

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

Этот проект в Европе ориентирован на три основные приложения:

физика высоких энергий в рамках Международного центра ядерных исследований (CERN - Швейцария), где требуются колоссальные вычислительные мощности как для управления крупнейшими в мире ускорительными комплексами, так и особенно для обработки результатов физических экспериментов;

биология и медицина (в рамках организации CNRS - Франция);

мониторинг окружающей среды (в рамках Европейского агентства ESA - Италия).

Также следует отметить, что постоянно растущие потребности во всебольшей производительности компьютеров ставят вопрос о


105


предельных возможностях традиционной архитектуры фон Неймана на базе кремниевой твердотельной электрике.

Появляется ряд чисто теоретических разработок архитектур, определяющих дальнейшее развитие компьютерных технологий, - это квантовый компьютинг, молекулярный компьютинг, нейронный компьютинг, компьютер на основе ДНК-логики и т.п. Учитывая, как давно ведутся разговоры о нейрокомпьютинге, при отсутствии реальных результатов внедрения его в практическое использование трудно ожидать от всех перечисленных предложений прорывных результатов в ближайшем будущем.

Мейнфрейм - синоним понятия «большой универсальный компьютер». Мейнфреймы и до сегодняшнего дня остаются наиболее мощными (не считая суперкомпьютеров) вычислительными системами общего назначения, обеспечивающими непрерывный круглосуточный режим эксплуатации. Они могут содержать один или несколько процессоров, каждый из которых, в свою очередь, может оснащаться векторными сопроцессорами (ускорителями операций с суперкомпьютерной производительностью). Прогресс в области элементно-конструкторской базы позволил существенно сократить габариты основных устройств. Наряду со сверхмощными мейнфреймами, требующими организации двухконтурной водяной системы охлаждения, имеются менее мощные модели, для охлаждения которых достаточно принудительной воздушной вентиляции. Эти модели построены по блочно-модульному принципу и не требуют специальных помещений и кондиционеров.

Основными поставщиками мейнфреймов являлись известные компьютерные компании Amdahl, ICL, SIEMENS NIXDORF и некоторые другие, но ведущая роль всегда принадлежала, безусловно, компании IBM. Именно проект по созданию новой архитектуры компьютеров - мейнфреймов, реализованный IBM в первой половине 1960 г., определил одно из основных направлений развития компьютерной индустрии на долгие годы. Этот проект был нацелен на создание стандартизованной, хорошо масштабируемой, высоконадежной архитектуры компьютеров универсального назначения. 4 апреля 1964 г. появилось семейство вычислительных машин IBM-System/360, первоначально включающее в себя восемь моделей: нижнего (1), среднего (3) и высшего (4) уровня.


106


Большие универсальные компьютеры IBM 360 были первыми в мире системами, предназначенными как для коммерческих, так и для научных целей. Эта серия дополнялась в процессе развития еще шестью моделями как среднего, так и высшего (научного) уровня. Модели строились на базе стандартных аппаратурных и программных продуктов и были совместимы сверху вниз, имея единую систему команд.

В начале 1970-х годов 1ВМ выпустила на рынок новое поколение машин, получивших название System 370, совместимых с системой IBM 360, но использовавших усовершенствованные процессоры, оперативную и внешнюю память. Это позволило расширить их возможности по поддержке одновременно работающих пользователей и более ресурсоемких и динамических приложений. Основные новации IBM 370 - возможность использования нескольких процессоров в рамках одной системы, полноценная поддержка виртуальной памяти и новый 128-разрядный блок вещественной арифметики. Всего было выпущено около 17 моделей разного уровня. Эти компьютеры использовали специализированные операционный системы: OS/360, OS/370, MVS (Multiple Virtual Storage) и ее вариации.

Новое поколение мейнфреймов System 390 появилось в начале 1990 г., но сохранило совместимость с предыдущими моделями. В процессе создания IBM 390 произошло обновление всей электронной базы - МП, ОП и ВЗУ на несколько поколений. В период с 1990 по 1999 г. было выпущено множество разнообразных систем под названием IBM S/390 Enterprise Server или ESA/390 (ESA - Enterprise System Architecture). Старшие две модели системы с названием «Summit» имели водяное охлаждение, младшие - воздушное.

В 2000 г. название «System 390» было заменено на «IBM e Server z Series». В октябре был представлен самый мощный на тот период компьютер массового коммерческого применения - z Series 900. Тогда же появилась новая 64-разрядная ОС - z/OS. В 2002 г. было представлено семейство z Series 800 для задач среднего уровня, 2003 г. был отмечен появлением новой модели z Series - e Server z Series 990, в 2004 г. появилась новая система среднего уровня z Series 890.

В середине 2005 г. семейство мейнфреймов пережило очередное переименование. С этого времени все системы этого класса обо


107


значают System z9. Одновременно с этим объявлено о создании новой модели - 109. Эти модели отвечают современным жестким требованиям корпоративных систем по доступности и надежности. Возможность непрерывного профилактического обслуживания (без прерывания работы комплекса) вносит весомый вклад в то, что среднее время наработки на отказ системы z Series исчисляется десятилетиями, а предложенная IBM-система комплексирования - Parallel Sysplex (традиционные кластеры), характеризуется повышенной живучестью комплекса: его надежность сейчас 99,999 %, т.е. среднее время неработоспособности системы за год составляет не более 5 мин.

По мере того, как конфедициальность становится одним из главных требований бизнеса, поддержка SSL-транзакций (защищенные сетевые протоколы) превращается в определяющий фактор при выборе сервера. IBM z Series может работать с восемнадцатью криптографическими сопроцессорами, которые могут обрабатывать несколько тысяч защищенных транзакций в секунду без снижения скорости обработки.

В архитектурном плане мейнфреймы представляют собой многопроцессорные системы с одним или несколькими центральными и периферийными процессорами с общей памятью, связанными между собой высокоскоростными магистралями передачи данных, что оказалось неприемлемым для суперкомпьютеров из-за большого количества процессоров. При этом основная вычислительная нагрузка приходится на центральные процессоры, а периферийные процессоры (в терминологии 1ВМ - селекторные, блок-мультиплексные, мультиплексные каналы и процессоры телеобработки) обеспечивают работу с широкой номенклатурой периферийных устройств.

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


108


нии совместимости. В настоящее время они демонстрируют свою «открытость», обеспечивая возможность использования протоколов межсоединений OSI и ТСР/IP или предоставляя возможность работы на компьютерах под управлением операционной системы UNIX собственной разработки.

Стремительный рост производительности персональных компьютеров, рабочих станций и серверов создал тенденцию перехода с мейнфреймов на компьютеры менее дорогих классов - миникомпьютеры и многопроцессорные серверы. Эта тенденция получила название «разукрупнение» (downsizing). Однако этот процесс несколько замедлился. Основной причиной возвращения интереса к мейнфреймам эксперты считают сложность перехода к распределенной архитектуре клиент-сервер, оказавшейся выше, чем предполагалось. Кроме того, многие пользователи считают, что распределенная среда не обладает достаточной надежностью для наиболее ответственных приложений, которой обладают мейнфреймы.

Главным недостатком мейнфреймов в настоящее время остается относительно низкое соотношение производительность-стоимость. Однако фирмами-поставщиками мейнфреймов предпринимаются значительные усилия по улучшению этого показателя.

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

В связи с этим, несмотря на всевозможные (и постоянные) пророчества, предрекавшие неминуемую и скорую смерть этой платформы, в 2004 г. она успешно отметила свое 40-летие; при этом, по оценкам ведущих аналитических агентств мира, до 70 % критически важной корпоративной информации хранится и обрабатывается именно с помощью мейнфреймов.

Мини-компьютеры получили широкое распространение в 70 - 80-х годах. Популярность этих машин объяснялась их малыми размерами, стоимостью (относительно больших компьютеров) и универсальными возможностями. Производительность их была более


109


низкая, чем у больших систем, а длина слова равнялась 16 разрядам, однако параметры этих компьютеров вполне удовлетворяли большое количество пользователей. Наиболее популярные миникомпьютеры выпускали две фирмы США: Hewlett Packard (HP) и Digital Equipment Corporation (DEC), последняя выпустила серию компьютеров PDP 11 и VAX. Отечественные аналоги этих компьютеров были разработаны в рамках системы малых компьютеров (СМ, CM 1, 2 (HP), CM3, 4, 1420, 1300 и т.д.), однако к настоящему времени персональные компьютеры и рабочие станции по своим характеристикам превосходят большинство мини-компьютеров.

<< | >>

Еще по теме Классификация компьютеров, краткие характеристики суперкомпьютеров, мейнфреймов и мини-компьютеров:

  1. Компьютеры, компьютеры, компьютеры!
  2. Таненбаум Э.. Архитектура компьютера. 5-е изд, 2007
  3. Мозг и компьютер.
  4. Мозг и компьютер.
  5. Компьютер – друг человека или враг
  6. По пути наименьшего сопротивления. Построение гороскопа на компьютере
  7. Богомазова Г.Н.. Установка и обслуживание программного обеспечения персональных компьютеров, серверов, периферийных устройств и оборудования, 2015
  8. Надо выдернуть кабель, который «подводит интернет» в ваш компьютер.
  9. Статья 163. Нарушение тайны переписки, телефонных переговоров, телеграфной либо иной корреспонденции, передаваемых средствами связи или через компьютер.
  10. Раздел 16 - Уголовного Кодекса Украины Преступления в сфере использования электронно-вычислительных машин (компьютеров), систем и компьютерных сетей и сетей электросвязи
  11. Статья 361. Несанкционированное вмешательство в работу электронно-вычислительных машин (компьютеров), автоматизированных систем, компьютерных сетей или сетей электросвязи