Основные принципы построения системы
Архитектура системы
Модели программирования
Гибкость архитектуры
Архитектура ввода/вывода
Компоненты системы
Производительность системы
Заключение
Литература

Сравнительно недавно на компьютерном рынке появились универсальные системы с масштабируемой параллельной архитектурой SP1 и SP2 компании IBM. Эти системы достаточно быстро завоевали популярность и сегодня эксплуатируются более 400 этих компьютеров, в конфигурации от 2 до 400 процессорных узлов. Они работают в различных прикладных областях, таких как вычислительная химия, анализ аварий, проектирование электронных схем, сейсмический анализ, моделирование водохранилищ, поддержка систем принятия решений, анализ данных и оперативная обработка транзакций. Успех систем SP2 определяется прежде всего их универсальностью, а также гибкостью архитектуры, базирующейся на модели распределенной памяти с передачей сообщений. В данной статье рассматриваются основные архитектурные принципы построения систем 5Р2, которые могут включать от 2 до 512 процессорных узлов, объединенных высокоскоростной сетью обмена.

Основные принципы построения системы

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

1. Высокопроизводительная масштабируемая параллельная система должна использовать стандартные микропроцессоры, конструкции и операционные системы.

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

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

4. Система должна поддерживать среду программирования и выполнения программ, идентичную стандартной открытой распределенной среде ОС UNIX.

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

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

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

Архитектура системы

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

Чтобы иметь возможность увеличивать масштаб системы до нескольких сотен процессоров сегодня и нескольких тысяч процессоров в будущем, в SP2 была реализована архитектура с распределенной памятью, при которой каждый процессор оснащается своей собственной локальной памятью. Доступ к этой локальной памяти оказывается быстрым, а время обращения с ростом размера системы остается постоянным. В то же время доступ других процессоров к удаленной памяти остается более медленным. Обычно масштабируемые машины с распределенной памятью, в зависимости от способа организации доступа к разделяемым данным, строятся на базе двух различных архитектур: архитектуры распределенной общей памяти(distributed shared memory architecture), либо архитектуры распределенной памяти с передачей сообщений(distributed memory message-passing architecture).

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

Модели программирования

Одной из основных задач любой параллельной системы является поддержка наиболее популярных моделей программирования, применяемых сегодня при организации параллельной обработки в технических и коммерческих задачах. Очевидно, что ориентация архитектуры SP2 на механизмы передачи сообщений предопределяет и выбор стиля программирования. На SP2 поддерживаются несколько популярных библиотек передачи сообщений, подпрограммы которых могут вызываться из программ, написанных на языках Си и Фортран. К таким библиотекам относятся оптимизированные и настроенные на архитектуру SP2 MPL (Message-Passing Library) и PVM (Parallel Virtual Machine), а также реализация стандарта MPI (MessagePassing Interface).

SP2 поддерживает также модель параллельных данных на базе языка High Performance FORTRAN. Сегодня на SP2 доступен препроцессор Forge90 High Performance Fortran компании Applied Parallel Research, преобразующий программы, написанные на High Performance FORTRAN в структуры, использующие стандарт Фортран 77 и обращения к библиотеке MPL. В будущем ожидается появление на SP2 прямого компилятора High Performance FORTRAN. Этот язык освобождает программиста от необходимости учета многих деталей распределения и обмена данными, позволяя пользователю программировать внутри единого глобального пространства имен.

Для реализации коммерческих вычислений на базовой архитектуре передачи сообщений в распределенной памяти SP2 хорошо подходит модель передачи функций(называемая также моделью без разделения ресурсов). Другой популярной моделью является модель разделения данных, которая поддерживается на SP2 посредством механизма виртуального общего диска. На SP2 могут работать многие известные системы управления базами данных (DB2/6000, Oracle, Sybase, Ingres, Informix), мониторы обработки транзакций (CISC/6000, Encina, Tuxedo) и бизнес-приложения.

Гибкость архитектуры

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

Система SP2 может включать от 2 до 512 процессорных узлов, построенных на базе RISC-процессоров POWER2 System/6000. Каждый процессор имеет свою локальную память и работает под управлением своей собственной копии операционной системы AIX. Процессорные узлы связаны между собой с помощью высокопроизводительного коммутатора. Каждая система SP2 оснащается также системной консолью, построенной на базе стандартной рабочей станции RS System/6000.

Руководствуясь приведенными ранее принципами 1, 2 и 4, разработчики системы не внесли никаких существенных изменений в базовый процессор RISC System/6000 и операционную систему AIX. На практике это означает, что все основные аппаратные и программные возможности, доступные на стандартных рабочих станциях RISC System/6000, могут быть реализованы на каждом узле SP2. В результате этой стратегии для заказчиков системы SP2 автоматически оказались доступными несколько тысяч приложений, разработанных для RISC System/6000.

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

Требования к производительности узла и его конфигурации могут сильно отличаться в зависимости от параметров прикладных задач и типа узла: вычислительный или серверный. В системе SP2 предусмотрена реализация трех различных конструктивных исполнений физических узлов: thin node ("тонкий" узел), thin node 2 ("тонкий" узел 2) и wide node ("широкий" узел). Эти узлы отличаются по возможностям конфигурации - количеству гнезд для установки памяти и контроллеров Micro Channel, параметрам производительности, цене и физическими размерами. Каждый такой узел для конкретной вычислительной среды обеспечивает оптимальное соотношение стоимость/производительность. Эта гибкость при создании различных конфигураций - важная отличительная особенность SP2 по сравнению с другими системами МРР.

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

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

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

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

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

Архитектура ввода/вывода

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

Внешние серверы подсоединяются к SP2 посредством промежуточных узлов-шлюзов. Соединение между узлами-шлюзами и другими серверами предприятия может осуществляться с помощью локальных сетей (Ethernet, Token Ring или FDDI) или через высокоскоростные интерфейсы различных типов: параллельный интерфейс (HiPPI), стандартный оптоволоконный канал (FCS) или коммутаторы АТМ. Внешние серверы обеспечивают обслуживание запросов вычислительных узлов SP2 по вводу/выводу и доступу к файлам с помощью одной из используемых в локальной сети распределенной файловой системы: сетевой файловой системы NFS (Network File System), файловой системы компании Andrew (AFS) или распределенной файловой системы (DFS). При использовании нескольких серверов и нескольких узлов-шлюзов общая пропускная способность подсистемы ввода/вывода может масштабироваться.

Однако возможности такого решения ограничены и могут не соответствовать более строгим требованиям параллельных приложений по обеспечению доступа к одному разделяемому объекту данных, предполагающего высокую пропускную способность, малую задержку и низкие накладные расходы. В SP2 эта проблема решается с помощью выделения нескольких узлов системы для работы в качестве файлсерверов и серверов ввода/вывода. Высокопроизводительный коммутатор, обеспечивающий обмен данными между серверными узлами ввода/вывода и вычислительными узлами, дает значительно большую полосу пропускания, чем любые локальные сети. Но, может быть, более важно то, что использование надежного коммутатора, а не локальной сети, для соединения клиентов и серверов дает возможность в будущем перейти к специально настроенному простому коммуникационному протоколу для реализации высокоскоростных операций ввода/вывода и файловой системы. Это позволит значительно снизить процессорные накладные расходы по сравнению с накладными расходами, связанными с реализацией протоколов TCP/IP и UDP/IP, обычно применяющихся в локальных сетях. Наконец, память серверного узла ввода/вывода может обеспечивать достаточное кэширование буферов для увеличения производительности ввода/вывода.

Когда приложения распараллеливаются для увеличения скорости вычислений, их требования к пропускной способности по вводу/выводу одного файла также увеличиваются пропорционально. Необходимая пропускная способность не может быть удовлетворена средствами стандартных сетевых файловых систем даже с помощью интегрированных серверных узлов ввода/вывода. Один сервер и одна линия связи с коммутатором в конце концов ограничивают максимальную пропускную способность, которая может потребоваться для доступа к отдельному файлу. В SP2 реализована параллельная файловая система (PFS), которая позволяет распределять файл автоматически или вручную по нескольким узлам ввода/вывода с целью увеличения пропускной способности доступа параллельного приложения к такому файлу. Заметим,что архитектура интегрированного серверного узла ввода/вывода логически поддерживает модель передачи функций для коммерческих параллельных вычислений. Клиенты на вычислительных узлах посылают запросы к файл-серверам, работающим на серверных узлах ввода/вывода. Модель общих данных также поддерживается посредством обеспечения глобального доступа к дискам, подсоединенным к отдельным узлам.

Компоненты системы

Процессорнные узлы

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

Узлы SP2 - это стандартные процессоры с архитектурой POWER2 RISC System/6000. Эти процессоры имеют суперскалярную архитектуру и реализуют множество достаточно изощренных методов динамического управления потоком команд для достижения высокой производительности. Как уже упоминалось, в SP2 реализованы три типа физических узлов: thin node, thin node 2 и wide node.

Все типы физических узлов содержат два устройства арифметики с фиксированной точкой, два арифметических устройства для работы с вещественными числами, каждое из которых может выполнять команды "умножить и сложить" за один такт, а также устройство управления потоком команд и переходами. При тактовой частоте 66.7 МГц максимальная производительность процессора составляет 267 MFLOPS. Для поддержки всех устройств в занятом состоянии устройство управления потоком команд может декодировать и выдавать для выполнения несколько команд в каждом такте. Это соответствует и принятой иерархии высокопроизводительной памяти большой емкости. Например, в узле типа "wide node" объем оперативной памяти может достигать 2 Гбайт, а пропускная способность - 2.1 Гбайт/с. При этом 4-канальная множественно-ассоциативная память емкостью 256 Кбайт может поставлять данные в устройства плавающей точки со скоростью четыре 64-битовых операнда в каждом такте. В результате в пределах компактного цикла удается эффективно поддерживать скорость обработки, эквивалентную производительности двухконвейерного векторного процессора: две операции загрузки/записи, две операции "умножить и сложить" с плавающей точкой, инкрементирование индекса и условный переход в каждом такте. В процессоре применяются короткие конвейеры команд, изощренная техника прогнозирования направления условных переходов, методика переименования регистров и кэш-память большой емкости. Все эти средства вносят свою лепту в реализацию процессора, демонстрирующего хорошую производительность как на векторизуемом, так и на скалярном коде. Узлы "thin nodes" подобны узлам "wide nodes", но имеют более ограниченные возможности по конфигурациям памяти и ввода/вывода.

Подсистема коммуникаций

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

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

На рис. 4 показана структура коммутатора для системы SP2 с 64 узлами. Основными строительными блоками в ней являются двухкаскадные коммутационные платы размерностью 16х16, состоящие из двунаправленных коммутирующих элементов - матричных переключателей размерностью 4х4. Каждая линия связи является двунаправленной и имеет пропускную способность 40 Мбайт/с в каждом направлении. Для увеличения производительности в коммутаторе применяется буферизованная червячная маршрутизация. В малых системах (до 64 узлов) на каждые 16 узлов требуется только одна коммутационная плата. Для системы с 64 узлами коммутационные платы размещаются внутри процессорных конструктивов (по одной на конструктив) и соединяются между собой с помощью кабелей. Конструктив выполнен в виде "ящика", в котором размещаются до 16 узлов и одна коммутационная плата. Для систем большего размера требуются дополнительные ступени коммутации и коммутационные платы, которые размещаются в специальном конструктиве, способном вмещать до восьми коммутационных плат.

Процессорный узел SP2 подсоединяется к коммутационной плате с помощью интеллектуального адаптера Micro Channel. На плате адаптера размещается микропроцессор, выполняющий основную часть работы по обмену данными в режиме прямого доступа к памяти (DMA), сокращая таким образом накладные расходы процессорного узла по передаче сообщений и существенно увеличивая пропускную способность системы. Он обеспечивает также поддержку механизмов защиты при обменах данными между узлами внутри раздела параллельного задания. Это позволяет избежать обращений к ядру системы и существенно уменьшить задержки передачи сообщений на уровне приложений. Адаптер выполняет также генерацию циклического избыточного контрольного кода (CRC) и контроль передачи сообщений. Чтобы избежать дополнительных накладных расходов, связанных с обработкой прерываний, нормальная передача сообщений между процессорным узлом и адаптером управляется методом опроса. Коммутатор одновременно поддерживает два типа трафика обмен с пространством пользователя и протокол IP (Internet Protocol).

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

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

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

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

Производительность системы

Производительность параллельных систем определяют параметры производительности ее основных строительных блоков: индивидуальных узлов и коммуникационной системы, используемой для объединения узлов между собой. В таблице 1 приведены показатели производительности трех различных типов узлов SP2 на общепринятых оценочных тестах SPEC и LINPACK. Мощные узлы, обладающие возможностями создания гибких конфигураций являются главным преимуществом системы SP2 и предопределяют ее высокую системную производительность.

Таблица 1.
Производительность трех типов узлов системы SP2.

Контрольный тест
thin node
thin mode 2
wide node
Linpack 100
55
132
132 (MFLOPS)
Linpack TPP
183
227
237 (MFLOPS)
SPECint92
114
122
122 (SPEC UNITS)
SPECftp92
205
251
260 (SPEC UNITS)

Для оценки производительности узла на коммерческих приложениях обычно используются результаты тестирования на тестах ТРС. Для примера можно заметить, что опубликованные результаты измерений на тестах ТРСС для узла SP2 wide node, который эквивалентен по своим возможностям машинам RISC System/6000 Model 590, показывают 726.1 tpmC, что составляет 1395 долл. на транзакцию.

Другой важной характеристикой является производительность коммуникационной системы. В таблице 2 представлены результаты измерения задержки и пропускной способности коммуникационной системы для различных типов узлов. Задержка определяет время,необходимое для передачи сообщения длиной 0 байт между процессами, выполняющимися на разных узлах системы. Она учитывает все потери, возникающие в аппаратуре и программном обеспечении при передаче сообщений между узлами. Пропускная способность в режиме передачи точка-точка определяет скорость, с которой процесс на одном узле может передавать данные прикладному процессу на другом узле. Эта характеристика предполагает передачу очень длинных сообщений в одном направлении и учитывает все накладные расходы аппаратуры и программного обеспечения. Наконец, пропускная способность в режиме обмена определяет скорость, с которой два прикладных процесса, выполняющихся на разных узлах, могут обмениваться данными, одновременно посылая и принимая сообщения (режим передачи в обоих направлениях). Все измерения проводились с использованием библиотеки MPL компании IBM в двух режимах обмена данными через коммутатор: между адресными пространствами пользователей и при использовании протокола UDP/IP. Эти результаты показывают, что пропускная способность SP2 сравнима с параметрами других масштабируемых параллельных систем. Некоторые из них имеют пропускную способность линий связи выше, чем у SP2, но, если учитывать топологию коммутатора, полезную нагрузку и другие свойства систем, то пропускная способность в установившемся режиме между двумя случайно выбранными процессорами окажется сравнимой с параметрами SP2.

Таблица 2.
Производительность коммуникационной системы SP2.

Тип узла, режим работы
Задержка (мкс)
Пропускная способность в режиме точка-точка (Мбайт/с)
Пропускная способность в режиме обмена (Мбайт/с)
thin node, пространство пользователя
40
35
41
thin node 2, пространство пользователя
39
36
48
widw node, пространство пользователя
40
36
48
thin node, UDP/IP
312
10
13
thin node, UDP/IP
270
12
16
wide node, UDP/IP
269
12
16

Для оценки возможностей SP2 по выполнению распараллеленных приложений приведем результаты контрольных испытаний системы на наборе параллельных тестов NAS. Этот набор тестов был разработан в исследовательском центре NASA в рамках проекта численного аэродинамического моделирования (NAS) и состоит из пяти ядер и трех псевдоприложений, отражающих реальные рабочие нагрузки, имеющие место в этом исследовательском центре. На рис. 5 приведены сравнительные показатели производительности системы SP2 на тесте NAS. В качестве единицы измерения используется производительность однопроцессорной системы Сгау С90. Все оценки производились для конфигураций из 128 узлов, за исключением системы Paragon компании Intel, для которой на ряде тестов имеются данные для другого числа процессоров.

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

Заключение

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


Литература

[1] T.Agerwala, J.L.Martin, J.H.Mirza and others "SP2 System Architecture", IBM Systems Journal, Vol. 34, М 2,1995.

[2] "Моге Details about SP2", IBM RISC System/6000 Newsletter, Eastern Europe, April 1994.

[3] "New SPZ Models", IBM RISC System/6000 Newsletter, Eastern Europe, February 1995.


Приносим извинения за отсутствие рисунков.