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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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

 

Транспьютеры

Для построения многопроцессорных систем могут быть использованы специально разработанные процессоры, называемые транспьютерами. Они были созданы в середине 1980-х годов фирмой INMOS Ltd (ныне - подразделение STMicroelecTRoniCS).

Транспьютер - это микропроцессор со встроенными средствами межпроцессорной коммуникации, предназначенной для построения многопроцессорных систем. Его название происходит от слов TRansfer (передатчик) и computer (вычислитель).

Транспьютер включает в себя средства для выполнения вычислений (ЦП, АЛУ с плавающей точкой, внутрикристальную память) и 4 канала для связи (линка) с другими транспьютерами и/или другими устройствами. Каждый линк представляет собой два однонаправленных последовательных канала передачи информации. Встроенный интерфейс позволяет подключать внешнюю память емкостью до 4 Гбайт, как показано на рисунке 18.5.

 

 

Рисунок 18.5 - Структура транспьютера

 

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

 

 

Рисунок 18.6 - Структуры многопроцессорных систем на базе транспьютеров

 

Организация транспьютеров и многопроцессорных систем на их основе базируется на языке Occam, специально разработанном в начале 1980-х годов группой ученых из Оксфорда под руководством Дэвида Мэя по заданию компании INMOS в рамках работ по созданию транспьютеров. Отметим основные характеристики этого языка с точки зрения его применения для программирования транспьютерных систем:

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

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

- язык позволяет описать размещение процессов по оборудованию;

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

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

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

Помимо интересных возможностей, связанных с построением мультипроцессорных систем без привлечения дополнительного оборудования, в транспьютерах были реализованы идеи, направленные на повышение их вычислительной мощности. Среди них хотелось бы отметить то, что блок регистров транспьютера организован в виде стека. Это привело к использованию преимущественно безадресной системы команд, что обеспечило даже более высокую производительность, чем RISC-архитектура. Второй момент, который следует выделить, - это одновременное исполнение группы, в которую входило до восьми команд, что обеспечивало полную загрузку устройств процессора. И все это было реализовано в конце 1980-х годов, задолго до появления EPIC и Itanium.

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

- производительность: 200 MIPS, 25 MFLOPS (на 6четырехразрядном процессоре с плавающей точкой);

- емкость внутрикристальной памяти: 16 Кбайт;

- скорость обмена по линку: 100 Мбит/с.

В середине 1990-х, в эпоху расцвета микропроцессоров этого семейства, фирма INMOS помимо собственно транспьютеров поставляла широкий набор трэмов (TRem - TRansputer Extension Module) - устройств ввода-вывода с линком в качестве интерфейса. В частности, поставлялись трэмы, позволявшие подключить к транспьютеру через линк адаптеры Ethernet или SCSI. В целях увеличения числа физических связей был разработан программируемый коммутатор, осуществляющий передачу сообщения с любого из 32 входов на любой из 32 выходов.

Транспьютеры успешно использовались в различных областях от встроенных систем до суперЭВМ. Однако технология транспьютеров серьезного развития не получила, так как начиная с Pentium Pro в универсальные микропроцессоры введена возможность соединения процессоров в микропроцессорную систему, что обесценило главное преимущество транспьютеров - возможность построения многопроцессорных систем без дополнительных аппаратных затрат. В настоящее время транспьютеры не производятся, они вытеснены похожими разработками конкурентов, особенно Texas INsTRuments (TMS320) и Intel (80860).

Контрольные вопросы:

1. Классификация Флинна систем многопроцессорной обработки данных, основанная на понятии потока.

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

3. Структура и особенности работы SMP-, NUMA-, MPP-систем.

4. Структура и особенности работы кластеров.

5. Специальный класс микропроцессоров - транспьютеры, созданный для построения мультипроцессорных систем

 



Поделиться:


Последнее изменение этой страницы: 2021-02-07; просмотров: 135; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.2.184 (0.006 с.)