Главная страница
Навигация по странице:

  • Системы с неоднородным доступом к памяти (NUMA 3 )

  • БИЛЕТ 17. Терминальные комплексы. Компьютерные сети. Терминальные комплексы.

  • Многомашинные вычислительные комплексы

  • Околения компьютеров


    Скачать 1.67 Mb.
    НазваниеОколения компьютеров
    Дата18.04.2022
    Размер1.67 Mb.
    Формат файлаpdf
    Имя файлаOS_Graur.pdf
    ТипДокументы
    #481658
    страница5 из 20
    1   2   3   4   5   6   7   8   9   ...   20
    Билет 16. Многомашинные, многопроцессорные
    ассоциации. Классификация. Примеры.
    Системы с распределенной памятью – MPP.
    Примером системы с распределенной памятью может служить массивно-
    параллельная архитектураMPP
    1
    . Массивно-параллельные системы состоят из однородных вычислительных узлов, каждый из которых включает в себя:
    - один или несколько процессоров
    - локальную память, прямой доступ к которой с других узлов невозможен
    - коммуникационный процессор или сетевой адаптер
    - устройства ввода/вывода
    Схема MPP системы, где каждый вычислительный узел (ВУ) имеет один процессорный элемент (например, RISC-процессор, одинаковый для всех ВУ), память и коммуникационное устройство, изображена на рисунке.
    ЦП
    Память коммуникац. устр-во
    ВУ
    Управляющий узел (узлы)
    Узел (узлы) ввода-вывода
    ЦП
    Память коммуникац.
    устр-во
    ВУ
    ЦП
    Память коммуникац. устр-во
    ВУ
    ЦП
    Память коммуникац.
    устр-во
    ВУ
    Рис. 1 Архитектура MPP.
    Помимо вычислительных узлов, в систему могут входить специальные узлы ввода-вывода и управляющие узлы. Узлы связаны между собой посредством высокоскоростной среды передачи данных определенной топологии. Число процессоров в MPP-системах может достигать нескольких тысяч.
    Поскольку в MPP-системе каждый узел представляет собой относительно самостоятельную единицу, то, как правило, управление массивно-параллельной системой в целом осуществляется одним из двух способов:
    1. На каждом узле может работать полноценная операционная система, функционирующая отдельно от других узлов. При этом, разумеется, такая
    ОС должна поддерживать возможность коммуникации с другими узлами в соответствии с особенностями данной архитектуры.
    2. «Полноценная» ОС работает только на управляющей машине, а на каждом из узлов MPP-системы работает некоторый сильно «урезанный» вариант
    ОС, обеспечивающий работу задач на данном узле.
    1
    Аббревиатура MPP представляет собой сокращение от «Massive Parallel Processing»

    В массивно-параллельной архитектуре отсутствует возможность осуществлять обмен данными между ВУ напрямую через память, поэтому взаимодействие между процессорами реализуется с помощью аппаратно и программно поддерживаемого механизма передачи сообщений между ВУ.
    Соответственно, и программы для MPP-систем обычно создаются в рамках модели передачи сообщений.
    Системы с общей памятью – SMP.
    В качестве наиболее распространенного примера систем с общей памятью рассмотрим архитектуру SMP
    2
    симметричную мультипроцессорную систему.
    SMP-системы состоят из нескольких однородных процессоров и массива общей памяти, который обычно состоит из нескольких независимых блоков. Слово
    «симметричный» в названии данной архитектуры указывает на то, что все процессоры имеют доступ напрямую (т.е. возможность адресации) к любой точке памяти, причем доступ любого процессора ко всем ячейкам памяти осуществляется с одинаковой скоростью. Общая схема SMP-архитектуры изображена на Рис. 2.
    О б щ а я п а м я т ь
    ЦП
    ЦП
    ЦП
    ЦП
    Высокоскоростная среда передачи данных
    .…..
    Рис. 2 Архитектура SMP
    Процессоры подключены к памяти либо с помощью общей шины, либо с помощью коммутатора. Отметим, что в любой системе с общей памятью возникает проблема кэширования: так как к некоторой ячейке общей памяти имеет возможность обратиться каждый из процессоров, то вполне возможна ситуация, когда некоторое значение из этой ячейки памяти находится в кэше одного или нескольких процессоров, в то время как другой процессор изменяет значение по данному адресу. В этом случае, очевидно, значения, находящиеся в кэшах других процессоров, больше не могут быть использованы и должны быть обновлены. В
    SMP-архитектурах обычно согласованность данных в кэшах поддерживается аппаратно.
    Очевидно, что наличие общей памяти в SMP-архитектурах позволяет эффективно организовать обмен данными между задачами, выполняющимися на разных процессорах, с использованием механизма разделяемой памяти. Однако сложность организации симметричного доступа к памяти и поддержания согласованности кэшей накладывает существенное ограничение на количество процессоров в таких системах – в реальности их число обычно не превышает 32 – в то время, как стоимость таких машин весьма велика. Некоторым компромиссом между масштабируемостью и однородностью доступа к памяти являются NUMA- архитектуры, которые мы рассмотрим далее.
    2
    Аббревиатура SMP является сокращением фразы «Symmetric Multi Processing»

    Системы с неоднородным доступом к памяти – NUMA.
    Системы с неоднородным доступом к памяти (NUMA
    3
    ) представляют собой промежуточный класс между системами с общей и распределенной памятью.
    Память в NUMA-системах является физически распределенной, но логически общедоступной. Это означает, что каждый процессор может адресовать как свою локальную память, так и память, находящуюся на других узлах, однако время доступа к удаленным ячейкам памяти будет в несколько раз больше, нежели время доступа к локальной памяти. Заметим, что единой адресное пространство и доступ к удаленной памяти поддерживаются аппаратно. Обычно аппаратно поддерживается и когерентность (согласованность) кэшей во всей системе
    Системы с неоднородным доступом к памяти строятся из однородных базовых модулей, каждый из которых содержит небольшое число процессоров и блок памяти. Модули объединены между собой с помощью высокоскоростного коммутатора. Обычно вся система работает под управлением единой ОС.
    Поскольку логически программисту предоставляется абстракция общей памяти, то модель программирования, используемая в системах NUMA, обычно в известной степени аналогична той, что используется насимметричных мультипроцессорных системах, и организация межпроцессного взаимодействия опирается на использование разделяемой памяти.
    Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддержки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров.
    Кластерные системы.
    Отдельным подклассом систем с распределенной памятью являются кластерные
    системы, которые представляют собой некоторый аналог массивно-параллельных систем, в котором в качестве ВУ выступают обычные рабочие станции общего назначения, причем иногда узлы кластера могут даже одновременно использоваться в качестве пользовательских рабочих станций. Кластер, объединяющий компьютеры разной мощности или разной архитектуры, называют
    гетерогенным (неоднородным). Для связи узлов используется одна из стандартных сетевых технологий, например, Fast Ethernet.
    Главными преимуществами кластерных систем, благодаря которым они приобретают все большую популярность, являются их относительная дешевизна, возможность масштабирования и возможность использования при построении кластера тех вычислительных мощностей, которые уже имеются в распоряжении той или иной организации.
    При программировании для кластерных систем, как и для других систем с распределенной памятью, используется модель передачи сообщений.
    3
    Аббревиатура NUMA расшифровывается как «Non-Unified Memory Access», что в буквальном переводе и означает «неоднородный доступ к памяти». Часто используется также обозначение
    «ccNUMA», что означает «cache-coherent NUMA», или система с неоднородным доступом к памяти с поддержкой когерентности (т.е. согласованности) кэшей

    БИЛЕТ 17. Терминальные комплексы. Компьютерные
    сети.
    Терминальные комплексы.
    Исторически, одним из первых примеров многомашинных ассоциаций являлись терминальные комплексы. Терминальный комплекс это многомашинная ассоциация предназначенная для организации массового доступа удаленных и локальных пользователей к ресурсам некоторой вычислительной системы. При этом, к примеру, возможно использование терминальных комплексов для сбора и централизованной обработки информации (например, обработка результатов переписи населения или выборов) или для массового доступа удаленных пользователей к информации, размещенной в вычислительной системе (например, доступ пользователей к электронной библиотеке или система бронирования и продажи авиа или железнодорожных билетов). Временем появления подобных задач является конец 50-х – начало 60-х годов 20 века.
    Структуру терминального комплекса можно примерно изобразить следующим образом.
    Терминальный комплекс может включать в свой состав:
    - основную вычислительную систему – систему, массовый доступ к ресурсам которой обеспечивается терминальным комплексом;
    - локальные
    мультиплексоры – аппаратные комплексы, предназначенные для осуществление связи и взаимодействия вычислительной системы с несколькими устройствами через один канал ввода/вывода, в общем случае возможна схема M x N, где M
    – число обслуживаемых мультиплексором устройств, N число используемых для организации работы каналов ввода/вывода (M >
    N);

    - локальные терминалы – оконечные устройства, используемые для взаимодействия пользователей с вычислительной системой (это могут быть алфавитно-цифровые терминалы, графические терминалы, устройства печати, вычислительные машины, эмулирующие работу терминалов и т.п.) и, подключаемые к вычислительной системе непосредственно через каналы ввода/вывода или через локальные мультиплексоры;
    - модемы – устройства, предназначенные для организации взаимодействия вычислительной системы с удаленными терминалами с использованием телефонной сети. В функцию модема входит преобразование информации из дискретного, цифрового представления, используемого в вычислительной технике в аналоговое представление, используемое в телефонии и обратно (в общем случае модем это устройство, предназначенное для взаимного преобразования данных из различных форм представления, например, могут быть оптические модемы, преобразующие данные из цифрового формата в оптический, предназначенный для передачи по оптоволоконным линиям связи).
    Со стороны вычислительной системы модем подключается либо через канал ввода/вывода, либо через мультиплексор.
    - удаленные терминалы – терминалы, имеющие доступ к вычислительной системе с использованием телефонных линий связи и модемов.
    - удаленные мультиплексоры – мультиплексоры, подключенные к вычислительной системе с использованием телефонных линий связи и модемов.
    Телефонная сеть состоит из набора телефонных станций, объединенных друг с другом линиями связи. Связь абонентов телефонной в том числе и связь удаленных терминалов с вычислительной системой осуществляется с использованием коммутируемого канала, либо по выделенным каналам. Суть соединения через коммутируемый канал заключается в том, что при нескольких звонках к одному и тому же абоненту, раз от раза маршруты коммутации (т.е. набор проводов, по которым идет сообщение) отличаются друг от друга, за счет того, что каждый раз выбираются свободные каналы в телефонных станциях по пути соединения. После завершения сеанса связи между абонентами коммутируемый канал освобождается. При использовании выделенного канала маршрут коммутации между абонентами фиксируется на период аренды выделенного канала. Достоинства/недостатки использования коммутируемых и выделенных каналов очевидны.
    Линия связи, которая связывает один удаленный терминал с компьютером, называется линией связи типа точка-точка. Таким образом эта линия может быть либо выделенной (мы договариваемся с телефонными станциями и фиксируем коммутацию), либо коммутируемой.
    Канал может быть многоточечным. При этом на входе находится удаленный мультиплексор. Многоточечные каналы также могут быть либо выделенными, либо коммутируемыми.

    С точки зрения организации потоков информации можно выделить следующие разновидности каналов.
     Симплексные каналы - каналы, по которым передача информации ведется в одном направлении (например, телевизионный канал – обеспечивает передачу информации только в одном направлении от передающей антенны к принимающей).
     Дуплексные каналы - каналы, которые обеспечивают одновременную передачу информации в двух направлениях (например, телефонный разговор, мы одновременно можем и говорить и слушать).
     Полудуплексные каналы - каналы, которые обеспечивают передачу информации в двух направлениях, но в каждый момент времени только в одну сторону (подобно рации).
    Одним из примеров терминального комплекса может быть система NASDAQ
    (National Association of Securities Dealers Automated Quatation), построенная в 60-
    70-х годах 20 века и предназначенная для сбора и передачи сообщений о курсах акций на бирже. Система была построена на использовании мощной, по тем временам, вычислительной машины Univac-1108 и значительного числа терминалов (несколько тысяч), установленных в биржевых конторах по всей территории США.
    Многомашинные вычислительные комплексы
    Многомашинные вычислительные комплексы (ММВК) - это программно аппаратное объединение группы вычислительных машин, в которых:
     На каждой из машин работает своя операционная система (этот признак отличает ММВК от многопроцессорного вычислительного комплекса).
     В ММВК имеются общие физические ресурсы, например ОЗУ, ВЗУ или общие каналы связи (а, следовательно, имеются проблемы синхронизации доступа).
    ММВК использовались в качестве систем сбора и обработки больших наборов данных, и для организации глобальных терминальных комплексов. ММВК появились в начале 60-х и сейчас продолжают успешно существовать. Одно из основных применений ММВК - это дублирование вычислительной мощи, примером таких систем может служить любая система управления важными технологическими процессами.
    В ММВК общий ресурс является общим не только для всех ВС, но и для групп ВС, благодаря этому мы можем организовывать ММВК сложной структуры,
    В С № 1
    В С
    В С № 5
    В С № 4
    В С № 3
    В С № 2
    необходимой для решения конкретной проблемы (Например, ММВК для продажи авиабилетов и ММВК для параллельного проведения какого-нибудь сложного научного расчета). Мы также обсудили тот факт, что в ММВК на каждой из машин работает своя операционная система. Отсюда вытекает, что все проблемы взаимодействия должны решаться на уровне взаимодействия ОС. Система, аналогичная ММВК, но в которой работает одна ОС, - многопроцессорная ВС.
    Существуют задачи, для которых не хватает средств, предоставляемых терминальными комплексами. Это, например, проблема организации больших баз данных. В этом случае используют ММВК.
    В ММВК имеется проблема синхронизации доступа к разделяемым ресурсом. Разделяемыми ресурсами могут быть устройства внешней памяти, ОЗУ, каналы связи, соединенные двумя или более компонентами вычислительного комплекса. Рассмотрим такой пример. У нас есть ММВК, состоящий из двух ВС.
    Разделяемый ресурс - жесткий диск. Проблема в данном случае явно формулируется так: «Нужно научить две
    ВС синхронизированно обмениваться с HDD.» Т. е. если программа одной ВС что-то пишет на HDD, то область данных, в которую она пишет или весь HDD должны быть заблокированы для другой ВС (Проблема напоминает проблему семафоров). Одно из решений - коммутатор HDD, некий контроллер, который имеет команду, блокирующую HDD.
    При начале обмена одной вычислительной системы доступ к HDD заблокирован для других ВС. А эта ВС в монопольном режиме использует HDD. Если другая ВС попытается начать обмен с HDD возможны два решения:
    1) синхронное ожидание;
    2) асинхронное ожидание (система не будет простаивать, она временно остановит процесс, подавший заказ на обмен и активизирует другой процесс).
    На самом деле коммутаторы, конечно, более интеллектуальны. Они, например, устанавливают блокировку не на весь HDD, а только на некоторые его блоки.
    Приведенное выше решение привлекает своей технической простотой как с аппаратной точки зрения, так и с точки зрения программной реализации (нет сложных взаимосвязей), но оно имеет существенный недостаток. ВС может заблокировать HDD и после этого зациклиться. Для борьбы с такими ситуациями можно использовать различные устройства, отличные от коммутатора HDD, позволяющие послать сигнал от одной ВС к другой. Это может быть, например, низкоскоростной канал связи (скорость передачи нам здесь не нужна).
    HDD
    ВС№1
    ВС№1
    Коммутатор

    БИЛЕТ 18
    Базовые понятия, определения, структура
    Операционная система – это комплекс программ, обеспечивающий контроль за существованием (некоторые из ресурсов ВС, как мы знаем, являются программными или логическими/виртуальными и создаются под контролем операционной системой), распределением и использованием ресурсов ВС.
    Любая ОС оперирует некоторым набором базовых сущностей (понятий) на основе которых строится логика функционирования системы. Например, подобными базовыми понятиями могут быть задача, задание, процесс, набор данных, файл, объект.
    Одним из наиболее распространенных базовых понятий ОС является процесс.
    Интуитивно определение процесса достаточно просто, но определить процесс строго, формально, достаточно сложно. Поэтому существует целый ряд определений процесса, многие из которых системно-ориентированы.
    Процесс – это совокупность машинных команд и данных, исполняющаяся в рамках
    ВС и обладающая правами на владение некоторым набором ресурсов. Эти права могут быть эксклюзивными, когда ресурс принадлежит только этому процессу.
    Некоторые из ресурсов могут разделяться, т. е. одновременно принадлежать двум и более процессам, в этом случае мы говорим о разделяемых ресурсах.
    Возможно два варианта выделения ресурсов процессу:
     предварительная декларация использования тех или иных ресурсов (до начала выполнения процесса в систему передается перечень ресурсов, которые будут использованы процессом);

    Динамическое пополнение списка принадлежащих процессу ресурсов по ходу выполнения процесса при непосредственном обращении к ресурсу.
    Реальная схема зависит от конкретной ОС. На практике возможно использование комбинации этих вариантов. Для простоты изложения будем считать, что модельная ОС имеет возможность предварительной декларации ресурсов, которые будут использованы процессом.
    Любая ОС должна удовлетворять следующим свойствам:
     надежность
     защита
     эффективность
     предсказуемость

    1   2   3   4   5   6   7   8   9   ...   20


    написать администратору сайта