Добавлен: 13.05.2023
Просмотров: 334
Скачиваний: 4
Понятие архитектуры свысокопроизводительной системы является сдостаточно широким, поскольку под архитектурой можно спонимать и способ параллельной обработкис данных, используемый в системе, и организациюс памяти, и топологию связи между спроцессорами, и способ исполнения системой сарифметических операций.
Увеличение степени параллелизмас вызывает увеличение числа логических схем, что ссопровождается увеличением физических сразмеров, в результате чего возрастаютс задержки сигналов на межсоединениях. Этот фактор сприводит либо к снижению тактовой частоты, либо к ссозданию дополнительных слогических ступеней и, в результате, к спотере производительности. Рост числа слогических схем также приводит к росту потребляемойс энергии и отводимого тепла[37].
Другим фактором, влияющимс на архитектуру многопроцессорныхх систем, является свзаимозависимость архитектуры и салгоритмов задач. Этот фактор часто приводитс к необходимости создания проблемноориентированныхс систем, при этом может быть сдостигнута максимальная производительностьс для данного класса задач. сУказанная взаимозависимость является сстимулом для поиска алгоритмов, снаилучшим образом соответствующих возможнымс формам параллелизма на уровне аппаратурыс. А так как для написания программ сиспользуются языки высокого уровня, необходимыс определенные средства автоматизации процессовс распараллеливания и оптимизации программ.
Классификация параллельныхс систем, предложенная Т.Джоном, основана на разделениис МВС по двум критериям: способу спостроения памяти (общая или распределенная) и сспособу передачи информации[38].
Параллельная вычислительнаяс система с общей памятью и сшинной организацией обмена позволяет скаждому процессору системы "видеть", как решается задача в сцелом, а не только те части, над которымис он работает. Общая шина, связанная с спамятью, вызывает серьезные проблемыс для обеспечения высокой пропускной сспособности каналов обмена. Одним из способов обойтис эту ситуацию является использование кэш-памяти .
В этом случае возникает спроблема когерентности содержимого скэш-памяти и основной. Другим сспособом повышения производительности систем являетсяс отказ от центральной памяти.
Идеальной машиной являетсяс система, у которой каждый мультипроцессор имеет прямые каналы связи с сдругими процессорами, но в этом случае требуется счрезвычайно большой объем оборудования для организации смежпроцессорных обменов. Определенный скомпромисс представляет сеть с фиксированнойс топологией, в которой каждый процессор соединен с некоторым сподмножеством процессоров системы[39]. Если процессорам, не имеющим непосредственногос канала обмена, необходимо взаимодействоватьс, они передают сообщения через промежуточныес процессоры. Одно из преимуществ такого сподхода - не ограничивается рост числа спроцессоров в системе. Недостаток - требуется оптимизация сприкладных программ, чтобы обеспечить свыполнение параллельных процессов, для скоторых необходимо активное воздействие на соседниес процессоры[40].
Параллелизм любогос рода требует одновременной работы, по крайней мере, двух сустройств. Такими устройствами могут быть: сарифметико-логические устройства (АЛУ), сустройства управления (УУ). В ЭВМ классической архитектурыс УУ и АЛУ образуют процессор. сУвеличение числа процессоровс или числа АЛУ в каждом из них сприводит к соответствующему росту параллелизма[41].
Наличие в ЭВМ снескольких процессоров означает, что содновременно (параллельно) могут выполнятьсяс несколько программ или несколько фрагментовс одной программы. Работа нескольких АЛУ под суправлением одного УУ означает, что смножество данных может обрабатываться параллельнос по одной программе.
Другая форма распараллеливанияс - конвейеризация, также требует наличияс нескольких ЦП или АЛУ. В то время, как смножество данных обрабатывается на содном устройстве, другое множество сданных может обрабатываться на сследующем устройстве и т.д., при этом в спроцессе обработки возникаетс поток данных от одного устройствас (ЦП или АЛУ) к следующему[42]. В течение всего спроцесса над одним множеством данных выполняется содно за другим n действий. сОдновременно в конвейере на разных стадиях собработки могут находиться от 1 до n данных.
В векторных суперЭВМ собеспечена предельная производительность для процессов сскалярной и векторной обработки, которая сприсутствует в большинстве задач. Задачи, ссодержащие высокую степень свнутреннего параллелизма, могут быть хорошо садаптированы к системам массового параллелизма. Реальныес задачи и, тем более, пакеты задач ссодержат целый ряд алгоритмов, имеющих различныес уровни параллелизма[43].
Все это говоритс о том, что вместо попыток приспособитьс все типы алгоритмов к одной сархитектуре, что отражается на сконфигурации архитектур и сопровождаетсяс не всегда корректными сравнениями спиковой производительности, более спродуктивным является взаимодополнение архитектур в единой ссистеме. Одним из первых примеров такой ссистемы является объединение свекторной системы Cray Y-XM с системой Cray сT3D. Однако, это объединение с спомощью высокоскоростного канала сприводит к необходимости разбиенияс задач на крупные блоки и к спотерям времени и памяти на собмен информацией.
Аппаратная реализация спараллельных подсистем полностью сзависит от выбранных мультипроцессоров, БИС памяти и сдругих компонентов. В настоящее время по сэкономическим причинам целесообразно сиспользовать наиболее высокопроизводительныес мультипроцессоры, разработанные для унипроцессорных машин[44].
Вместе с тем, ссуществуют подходы, связанные с сприменением специализированных мультипроцессоров, ориентированных на использование в спараллельных системах. Типичным примером сявляется серия транспьютеров фирмы Inmos. Однако, из-за сограниченного рынка эта серия по производительностис резко отстала от универсальных мультипроцессоров, таких, как Alpha, Power PC, сPentium. Специализированные мультипроцессоры смогут быть конкурентноспособнымис только при условии сокращения расходовс на проектирование и освоение в спроизводстве, что в большой степени зависит от производительности синструментальных вычислительных средств, используемых в ссистемах автоматизированного проектирования.
В различных машинах сиспользовались различные подходы, направленные на сдостижение, в первую очередь, одной из сследующих целей[45]:
- максимальная арифметическая спроизводительность процессора;
- эффективность работы соперационной системы и удобство общения с ней для спрограммиста;
- эффективность странсляции с языков высокого уровня и сисключение написания программ на автокоде;
- эффективностьс распараллеливания алгоритмов для спараллельных архитектур.
Однако, в любой машинес необходимо в той или иной форме срешать все указанные задачи. Отметим, что ссначала этого пытались достичь с спомощью одного или нескольких одинаковых спроцессоров.
Дифференциация функций и сспециализация отдельных подсистем начала сразвиваться с появления отдельных подсистем и мультипроцессоров для обслуживания ввода/вывода, скоммуникационных сетей, внешней памяти и так далее[46].
В суперЭВМ скроме основного мультипроцессора (машины) свключались внешние машины. В различных ссистемах можно наблюдать элементы сспециализации в направлениях автономного свыполнения функций операционной ссистемы, системы программирования и сподготовки заданий.
Во-первых, эти вспомогательныес функции могут выполняться параллельно с сосновными вычислениями. Во-вторых, для среализации не требуются смногие из тех средств, которые собеспечивают высокую производительность сосновного процессора. В дальнейшем, при синтеграции скалярной, векторной и спараллельной обработки в рамках единой вычислительнойс подсистемы состав этих вспомогательных сфункций должен быть дополнен сфункциями анализа программ с целью собеспечения требуемого уровня спараллелизма и распределения отдельных счастей программы по различнымс ветвям вычислительной подсистемы[47].
Появление суперЭВМ ссопровождалось повышением их общей мощности спотребления (выше 100 кВт) и увеличением плотностис тепловых потоков на различных суровнях конструкции. Их создание не в споследнюю очередь оказалось возможнымс, благодаря использованию сэффективных жидкостных и фреоновых ссистем охлаждения.
Если считать, что ссуперЭВМ или, точнее, суперсистема - сэто система с наивысшей возможной спроизводительностью, то энергетический сфактор остается одним из определяющих эту спроизводительность. По мере развития технологии смощность одного вентиля в мультипроцессорах уменьшается, но при повышении спроизводительности процессора за счет параллелизма общая смощность в ряде случаев растет. При собъединении большого числа мультипроцессоров в системе с смассовым параллелизмом интегральная смощность и тепловыделение становятся ссоизмеримыми с аналогичными показателями для свекторно-конвейерных систем.
В развитии свычислительных средств можно выделить три сосновные проблемы[48]:
- повышение производительности;
- повышение снадежности;
- покрытие семантического сразрыва.
Этапы развития вычислительных ссредств принято различать по поколениямс машин. Характеристика поколения сопределяется конкретными показателями, отражающимис достигнутый уровень в решении стрех перечисленных проблем.
Поскольку подавляющий свклад в развитие вычислительных средств всегда спринадлежал технологическим решениям, сосновополагающей характеристикой поколенияс машин считалась элементная база. И действительнос, переход на новую элементную базу схорошо коррелируется с новым уровнем споказателей производительности, снадежности и сокращения семантического разрыва[49].
Одним из сдоминирующих направлений развития суперЭВМ сявляются вычислительные системы c сMIMD-параллелизмом на основе сматрицы микропроцессоров. Для созданияс подобных систем, состоящих из ссотен и тысяч связанных процессоров, спотребовалось преодолеть ряд ссложных проблем как в программном собеспечении (языки Parallel Pascal, сModula-2, Ada), так и в аппаратныхс средствах (эффективная скоммутационная среда, высокоскоростные ссредства обмена, мощные микропроцессоры). Элементная сбаза современных выcокопроизводительных ссистем характеризуется высокой сстепенью интеграции (до 3,5 млн. странзисторов на кристалле) и высокими стактовыми частотами (до 600 МГц).
Многопроцессорные ЭВМ и мультипроцессоры с массовым параллелизмом уже ссейчас существенно опережают по производительностис традиционные суперЭВМ с векторно-сконвейерной архитектурой. Системы с массовым спараллелизмом предъявляют меньшие требования к мультипроцессорам и элементной базе и имеют сзначительно меньшую стоимость при слюбом уровне производительности, чем свекторно-конвейерные суперЭВМ. Уже в стекущем десятилетии спроизводительность суперЭВМ с массовым спараллелизмом достигнет колоссальнойс величины десятков тысяч миллиардовс операций в секунду с плавающей сзапятой над 64- разрядными счислами (десятков Тфлопс)[50].
3.2 Принципы построения коммуникационных сред
Существенно более спростым и более дешевым соказалось использование связей на базе ссетей Ethernet, разработанная фирмой сXerox. Первоначально использовалась собычная 10-мегабитная сеть, затем сстали применять Fast Ethernet, а в споследнее время иногда и Gigabit сEthernet. Но для Fast Ethernet схарактерна большая латентность (задержкас в передаче данных), оцениваемаяс в 160-180 микросекунд, а Gigabit Ethernet сотличается высокой стоимостью. Поэтому при ссоздании многопроцессорных вычислительных ссистем часто предпочтение отдается стехнологиям SCI, Myrinet или Raceway[51].
Традиционная собласть применения SCI – это коммуникационныес среды многопроцессорных ссистем. На основе этой технологии спостроены, в частности, компьютеры ссерии hpcLine от Siemens или модульные ссерверы NUMA-Q от IBM, ранее сизвестные как Sequent.
Семейство массово-спараллельных машин ВС МВС-100с и МВС-1000
Массово-параллельные смасштабируемые системы МВС спредназначены для решения сприкладных задач, требующих сбольшого объема вычислений и собработки данных. Суперкомпьютерная сустановка системы МВС спредставляет собой мультипроцессорный смассив, объединенный с внешней сдисковой памятью и устройствами сввода-вывода информации под собщим управлением персонального скомпьютера или рабочей станции.
Основа программного собеспечения МВС[52]:
- языки FORTRANс и С (С++), дополнительные средства сописания параллельных процессов;
- программные ссредства PVM и MPI (общепринятыес для систем параллельной собработки);
- средства реализации смногопользовательских режимов и судаленного доступа.
Основные областис фактического применения ссуперкомпьютеров МВС-100/1000с использованием мультипроцессоров[53]:
1. Решение задач расчетас аэродинамики летательных аппаратовс, в том числе явления интерференциис при групповом движении.
2. Расчет трехмерныхс нестационарных течений вязко ссжимаемого газа.
3. Расчеты течений с слокальными тепловыми снеоднородностями в потоке.
4. Разработка сквантовой статистики моделей поведения свещества при экстремальных сусловиях. Расчеты баз данных по уравнениям ссоблюдения в широкой области температурыс и плотности.
5. Расчеты сструктурообразования биологических смакромолекул.