Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 / Lectures / Lect3v12.doc
Скачиваний:
101
Добавлен:
28.05.2015
Размер:
706 Кб
Скачать
☆

40. Классификация вычислительных систем

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

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

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

По функциональной ориентации (уровню параллелизма)

- ВС для решения независимых задач,

- ВС для задач, состоящих из параллельных процессов,

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

По способу форме параллелизма(классификация Флинна):

- с одиночным потоком команд и одиночным потоком данных (ОКОД или SISD–SingleInstruction–SingleDatastream)

- с одиночным потоком команд и множественным потоком данных (ОКМД или SIMD–SingleInstruction–MultipleDatastream)

- с множественным потокjм команд и одиночным потоком данных (МКОД илиMISD–MultipleInstruction–SingleDatastream)

- с множественным потоком команд и множественным потоком данных (МКМД или MIMD–MultipleInstruction–MultipleDatastream)

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

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

Структура ОКМД соответствует параллельной обработке нескольких потоков (структур) данных по одной программе. Это наиболее простой с логической точки зрения вариант параллелизма. Реализован он может быть различными способами, простейшим из которых является обработка упакованных в общий поток нескольких потоков данных, использованная в архитектуре MMXв семействе процессоровIntelPentium(P5). Другими вариантами реализации архитектуры ОКМД является многопроцессорные и многомашинные конфигурации, выполняющие одну и ту же программу над различными данными (обычно, векторами и матрицами), либо ЭВМ с векторными (матричными) процессорами.

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

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

Структуры ОКОД, ОКМД и МКМД в общем виде графически изображают так, как показано на рис. 40.1 а),б) ив) соответственно.

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

- способ связи

- непосредственный

- через память (общую)

- через магистраль (шину)

- через коммутаторы

- через каналы в/в

- характер связи

- статические

- динамические

- топология связей

- линейные (кольцо)

- матричные

- древовидные

- полные

- n-мерные (куб, гиперкуб и пр.)

- систолические

- коммутируемые.

Рис. 40.1. Общее представление структур ОКОД (а), ОКМД (б) и МКМД (в)

По типу используемых процессоров:

- обычные

- конвейерные

- векторные

- ассоциативные

- поточные (управляемые потоком данных)

- транспьютеры.

По пространственному расположению можно выделить

- сосредоточенные ВС

- распределенные ВС.

В последнем случае чаще говорят о вычислительных сетях.

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

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

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

- обеспечение быстрой связи между вычислительными блоками

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

Организация доступа к памяти в ВС

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

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

- с однородным доступом к памяти (UMA – Uniform Memory Architecture)

- с неоднородным доступом к памяти (NUMA – NonUniform Memory Architecture)

- с доступом только к кэш-памяти (COMA – Cache Only Memory Access)

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

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

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

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

Сами принципы согласования также могут быть различными [2]: строгая согласованность, согласованность по последовательности, процессорная согласованность, слабая согласованность и свободная согласованность. Одним из наиболее известных и широко применяемых протоколов согласования является протокол MESI (Modified – Exclusive – Shared – Invalid модифицировано, монопольно, разделяемо, недействительно), применяемый, например, в процессорах Intel, отслеживающий записи в кэш любым процессором.

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

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

Библиография и ссылки

1. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов – СПб.: Питер, 2006. – 668 с.

[Акаев] Акаев А.А., Майоров С.А. Оптические методы обработки информации. – М.: Высш. шк., 1988. – 237 с.

[кв. комп] http://www.osp.ru/os/2000/05-06/023.htm

[кв. комп] http://qi.cs.msu.su/LabPage/Russian/sl_art.html

[Глушков] Глушков В.М. Два универсальных критерия эффективности вычислительных машине. – Доклады АН УССР, 1960, № 4, с. 477-481.

[Балашов, Кноль]

[S.Gill] S.Gill, Computer Journal, 1958, v.1, N 1, p. 2-10

[B.Ryle] Communications of ACM, 1961, v.4, N 2, p. 99-101

[Kernighan] Kernighan B.W., Lin S. An efficient heuristic procedure for partitioning graphs. – The Bell System Technical Journal, vol. 49, N 2, pp. 291-308, 1970

Соседние файлы в папке Lectures