Глава 8 Многопроцессорные системы

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

В прошлом проблема всегда решалась за счет повышения тактовой частоты. К сожалению, этому повышению уже начинает препятствовать ряд фундаментальных ограничений. В соответствии с положениями специальной теории относительности Эйнштейна электрический сигнал не может распространяться быстрее скорости света, равной в вакууме примерно 30 см/нс, а в медном проводнике или в оптическом кабеле скорость распространения сигнала равняется примерно 20 см/нс. Из этого следует, что на компьютере с тактовой частотой 10 ГГц сигнал не может преодолеть за один такт суммарное расстояние, превышающее 2 см. Для компьютера с тактовой частотой 100 ГГц максимальная суммарная длина пути равна 2 мм. Компьютер с тактовой частотой 1 ТГц (1000 ГГц) должен быть меньше 100 мкм (0,1 мм), чтобы сигнал мог добраться с одного его конца до другого за один такт.

Уменьшить компьютеры до таких размеров, может быть, и возможно, но тогда препятствием станет другая фундаментальная проблема: отвод тепла. Чем быстрее компьютер, тем больше тепла он выделяет, а чем он меньше, тем труднее от этого тепла избавиться. Уже сейчас на мощных x86-системах системы охлаждения, установленные на процессоре, больше самого процессора. В конечном счете переход с частоты 1 МГц к частоте 1 ГГц потребовал последовательного совершенствования технологии производства микросхем. А переход с частоты 1 ГГц на частоту 1 ТГц потребует, скорее всего, совершенно иных подходов.

Один из подходов к увеличению скорости состоит в широкомасштабном применении параллельных вычислительных систем. Эти системы содержат множество центральных процессоров, каждый из которых работает на обычной частоте (какое бы значение она ни имела в данное время), но по сравнению с отдельно взятым процессором все вместе они обладают куда более высокой вычислительной мощностью. Сейчас уже продаются системы, состоящие из десятков тысяч центральных процессоров. А в лабораториях уже созданы системы с 1 млн центральных процессоров (Furber et al., 2013). Хотя существуют и другие потенциальные подходы к увеличению скорости работы компьютеров, например биологические компьютеры, в данной главе внимание

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

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

Еще одна имеющая отношение к изучаемому вопросу область развития — это невероятно бурный рост сети Интернет. Эта сеть первоначально была разработана как прототип высокоустойчивой системы управления войсками, затем завоевала популярность в научной компьютерной среде и давно уже приобрела множество новых пользователей. Одно из применений Интернета состоит в объединении в едином рабочем пространстве нескольких тысяч компьютеров по всему миру для решения широкомасштабных научных задач. В известном смысле система, состоящая из тысячи компьютеров, рассредоточенных по всему миру, не отличается от системы, состоящей из тысячи компьютеров, находящихся в одном помещении, хотя задержки по времени и другие технические характеристики у этих двух систем различаются. Эти системы также будут рассмотрены в данной главе.

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

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

Весь обмен данными между электронными (или оптическими) компонентами в конечном итоге сводится к обмену сообщениями — четко определенными битовыми строками. Разница заключается в используемых масштабах времени, расстояния и логической организации. На одном полюсе находится многопроцессорная система с общим пространством памяти, где от двух до тысячи центральных процессоров обмениваются данными через общую память. В этой модели каждый центральный процессор имеет равный доступ ко всей физической памяти и может читать и записывать отдельные слова, используя команды LOAD и STORE. Доступ к слову памяти обычно занимает 1-10 нс. Как вскоре будет показано, сейчас уже нет ничего необычного в помещении на один кристалл центрального процессора более одного вычислительного ядра с предоставлением ядрам совместного доступа к основной памяти (а иногда даже и к совместным блокам кэш-памяти). Иными словами, модель мультикомпьютеров может быть реализована с использованием физически отдельных центральных процессоров, нескольких ядер на одном центральном процессоре или комбинации из вышеперечисленного. При кажущейся простоте эта модель (рис. 8.1, а) реализуется не так-то просто и обычно включает в себя передачу большого количества защищенных

сообщений, на чем мы кратко остановимся в дальнейшем. Но эта передача сообщений невидима для программистов.

Рис. 8.1. Мультипроцессорная система: а — с общей памятью; б — с передачей сообщений; в — глобальная распределенная система


Следом идет система (рис. 8.1, б), в которой несколько пар «процессор — память» соединены друг с другом высокоскоростной схемой. Эта разновидность называется мультипроцессорной системой с передачей сообщений. Каждый модуль памяти является локальным по отношению к одному центральному процессору, и доступ к нему можно получить только через этот центральный процессор. Центральные процессоры связываются друг с другом путем отправки сообщений через схему соединений. При наличии качественной схемы соединений короткие сообщения могут быть отправлены за 10-50 мс, что намного превышает время доступа к памяти в системе, показанной на рис. 8.1, а. В этой конструкции не используется общая глобальная память. Мультипроцессорные компьютеры (то есть системы с передачей сообщений) намного проще в создании, чем мультипроцессоры (системы с общей памятью), но они труднее в программировании. Поэтому у каждой разновидности есть свои поклонники.

Третья модель (рис. 8.1, в) объединяет полноценные компьютерные системы по глобальной сети, такой как Интернет, с целью формирования распределенной системы (distributed system). У каждой из этих систем имеется собственная оперативная память, и системы связываются друг с другом путем отправки сообщений. Единственное реальное отличие друг от друга систем, показанных на рис. 8.1, б и в, заключается в том, что в последней из них используются полноценные компьютеры, а время передачи сообщений часто составляет 10-100 мс. Столь длительные задержки вынуждают использовать эти так называемые слабосвязанные (loosely coupled) системы несколько по-другому, нежели сильносвязанные (tightly coupled) системы (см. рис. 8.1, б). Время задержки у этих трех разновидностей систем различается практически на три порядка. Такая же разница между одним днем и тремя годами.

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

8.1.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Глава 8 Многопроцессорные системы:

  1. Глава 4. Система права и система законодательства
  2. Глава 12. Анализ динамики систем
  3. Глава 2. Источники и система конституционного права
  4. Глава 6. Политические партии и партийные системы
  5. Глава 10. Переходные процессы в социальных системах
  6. Глава 4. Система принципов воспитания военнослужащих
  7. Глава 4. Система принципов воспитания военнослужащих
  8. Глава 3 ГРАЖДАНСКОЕ ПРАВО КАК СИСТЕМА ЗАКОНОДАТЕЛЬСТВА
  9. Глава 21. Избирательная система и референдум Российской Федерации
  10. Глава 1 ПРЕДМЕТ, МЕТОД І СИСТЕМА ТРУДОВОГО ПРАВА
  11. Глава 1. Общая характеристика системы гражданских договоров
  12. ГЛАВА 3 ПРЕДМЕТ, МЕТОД И СИСТЕМА ИНФОРМАЦИОННОГО ПРАВА
  13. Глава 2. Судебная власть и система органов, ее осуществляющих
  14. ГЛАВА 2 ГЕНЕЗИС ДИДАКТИЧЕСКИХ СИСТЕМ В РАЗЛИЧНЫЕ ИСТОРИЧЕСКИЕ ПЕРИОДЫ
  15. Глава 4 Система
  16. Глава 1. Предмет, источники и система конституционного права зарубежных стран