Common Intermediate Language и системное программирование в Microsoft.Net. Макаров А.В - 99 стр.

UptoLike

наиболее массовыми являются так называемые SMP (Shared
Memory Processor или Symmetric MultiProcessor) машины. В та-
ких компьютерах несколько процессоров подключены к общей
оперативной памяти и имеют к ней равноправный и конкурент-
ный доступ (см. рис. 6.2). По мере увеличения числа процессо-
ров производительность оперативной памяти и коммутаторов,
связывающих процессоры с памятью, становится критически
важной. Обычно в SMP используются 2-8 процессоров; реже
число процессоров достигает десятков. Взаимодействие одно-
временно выполняющихся процессов осуществляется посредст-
вом использования общей памяти, к которой имеют равноправ-
ный доступ все процессоры.
Рис. 6.2. SMP компьютер
при необходимости создания систем с качественно большим
числом процессоров прибегают к MPP (Massively Parallel
Processors) системам. Для этого используют несколько однопро-
цессорных или SMP-систем, объединяемых с помощью некото-
рого коммуникационного оборудования в единую сеть (см. рис.
6.3). При этом может применяться как специализированная вы-
сокопроизводительная среда передачи данных, так и обычные
сетевые средства – типа Ethernet. В MPP системах оперативная
память каждого узла обычно изолирована от других узлов, и для
обмена данными требуется специально организованная пере-
сылка данных по сети. Для MPP систем критической становит-
ся среда передачи данных; однако в случае мало связанных меж-
ду собой процессов возможно одновременное использование
большого числа процессоров. Число процессоров в MPP систе-
мах может измеряться сотнями и тысячами.
Основы многозадачности
185
В завершение знакомства укажем некоторые термины, определяю-
щие базовые понятия, которыми оперируют операционные системы.
6.1.1.1. Мультипроцессирование
Говоря о мультипроцессировании, необходимо выделить ситуации, ко-
гда используются различные виды оборудования, например, одновременная
работа центрального процессора и графического ускорителя видеокарты;
либо когда организуется одновременная работа равноправных устройств,
выполняющих сходные задачи. Последний случай (см. рис. 6.1) также пред-
полагает различные подходы – с выделением управляющего и подчиненных
устройств (асимметричное мультипроцессирование), либо с использованием
полностью равноправных (симметричное мультипроцессирование).
Рис. 6.1. Разные подходы к реализации мультипроцессирования
В современных компьютерах одновременно сосуществует несколько
различных реализаций мультипроцессирования. Так, например, практи-
чески всегда применяются функционально различные устройства – цент-
ральный процессор, видеосистема, контроллеры прямого доступа к памя-
ти (по сути, специализированные процессоры), интеллектуальные пери-
ферийные устройства и так далее. В большинстве случаев организация од-
новременной работы функционально различных устройств осуществляет-
ся на уровне операционной системы и требует непосредственного доступа
к аппаратуре компьютера. Для разработчиков приложений возможность
использования такого мультипроцессирования во многих случаях ограни-
чивается применением асинхронных функций ввода-вывода.
Кроме того, очень часто используются многопроцессорные вычисли-
тельные системы, в которых используется несколько центральных про-
цессоров. Сложилось несколько подходов к созданию таких компьютеров:
184
CIL и системное программирование в Microsoft .NET
Мультипроцессирование
Различные устройства
Одинаковые устройства
Симметричное мультипроцессирование
Ассиметричное ультипроцессирование
ЦПУ 1 ЦПУ 2
ОЗУ
ЦПУ N...
ШИНА
184                           CIL и системное программирование в Microsoft .NET   Основы многозадачности                                             185


    В завершение знакомства укажем некоторые термины, определяю-                         • наиболее массовыми являются так называемые SMP (Shared
щие базовые понятия, которыми оперируют операционные системы.                              Memory Processor или Symmetric MultiProcessor) машины. В та-
                                                                                           ких компьютерах несколько процессоров подключены к общей
6.1.1.1. Мультипроцессирование                                                             оперативной памяти и имеют к ней равноправный и конкурент-
     Говоря о мультипроцессировании, необходимо выделить ситуации, ко-                     ный доступ (см. рис. 6.2). По мере увеличения числа процессо-
гда используются различные виды оборудования, например, одновременная                      ров производительность оперативной памяти и коммутаторов,
работа центрального процессора и графического ускорителя видеокарты;                       связывающих процессоры с памятью, становится критически
либо когда организуется одновременная работа равноправных устройств,                       важной. Обычно в SMP используются 2-8 процессоров; реже
выполняющих сходные задачи. Последний случай (см. рис. 6.1) также пред-                    число процессоров достигает десятков. Взаимодействие одно-
полагает различные подходы – с выделением управляющего и подчиненных                       временно выполняющихся процессов осуществляется посредст-
устройств (асимметричное мультипроцессирование), либо с использованием                     вом использования общей памяти, к которой имеют равноправ-
полностью равноправных (симметричное мультипроцессирование).                               ный доступ все процессоры.

      Мультипроцессирование
                                                                                                  ЦПУ 1            ЦПУ 2         ...         ЦПУ N

           Различные устройства
                                                                                                                     ШИНА
          Одинаковые устройства


                   Симметричное мультипроцессирование                                                                  ОЗУ


                   Ассиметричное ультипроцессирование                                            Рис. 6.2. SMP компьютер

      Рис. 6.1. Разные подходы к реализации мультипроцессирования                        • при необходимости создания систем с качественно большим
                                                                                           числом процессоров прибегают к MPP (Massively Parallel
     В современных компьютерах одновременно сосуществует несколько                         Processors) системам. Для этого используют несколько однопро-
различных реализаций мультипроцессирования. Так, например, практи-                         цессорных или SMP-систем, объединяемых с помощью некото-
чески всегда применяются функционально различные устройства – цент-                        рого коммуникационного оборудования в единую сеть (см. рис.
ральный процессор, видеосистема, контроллеры прямого доступа к памя-                       6.3). При этом может применяться как специализированная вы-
ти (по сути, специализированные процессоры), интеллектуальные пери-                        сокопроизводительная среда передачи данных, так и обычные
ферийные устройства и так далее. В большинстве случаев организация од-                     сетевые средства – типа Ethernet. В MPP системах оперативная
новременной работы функционально различных устройств осуществляет-                         память каждого узла обычно изолирована от других узлов, и для
ся на уровне операционной системы и требует непосредственного доступа                      обмена данными требуется специально организованная пере-
к аппаратуре компьютера. Для разработчиков приложений возможность                          сылка данных по сети. Для MPP систем критической становит-
использования такого мультипроцессирования во многих случаях ограни-                       ся среда передачи данных; однако в случае мало связанных меж-
чивается применением асинхронных функций ввода-вывода.                                     ду собой процессов возможно одновременное использование
     Кроме того, очень часто используются многопроцессорные вычисли-                       большого числа процессоров. Число процессоров в MPP систе-
тельные системы, в которых используется несколько центральных про-                         мах может измеряться сотнями и тысячами.
цессоров. Сложилось несколько подходов к созданию таких компьютеров: