Массивы процессорных элементов

Муниципaльнoe oбpaзoвaтeльнoe учpeждeниe


выcшeгo пpoфeccиoнaльнoгo oбpaзoвaния

Южнo-Уpaльcкий пpoфeccиoнaльный инcтитут

 

 

 

 

 

 

 

 

кoнтpoльнaя paбoтa пo диcциплинe:

«Защита информации в вычислительных системах и сетях»

Массивы процессорных элементов

 

 

 

 

Cтудeнт: И.A. *******

Гpуппa: *******

Cпeциaльнocть: *******

Peцeнзeнт: ******

 

 

 

 

Чeлябинcк

2013 

Оглавление

Введение 3

1.  Понятие матричной вычислительной системы и ее отличие от векторной вычислительной системы 5

2. Структура матричной вычислительной системы 6

3. Интерфейсная вычислительная машина 8

4. Массив  процессоров  и  его  контроллер 9

5. Структура  процессорного  элемента 14

6. Подключение  и  отключение  процессорных  элементов 17

7. Сети  взаимосвязей  процессорных  элементов 19

Заключение 20

Список используемой литературы: 23

 

 

Введение

Время не стоит на месте, и человеку производит, потребляет и обрабатывает с каждым днем все  большие и большие объемы информации. Естественно, что мы давно уже  перестали справляться с подобными  задачами вручную, всю «механическую» работу по обработке с информации берут на себя вычислительные машины.

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

Быстрое развитие компьютерной индустрии определяет относительность  данного понятия - то, что десять лет назад можно было назвать  суперкомпьютером, сегодня под это  определение уже не попадает. Например, производительность персональных компьютеров, использующих Pentium-III/500MHz, сравнима с производительностью суперкомпьютеров начала 70-х годов, однако по сегодняшним меркам суперкомпьютерами не являются ни те, ни другие.

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

Так о чем же речь и какие суперкомпьютеры существуют в настоящее время в мире? Вот лишь несколько параметров, дающих достаточно красноречивую характеристику машин этого класса. Компьютер ASCI WHITE, занимающий первое место в списке пятисот самых мощных компьютеров мира, объединяет 8192 процессора Power 3 с общей оперативной памятью в 4 Терабайта и производительностью более 12 триллионов операций в секунду.

Супер-ЭВМ и сверхвысокая производительность: зачем?

Простые расчеты показывают, что конфигурации подобных систем могут  стоить не один миллион долларов США - ради интереса прикиньте, сколько  стоят, скажем, лишь 4 Тбайта оперативной  памяти? Возникает целый ряд естественных вопросов: какие задачи настолько важны, что требуются компьютеры стоимостью несколько миллионов долларов? Или, какие задачи настолько сложны, что хорошего Пентиума не достаточно? На эти и подобные им вопросы хотелось бы найти разумные ответы.

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

2500 миллиардов арифметических  операций для выполнения одного  лишь расчета! А изменение параметров  модели? А отслеживание текущей  ситуации при изменении входных  данных? Подобные расчеты необходимо  делать много раз, что накладывает  очень жесткие требования на  производительность используемых  вычислительных систем.

 

  1. Понятие  матричной  вычислительной  системы  и  ее  отличие  от  векторной  вычислительной  системы

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

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

 

  1. Структура матричной вычислительной системы

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

   



 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1. Обобщенная  модель  матричной  SIMD-системы  

 

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

Для обеспечения пользователя удобным интерфейсом при создании и от-ладке программ в состав подобных ВС обычно включают интерфейсную ВМ (front-end computer). В роли такой ВМ выступает универсальная вычислитель-  ная машина, на которую дополнительно возлагается задача загрузки программ     и данных в КМП. Кроме того, загрузка программ и данных в КМП может производиться и напрямую с устройств ввода-вывода(например, с магнитных дисков). После загрузки КМП приступает к выполнению программы, трансли-   руя  в  МПр  по  широковещательной  шине  соответствующие  SIMD-команды.

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

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

 

  1. Интерфейсная вычислительная машина

Интерфейсная ВМ (ИВМ) соединяет  матричную SIMD-cистему с внеш-  ним миром, используя для этого какой-либо сетевой интерфейс, например Ethernet. Интерфейсная ВМ работает под управлением операционной системы (чаще всего OC UNIX). На ИВМ пользователи подготавливают, компилируют      и отлаживают свои программы. В процессе выполнения программы сначала загружаются из интерфейсной ВМ в контроллер управления массивом про-цессоров, который выполняет программу и распределяет команды и данные        по процессорным элементам массива. В некоторых ВС, например в Massively Parallel Computer MPP, при создании, компиляции и отладке программ КМП и интерфейсная  ВМ  используются  совместно.

На роль ИВМ подходят различные  вычислительные машины. Так, в сис-теме СМ-2 в этом качестве выступает рабочая станция SUN-4, в системе      MasPar – DECstation 3000, а  в  системе  МРР – DEC VAX-11/780.

 

  1. Массив  процессоров  и  его  контроллер

Контроллер массива процессоров  выполняет последовательный программ-ный код, реализует команды ветвления программы, транслирует команды и сигналы управления в процессорные элементы. Одну из возможных реализа-    ций КМП, принятую в устройстве управления системы PASM, иллюстрирует   рис. 8.2.


Рис. 2. Модель  контроллера  массива  процессоров  

 

При загрузке из ИВМ программа  через интерфейс ввода/вывода заносит-   ся в оперативное запоминающее устройство КМП (ОЗУ КМП). Команды для  процессорных элементов и глобальная маска, формируемая на этапе компиля- ции, также загружаются через интерфейс ввода/вывода в ОЗУ команд и гло-бальной маски (ОЗУ КГМ). Затем КМП начинает выполнять программу, извле- кая либо одну скалярную команду из ОЗУ КМП, либо множественные коман-    ды из ОЗУ КГМ. Скалярные команды (команды, осуществляющие операции     над хранящимися в КМП скалярными данными), выполняются центральным процессором (ЦП) контроллера массива процессоров. В свою очередь коман-    ды, оперирующие параллельными переменными, хранящимися в каждом ПЭ, преобразуются в блоке выборки команд в более простые единицы выполнения     – нанокоманды. Нанокоманды совместно с маской пересылаются через шину команд для ПЭ на исполнение в массив процессоров. Например, команда сло-жения 32-разрядных слов в КМП системы МРР преобразуется в 32 нанокоман-  ды одноразрядного сложения, которые каждым ПЭ обрабатываются последо-вательно.

В большинстве алгоритмов дальнейший порядок вычислений зависит  от результатов и флагов условий  предшествующих операций. Для обеспечения  та-кого режима в матричных системах статусная информация, хранящаяся в про-цессорных элементах, должна быть собрана в единое слово и передана в КМП  для выработки решения о ветвлении программы. Например, в предложении IF ALL (условие А) THEN DO B оператор B будет выполнен, если условие А справедливо во всех ПЭ. Для корректного включения/отключения процессор-  ных элементов КМП должен знать результат проверки условия А во всех ПЭ. Такая информация передается в КМП по однонаправленной шине результата.      В системе СМ-2 эта шина называется GLOBAL. В системе МРР для той же     цели организована структура, называемая деревом SUM-OR. Каждый ПЭ по-мещает содержимое своего одноразрядного регистра признака на входы дере-    ва, которое с помощью операции логического сложения комбинирует эту ин-формацию и формирует слово результата, используемое в КМП для принятия решения.

В матричных SIMD-системах получили распространение два основных  типа  архитектурной  организации  массива  процессорных  элементов  (рис. 8.3).

В первом варианте, известном  как архитектура типа «процессорный эле-мент-процессорный элемент» (ПЭ-ПЭ), N процессорных элементов (ПЭ) свя-     заны между собой сетью соединений (рис. 8.3, а). Каждый ПЭ – это процессор      с локальной памятью. Процессорные элементы выполняют команды, получае- мые из КМП по шине широковещательной рассылки, и обрабатывают данные    как хранящиеся в их локальной памяти, так и поступающие из КМП. Обмен данными между процессорными элементами производится по сети соедине-    ний, в то время как шина ввода-вывода служит для обмена информацией меж-     ду ПЭ и устройствами ввода-вывода. Для трансляции результатов из отдель-    ных ПЭ в контроллер массива процессоров служит шина результата. Благода-   ря использованию локальной памяти аппаратные средства ВС рассматривае-  мого типа могут быть построены весьма эффективно. Во многих алгоритмах действия по пересылке информации локальны, то есть происходят между бли-жайшими соседями. По этой причине архитектура, где каждый ПЭ связан толь-   ко с соседними, очень популярна. Примерами вычислительных систем с рас-сматриваемой архитектурой являются MasPar MP-1, Connection Machine CM-2, GF-11,  DAP,  MPP,  STARAN,  PEPE,  ILLIAC IV.

Рис. 3. Модели  массивов  процессоров: а – «процессорный  элемент-процессорный  элемент»; б – «процессор-память»  

 

Второй вид архитектуры  – «процессор-память» показан на рис. 8.3, б. В такой конфигурации двунаправленная сеть соединений связывает N процессо-  ров c М модулями памяти. Процессоры управляются КМП через широковеща-тельную шину. Обмен данными между процессорами осуществляется как через сеть, так и через модули памяти. Пересылка данных между модулями памяти        и устройствами ввода/вывода обеспечивается шиной ввода/вывода. Для передачи данных из конкретного модуля памяти в КМП служит шина результата. Примерами ВС с рассмотренной архитектурой служат Burroughs Scientific Processor  (BSP)  и  Texas  Reconfigurable  Array Computer  TRAC.

 

  1. Структура  процессорного  элемента

В большинстве матричных SIMD-систем в качестве процессорных эле-ментов применяются простые RISC-процессоры с локальной памятью ограни-ченной емкости. Например, каждый ПЭ системы MasPar MP-1 состоит из четы-рехразрядного процессора с памятью емкостью 64 Кбайт. В системе MPP ис-пользуются одноразрядные процессоры с памятью 1 Кбит каждый, а в СМ-2 процессорный элемент представляет собой одноразрядный процессор с 64 Кбит локальной памяти. Благодаря простоте ПЭ массив может быть реализован в ви-   де одной сверхбольшой интегральной микросхемы  (СБИС). Это позволяет сок-ратить число связей между микросхемами и габариты ВС. Одна СБИС в системе СМ-2 содержит 16 процессоров (без блоков памяти), а в системе MasPar MP-1 СБИС  состоит  из  32  процессоров  (также  без  блоков  памяти).

Неотъемлемыми компонентами ПЭ (рис. 8.4) в большинстве вычисли-тельных  систем  являются:

§        арифметико-логическое  устройство  (АЛУ);

§        регистры  данных;

§        сетевой интерфейс (СИ), который может включать в свой состав регистры  пересылки  данных;

§        номер  процессора;

§        регистр  флага  разрешения  маскирования  (F);

§        локальная  память. 

 

Рис. 4. Модель  процессорного  элемента  

 

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

Каждому из N ПЭ в массиве процессоров присваивается уникальный но-мер, называемый также адресом ПЭ, который представляет собой целое число    от 0 до N – 1. Чтобы указать, должен ли данный ПЭ участвовать в общей опе-     рации, в его составе имеется регистр флага разрешения F. Состояние этого ре-гистра определяют сигналы  управления из КМП, либо результаты операций в самом  ПЭ,  либо  и  те  и  другие  совместно.

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

 

  1. Подключение  и  отключение  процессорных  элементов

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

При маскировании, определяемом данными, каждый ПЭ самостоятельно объявляет  свой статус «подключен/не подключен». В составе системы команд имеются наборы маскируемых и не маскируемых команд. Маскируемые ко-    манды выполняются в зависимости от состояния флага F, в то время как не-маскируемые флаг просто игнорируют. Рассмотрим процедуру маскирования     на примере предложения IF-THEN-ELSE. Пусть x – локальная переменная (хранящаяся в локальной памяти каждого ПЭ). Предположим, что процессор-  ные  элементы  массива  параллельно  выполняют  ветвление:

IF (x>0) THEN <оператор A> ELSE <оператор В>

и каждый ПЭ оценивает условие IF. Те ПЭ, для которых условие x > 0 справед-ливо, установят свой флаг F в единицу, тогда как остальные ПЭ – в ноль. Далее КМП распределяет оператор А по всем ПЭ. Команды, реализующие этот опе-ратор, должны быть маскируемыми. Оператор А будет выполнен только теми  ПЭ, где флаг F установлен в единицу. Далее КМП передает во все ПЭ не-маскируемую команду ELSE, которая заставит все ПЭ инвертировать состояние своего флага F. Затем КМП транслирует во все ПЭ оператор В, который также должен состоять из маскируемых команд. Оператор В будет выполнен теми     ПЭ, где флаг F после инвертирования был установлен в единицу, то есть где результат  проверки  условия  x > 0  был  отрицательным.

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

В зависимости от способа  кодирования маски существует несколько  раз-личных схем глобального маскирования. В схеме, примененной в вычислитель-ной системе ILLIAC IV с 64-мя 64-разрядными ПЭ, маска представляет собой    N-разрядный вектор. Каждый бит вектора отражает состояние одного ПЭ. Ес-     ли бит содержит единицу, соответствующий ПЭ будет активным, в противном случае – пассивным. Несмотря на свою универсальность, при больших значе-    ниях N схема становится неудобной. В варианте маскирования с адресом ПЭ используется 2m-разрядная маска (m = log2N), в которой каждая позиция соот-ветствует одному разряду в двоичном представлении адреса ПЭ. Каждая пози- ция может содержать 0, 1 или Х. Таким образом, маска состоит из 2m битов.      Если для всех i (0≤ i <m) i-я позиция в маске и i-я позиция в адресе ПЭ сов-       падают или в i-ой позиции маски стоит Х, ПЭ будет активным. Например, маска 000Х1 представляет процессорные элементы с номерами 1 и 3, в то время как маска ХХХХ0 представляет все ПЭ с четными номерами (все это для массива      из 32 ПЭ). Здесь можно активизировать только подмножество из всех возмож- ных комбинаций процессорных элементов массива, что на практике не являет-    ся ограничением, так как в реальных алгоритмах обычно участвуют не произ-вольные  ПЭ,  а лишь  расположенные  регулярным  образом.

Глобальные и локальные  схемы маскирования могут комбинироваться. В таком случае активность ПЭ в  равной мере определяется как флагом F, так и глобальной  маской.

 

  1. Сети  взаимосвязей  процессорных  элементов

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

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

Хотя пересылки данных по сети инициируются только активными ПЭ, пассивные процессорные элементы также вносят вклад в эти операции. Если активный ПЭ инициирует чтение из другого ПЭ, операция выполняется вне зависимости от статуса ПЭ, из которого считывается информация. То же самое происходит  и  при  записи.

Наиболее распространенными  топологиями в матричных системах явля-ются решетчатые и гиперкубические. Так, в ILLIAC IV, MPP и СМ-2 каждый    ПЭ соединен с четырьмя соседними. В МР-1 и МР-2 каждый ПЭ связан с во-      семью смежными ПЭ. В ряде систем реализуются многоступенчатые динами-ческие  сети  соединений  (МР-1,  МР-2,  GF-11).

 

Заключение

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

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

В 1995 году корпус автомобиля Nissan Maxima удалось сделать на 10% прочнее благодаря использованию суперкомпьютера фирмы Cray (The Atlanta Journal, 28 мая, 1995г). С помощью него были найдены не только слабые точки кузова, но и наиболее эффективный способ их удаления.

По данным Марка Миллера (Mark Miller, Ford Motor Company), для выполнения crash-тестов, при которых реальные автомобили разбиваются о бетонную стену с одновременным замером необходимых параметров, съемкой и последующей обработкой результатов, компании Форд понадобилось бы от 10 до 150 прототипов новых моделей при общих затратах от 4 до 60 миллионов долларов. Использование суперкомпьютеров позволило сократить число прототипов на одну треть.

Ещё один пример - это развитие одной из крупнейших мировых систем резервирования Amadeus, используемой тысячами агентств со 180000 терминалов в более чем ста странах. Установка двух серверов Hewlett-Packard T600 по 12 процессоров в каждом позволила довести степень оперативной доступности центральной системы до 99.85% при текущей загрузке около 60 миллионов запросов в сутки.

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

Увеличение производительности ЭВМ, за счет чего?

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

Попробуем разобраться, какой  из этих факторов оказывается решающим для достижения рекордной производительности. Обратимся к известным историческим фактам. На одном из первых компьютеров  мира - EDSAC, появившемся в 1949 году в  Кембридже и имевшем время  такта 2 микросекунды (2*10-6 секунды), можно  было выполнить 2*n арифметических операций за 18*n миллисекунд, то есть в среднем 100 арифметических операций в секунду. Сравним с одним вычислительным узлом современного суперкомпьютера  Hewlett-Packard V2600: время такта приблизительно 1.8 наносекунды (1.8*10-9 секунд), а пиковая производительность около 77 миллиардов арифметических операций в секунду.

Что же получается? За полвека  производительность компьютеров выросла  более чем в семьсот миллионов  раз. При этом выигрыш в быстродействии, связанный с уменьшением времени  такта с 2 микросекунд до 1.8 наносекунд, составляет лишь около 1000 раз. Откуда же взялось остальное? Ответ очевиден - использование новых решений  в архитектуре компьютеров. Основное место среди них занимает принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий.

К сожалению, чудеса в нашей  жизни совершаются редко. Гигантская производительность параллельных компьютеров  и суперЭВМ с лихвой компенсируется стоимостью и сложностью их использования. Но даже вопросы, возникающие вокруг суперкомпьютеров, ставят в тупик. Например, простой пример и жизни: землекоп выкопает яму за один час. Как вы думаете, 60 землекопов выкопают яму за одну минуту? Так и в компьютере: начиная с некоторого момента, они будут просто мешать друг другу, не ускоряя, а замедляя работу.

Но все вопросы, сопровождающие суперкомпьютер, конечно же, решаются. Да, использовать суперкомпьютер сложнее, чем PC: нужны дополнительные знания и технологии, высококвалифицированные  специалисты, более сложная структура  информации. Написать эффективную параллельную программу сложнее, чем последовательную, да и вообще создание параллельного  программного обеспечения для параллельных компьютеров - основная проблема суперкомпьютерных  вычислений. Но без суперЭВМ сегодня не обойтись, и отрадно, что в нашей стране есть понимание необходимости развития этих технологий. В ноябре 2000 года в Президиуме РАН состоялось открытие межведомственного суперкомпьютерного центра. В процессе становления суперкомпьютерные центры в Дубне, Черноголовке, Институте прикладной математики им. М.В. Келдыша и т.п.

Массивы процессорных элементов