Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС (1114685), страница 19
Текст из файла (страница 19)
Одна из наиболее простых классическихклассификаций — это классификация по Флинну (M.Flynn), основанная на оценке некоторыххарактеристик потоков информации в машине.В контексте машины можно выделить два потока информации: поток управления (дляпередачи управляющих воздействий на конкретное устройство) и поток данных (циркулирующиймежду оперативной памятью и внешними устройствами). Возможны некоторые оптимизацииданных потоков. В потоке команд — это переход от команд низкого уровня к высокоуровневым(когда ЦП вместо работы с микрокомандами начинает вырабатывать высокоуровневые команды,которые передаются «умному» устройству управления, непосредственно реализующему данныекоманды); в потоке данных — это исключение участия ЦП в обменах между внешнимиустройствами и оперативной памятью.В классификации по Флинну выделяют следующие четыре архитектуры:− ОКОД (одиночный поток команд, одиночный поток данных, или SISD — single instruction,single data stream) — это традиционная однопроцессорная система (близкая машине фонНеймана).− ОКМД (одиночный поток команд, множественный поток данных, или SIMD — singleinstruction, multiple data stream) — например, векторные компьютеры, способные оперироватьвекторами данных.
Обычно для этих целей в данных машинах существуют векторныерегистры, а также обычно имеются векторные операции, предполагающие векторнуюобработку.− МКОД (множественный поток команд, одиночный поток данных, или MISD — multipleinstruction, single data stream) — данный класс архитектур является спорным. Существуютразличные точки зрения о существовании каких-либо систем данного класса, и если таковыеимеются, то какие именно. В некотором смысле сюда можно отнести специализированныесистемы обработки видео- и аудиоинформации, а также конвейерные системы.− МКМД (множественный поток команд, множественный поток данных, или MIMD — multipleinstruction, multiple data stream) — это системы, которые содержат не менее двух устройствуправления (это может быть один сложный процессор с множеством устройств управления).На сегодняшний день данная категория во многом определяет свойства и характеристикимногопроцессорных и параллельных вычислительных систем.Среди систем МКМД можно выделить два подкласса: системы с общей оперативнойпамятью и системы с распределенной памятью (1.2.7).
Для систем первого типа характерно то,что любой процессор имеет непосредственный доступ к любой ячейке этой общей оперативнойпамяти. Слово «непосредственно» означает, что любой адрес может появляться в произвольнойкоманде в любом из устройств управления. Системы с распределенной памятью представляют65собою обычно объединение компьютерных узлов.
Под узлом понимается самостоятельныйпроцессор со своей локальной оперативной памятью. В данных системах любой процессор неможет произвольно обращаться к памяти другого процессора. Указанные системы иллюстрируютпротивоположные подходы, на практике обычно встречаются промежуточные решения.MIMDСистемы с общейоперативной памятьюUMA — система соднородным доступом впамять (uniform memoryaccess)Системы с распределеннойоперативной памятьюNUMA — система снеоднородным доступом впамять (non-uniform memoryaccess)ccNUMA — Cache CoherentNUMASMP — симметричнаямультипроцессорная система(symmetric multiprocessor)MPP (Massively ParallelProcessors — процессоры смассовым параллелизмом)COW (Cluster of workstations —кластер рабочих станций)Рис.
53.Классификация МКМД.Рассмотрение систем с общей оперативной памятью начнем с UMA. UMA (uniform memoryaccess) — система с однородным доступом в память. В данной модели произвольныйпроцессорный элемент имеет доступ к произвольной точке оперативной памяти (доступ содинаковым временем). Развитием архитектуры UMA стала модель SMP (symmetricmultiprocessor — симметричная мультипроцессорная система). В этой модели (1.2.7) к общейсистемной шине, или магистрали, подсоединяются несколько процессоров и блок общейоперативной памяти. У данного решения можно отметить следующие недостатки.
Во-первых, этоцентрализованная система, и шина в ней является «узким горлом», поэтому данная модельнакладывает существенные ограничения на количество подключаемых процессоров (обычно 2, 4,8, вплоть до 32). Во-вторых, возникают дополнительные проблемы с КЭШ первого уровнякаждого процессора. Решений тут как минимум два: либо не использовать КЭШ, либо реализоватьКЭШ-память со слежением. В последнем случае каждый КЭШ слушает шину и реагирует наситуацию в системе. Различные ситуации приведены в следующей таблице:R–(промах при чтении)R+(попадание при чтении)W–(промах по записи)W+(попадание при записи)Действия локального КЭШа(в том ЦП, где выполняетсяоперацию)M→C(идет чтение из ОП в кэш)USE C(использование кэш)→M(обновление памяти,кэш не обновляется)→C→M(обновление и КЭШа,и памяти)66Действия «внешнегоКЭШа» (на другихпроцессорах)ничегоничего(т.к. ничего не увидит)ничегосоответствующая запись изКЭШа будет удаленаЗамечание.
При промахе по записи производится только обновление памяти, т.к. реализуетсястратегия, ориентированная на преимущественное чтение.ЦПЦПЦПЦП……шинаОПРис. 54.SMP-система.Иной подход к реализации систем с общей оперативной памятью предлагает архитектураNUMA (non-uniform memory access — система с неоднородным доступом в память). Для данныхсистем (1.2.7) характерны следующие свойства:− общее адресное пространство;− характеристики доступа процессора к области оперативной памяти зависит от того, к какимобластям идет обращение.Модификацией модели NUMA является модель ccNUMA (Cache coherent NUMA) — этоNUMA-система с когерентными КЭШами.
Данные системы позволяют подключать несколькосотен процессоров, но остаются ограничения, связанные с использованием системной шины, атакже возникают ограничения, связанные с cc-архитектурой: появляются системные потокислужебной информации, что ведет к дополнительным накладным расходам.Теперь рассмотрим системы с распределенной оперативной памятью.
Данный класс системявляется наиболее перспективным с точки зрения их массового распространения и использования.Среди них можно выделить два основных класса: MPP (Massively Parallel Processors —процессоры с массовым параллелизмом) и COW (Cluster of Workstations — кластеры рабочихклассов).ЦПОПЦП……ЦПОПОПлокальнаяшинаконтроллерпамятиобщая системная шина (широковещательная)Рис. 55.NUMA-система.MPP обычно являются дорогостоящими специализированными многопроцессорнымисистемами, поэтому не находят массового применения. Системы данного класса имеютразнообразные формы архитектур: это могут быть макроконвейерные архитектуры, кубы игиперкубы.Что касается COW, то это многомашинные системы, состоящие из множества узлов,каждый из которых может быть обыкновенным компьютером.
В качестве минимального узламожет выступать процессор со своей локальной оперативной памятью и аппаратурой сопряженияс другими вычислительными узлами. Для сопряжения с другими вычислительными узламииспользуют специализированные компьютерные сети.Кластеры могут создавать для достижения следующих основных целей:67− построение кластера как высокопроизводительной вычислительной системы, т.е.вычислительного кластера (критерием эффективности выступает скорость обработкиинформации);− построение кластера, обеспечивающего надежность.
Данный тип кластеров строится длярешения конкретной прикладной задачи (например, сервер базы данных авиабилетов), приэтом выход из строя некоторых узлов не означает отказ системы: система продолжаетсяфункционировать пускай и со сниженной производительностью.Для построения вычислительных кластеров зачастую используют Unix-системы, а для кластеровнадежности — Windows-системы.
На сегодняшний день кластеры — это специализированныесистемы с соответствующей архитектурой (например, alpha-системы), при этом речь идет осупервычислительных кластерах, включающих в себя сотни – тысячи узлов. Основнымипроблемами кластерных систем являются отвод тепла и коммуникация (если будет использоватьсяединственная магистраль, то она «захлебнется» от потоков передаваемой информации, абольшинство узлов будут простаивать).Напоследок хочется отметить, что в рейтингах наиболее высокоскоростныхвычислительных систем (Top100, Top500 и пр.) верхние строчки занимают именно кластерныесистемы.Теперь рассмотрим проблемы сетевого взаимодействия.1.2.8Терминальные комплексы (ТК)Терминальный комплекс — это многомашинная ассоциация, предназначенная дляорганизации массового доступа удаленных и локальных пользователей к ресурсам некоторойвычислительной системы.Суть ТК заключается в следующем.
Пусть имеется некая вычислительная система.Ставится задача организовать массовый доступ к ее ресурсам. Под ресурсами в данном случаемогут пониматься, например, высокая производительность рассматриваемой системы или жеинформационный ресурс (информационное наполнение, интересное для массового пользователя,такое, как электронная библиотека).Вычислительная системаТелефонная сетьАТСМультиплексорАТСАТСмодемАТС…Терминальные устройствамодемУдаленный терминалРис. 56.Терминальные комплексы.−−−−−Терминальные комплексы предполагают в своем составе следующие компоненты:основная вычислительная система (к которой делается доступ);локальные мультиплексоры;локальные терминалы;модемы;удаленные терминалы;68− удаленные мультиплексоры.Считается, что пользователь может использовать терминальное устройство (алфавитноцифровой терминал, т.е.