Тема 7_2010 Классификации архитектур ВС (987277), страница 2
Текст из файла (страница 2)
В архитектурах подобного родасохраняется один поток команд, включающий, в отличиеот предыдущего класса, векторные команды. Этопозволяет выполнять одну арифметическую операциюсразу над многими данными - элементами вектора.Способ выполнения векторных операций неоговаривается, поэтому обработка элементов вектораможет производится либо процессорной матрицей, как вILLIAC IV, либо с помощью конвейера, как, например, вмашине CRAY-1.MISD (multiple instruction stream / single data stream) множественный поток команд и одиночный потокданных (МКОД).
Определение подразумевает наличие вархитектуре многих процессоров, обрабатывающих одини тот же поток данных. Однако ни Флинн, ни другиеспециалисты в области архитектуры компьютеров донекоторого времени не могли представить убедительный4пример реально существующей вычислительнойсистемы, построенной на данном принципе. Рядисследователей относят конвейерные машины к данномуклассу, однако это не нашло окончательного признания внаучном сообществе. Появившиеся многоядерныекомпьютеры можно отнести к данному классу.MIMD (multiple instruction stream / multiple data stream) множественный поток команд и множественный потокданных (МКМД).
Этот класс предполагает, что ввычислительной системе есть несколько устройствобработки команд, объединенных в единый комплекс иработающих каждое со своим потоком команд и данных.Итак, что же собой представляет каждый класс? В SISD, как ужеговорилось, входят однопроцессорные последовательные компьютеры типаVAX 11/780. Однако многими критиками подмечено, что в этот класс можновключить и векторно-конвейерные машины, если рассматривать вектор какодно неделимое данное для соответствующей команды. В таком случае в этоткласс попадут и такие системы, как CRAY-1, CYBER 205, машины семействаFACOM VP и многие другие.Бесспорными представителями класса SIMD считаются матрицыпроцессоров: ILLIAC IV, ICL DAP, Goodyear Aerospace MPP, ConnectionMachine 1 и т.п. В таких системах единое управляющее устройствоконтролирует множество процессорных элементов. Каждый процессорныйэлемент получает от устройства управления в каждый фиксированныймомент времени одинаковую команду и выполняет ее над своимилокальными данными.
Для классических процессорных матриц никакихвопросов не возникает, однако в этот же класс можно включить и векторноконвейерные машины, например, CRAY-1. В этом случае каждый элементвектора надо рассматривать как отдельный элемент потока данных.Класс MIMD чрезвычайно широк, поскольку включает в себявсевозможные мультипроцессорные системы: Cm*, C.mmp, CRAY Y-MP,Denelcor HEP,BBN Butterfly, Intel Paragon, CRAY T3D и многие другие.Интересно то, что если конвейерную обработку рассматривать каквыполнение множества команд (операций ступеней конвейера) не надодиночным векторным потоком данных, а над множественным скалярнымпотоком, то все рассмотренные выше векторно-конвейерные компьютерыможно расположить и в данном классе.Предложенная схема классификации вплоть до настоящего времениявляется самой применяемой при начальной характеристике того или иного5компьютера.
Если говорится, что компьютер принадлежит классу SIMD илиMIMD, то сразу становится понятным базовый принцип его работы, и внекоторых случаях этого бывает достаточно.Однако видны и явные недостатки. В частности, некоторыезаслуживающие внимания архитектуры, например dataflow и векторноконвейерные машины, четко не вписываются в данную классификацию.Другой недостаток - это чрезмерная заполненность класса MIMD.Необходимо средство, более избирательно систематизирующее архитектуры,которые по Флинну попадают в один класс, но совершенно различны почислу процессоров, природе и топологии связи между ними, по способуорганизации памяти и, конечно же, по технологии программирования.Наличие “пустого” класса (MISD) на момент формирования классификацииоказалось чрезвычайно полезным для разработки принципиально новыхконцепций в теории и практике построения вычислительных систем, аименно многоядерных процессоров, которые появились уже в начале 21 века.Основные классы современных параллельныхкомпьютеровКлассифицируя современные компьютеры, которые практически всеотносятся к классу MIMD будем основываться на анализе используемых всистемах способах организации оперативной памяти.
На рис.1 приведенаклассификация класса MIMD.Данный поход позволяет различать два важных типа многопроцессорныхсистем - multiprocessors (мультипроцессоры или системы с общейразделяемой памятью) и multicomputers (мультикомпьютеры или системы сраспределенной памятью).Рис. 1. Структура класса современных вычислительных систем6Для мультипроцессоров учитывается способ построения общей памяти.Возможный подход - использование единой (централизованной) общейпамяти. Такой подход обеспечивает однородный доступ к памяти (uniformmemory access or UMA) и служит основой для построения векторныхсуперкомпьютеров (parallel vector processor, PVP) и симметричныхмультипроцессоров (symmetric multiprocessor or SMP). Среди примеровпервой группы суперкомпьютер Cray T90, ко второй группе относятся IBMeServer p690, Sun Fire E15K, HP Superdome, SGI Origin 300 и др.Общий доступ к данным может быть обеспечен и при физическираспределенной памяти (при этом, естественно, длительность доступа уже небудет одинаковой для всех элементов памяти).
Такой подход именуется какнеоднородный доступ к памяти (non-uniform memory access or NUMA). Средисистем с таким типом памяти выделяют:Системы, в которых для представления данных используетсятолько локальная кэш память имеющихся процессоров (cache-onlymemory architecture or COMA); примерами таких систем являются,например, KSR-1 и DDM;•Системы,вкоторыхобеспечиваетсяоднозначность(когерентность) локальных кэш памяти разных процессоров (cachecoherent NUMA or CC-NUMA); среди систем данного типа SGIOrigin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000;•Системы, в которых обеспечивается общий доступ к локальнойпамяти разных процессоров без поддержки на аппаратном уровнекогерентности кэша (non-cache coherent NUMA or NCC-NUMA); кданному типу относится, например, система Cray T3E.•Мультикомпьютеры (системы с распределенной памятью) уже необеспечивают общий доступ ко всей имеющейся в системах памяти (noremote memory access or NORMA).
Данный подход используется припостроении двух важных типов многопроцессорных вычислительных систем- массивно-параллельных систем (massively parallel processor or MPP) икластеров (clusters). Среди представителей первого типа систем - IBMRS/6000 SP2, Intel PARAGON/ASCI Red, транспьютерные системы Parsytec идр.; примерами кластеров являются, например, системы AC3 Velocity иNCSA/NT Supercluster.Следует отметить чрезвычайно быстрое развитие кластерного типамногопроцессорных вычислительных системКак уже отмечалось, основным параметром классификациипараллельных компьютеров является наличие общей (SMP) илираспределенной памяти (MPP). Нечто среднее между SMP и MPPпредставляют собой NUMA-архитектуры, где память физическираспределена, но логически общедоступна.
Кластерные системы являются7более дешевым вариантом MPP. При поддержке команд обработкивекторных данных говорят о векторно-конвейерных процессорах, которые, всвою очередь могут объединяться в PVP-системы с использованием общейили распределенной памяти.Все большую популярность приобретают идеи комбинированияразличных архитектур в одной системе и построения неоднородных систем.При организациях распределенных вычислений в глобальных сетях(Интернет) говорят о мета-компьютерах, которые, строго говоря, непредставляют собой параллельных архитектур.Базовые характеристики современных компьютеровМассивно-параллельные системы (MPP)Архитектура: Система состоит из однородных вычислительных узлов,включающих:• один или несколько центральных процессоров (обычно RISC),• локальную память (прямой доступ к памяти других узлов невозможен),• коммуникационный процессор или сетевой адаптер• иногда - жесткие диски (как в SP) и/или другие устройства В/ВК системе могут быть добавлены специальные узлы ввода-вывода иуправляющие узлы.
Узлы связаны через некоторую коммуникационнуюсреду (высокоскоростная сеть, коммутатор и т.п.)Примеры: IBM RS/6000 SP2, Intel PARAGON/ASCI Red, SGI/CRAYT3E, Hitachi SR8000, транспьютерные системы Parsytec и др.Масштабируемость: Общее число процессоров в реальных системахдостигает нескольких тысяч (ASCI Red, Blue Mountain).Операционная система: Существуют два основных варианта:1.Полноценная ОС работает только на управляющей машине(front-end), на каждом узле работает сильно урезанный вариант ОС,обеспечивающие только работу расположенной в нем ветви параллельногоприложения. Пример: Cray T3E.2. На каждом узле работает полноценная UNIX-подобная ОС (вариант,близкий к кластерному подходу).