Сравнительная оценка мультипроцессоров и мультикомпьютеров

Их главное отличие состоит в том, что:

  • • мультипроцессоры имеют одно физическое адресное пространство, разделяемое всеми процессорными элементами;
  • • мультикомпьютеры содержат отдельное физическое адресное пространство для каждого ПЭ.

Помимо этого:

  • • программное обеспечение мультикомпьютера имеет более сложную структуру по сравнению с мультипроцессором, поэтому возникает проблема правильного разделения и размещения данных. В мультипроцессоре распределение и размещение данных в общей памяти не влияет на правильность выполнения задачи (однако может повлиять на его производительность). Таким образом, мультикомпьютер программировать гораздо сложнее, чем мультипроцессор;
  • • построение и организация общей памяти мультипроцессора, разделяемой несколькими сотнями процессорных элементов, представляет собой более сложную задачу, чем построение мультикомпьютера, содержащего 10 000 и более процессоров.

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

Ее разрешение привело к созданию гибридных систем параллельной обработки, которые относительно легко конструировать и относительно легко программировать. Поэтому практически все исследования в области систем с параллельной обработкой направлены на создание гибридных систем, которые сочетают в себе преимущества обеих архитектур [16].

Классификационным признаком может служить способ обработки данных. По этому признаку выделяют два класса компьютерных систем:

  • векторные компьютеры, в которых с помощью одной команды одновременно обрабатывается много (вектор) данных;
  • скалярные компьютеры, в которых ведется одновременная обработка данных многими командами.

При изучении параллельных компьютеров широко используется классификация Флинна [4, 9, 16]. В ее основе лежат два понятия".

  • поток команд, который ассоциируется со счетчиком команд, или программным счетчиком;
  • поток данных, состоящий из набора операндов.

Принимая потоки команд и данных независимыми, получают следующие четыре классификационных признака, или категории (рис. 17.5):

  • • SISD (Single Instruction stream Single Data stream – один поток команд, один поток данных). Этому признаку соответствует компьютер с архитектурой фон Неймана, который в каждый момент времени способен выполнять только одно действие. В этом компьютере используется одна шина, по которой поступает поток команд и поток данных (рис. 17.5,а);
  • • SIMD (Single Instruction stream Multiple Data stream – один поток команд, несколько потоков данных). Компьютеры SIMD содержат один блок управления и несколько процессорных элементов (АЛУ). Блок управления последовательно выдает по одной команде, которые могут обрабатывать несколько наборов данных одновременно (рис. 17.5,б). Такую архитектуру имеет процессор ILLIAC IV и ряд современных компьютеров, используемых для научных вычислений;
  • • MISD (Multiple Instruction stream Single Data stream – несколько потоков команд, один поток данных). К этой категории можно отнести компьютеры с конвейерной обработкой данных (рис. 17.5,в);
  • • MIMD (Multiple Instruction stream Multiple Data stream – несколько потоков команд, несколько потоков данных). Здесь несколько независимых процессоров работают как часть большой системы (рис. 17.5,г). В эту категорию попадает большинство параллельных процессоров.

Категории SIMD и MIMD классификации Флинна получили дальнейшее развитие [16] и рассматриваются в последующих главах при изучении конкретных компьютеров параллельного действия.

Классификация компьютеров по количеству потоков данных и команд

Рис. 17.5. Классификация компьютеров по количеству потоков данных и команд

 
< Пред   СОДЕРЖАНИЕ     След >