В.А. Крюков - Операционные системы распределенных вычислительных систем, страница 3
Описание файла
PDF-файл из архива "В.А. Крюков - Операционные системы распределенных вычислительных систем", который расположен в категории "". Всё это находится в предмете "распределённые системы" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Коммуникационные сети подразделяются на широкомасштабные (Wide AreaNetworks, WANs) и локальные (Local Area Networks, LANs).Широкомасштабные сетиWAN состоит из коммуникационных ЭВМ, связанных между собой коммуникационнымилиниями (телефонные линии, радиолинии, спутниковые каналы, оптоволокно)иобеспечивающих транспортировку сообщений.Обычно используется техника store-and-forward, когда сообщения передаются из одногокомпьютера в следующий с промежуточной буферизацией.Коммутация пакетов или коммутация линий.Коммутация линий (телефонные разговоры) требует резервирования линий на время всегосеанса общения двух устройств.Пакетная коммутация основана на разбиении сообщений в пункте отправления на порции(пакеты), посылке пакетов по адресу назначения, и сборке сообщения из пакетов в пунктеназначения.
При этом линии используются эффективнее, сообщения могут передаватьсябыстрее, но требуется работа по разбиению и сборке сообщений, а также возможнызадержки (для передачи речи или музыки такой метод не годится).Семиуровневая модель ISOISO OSI (International Standards Organizations»s ReferenceModel of Open SystemsInterconnection) организует коммуникационные протоколы в виде семи уровней испецифицирует функции каждого уровня.Локальные сети.Особенности LAN:географическая область охвата невелика (здание или несколько зданий);высокая скорость передачи (100-1000 Mbps);малая вероятность ошибок передачи.Свойственные многоуровневой модели ISO OSI накладные расходы являются причинойтого, что в LAN применяются более простые протоколы.Клиент-серверМожно избежать подтверждения получения сервером сообщения-запроса от клиента, еслиответ сервера должен последовать скоро.Удаленный вызов процедурSend, receive - подход ввода/выводаБолее естественный подход, применяемый в централизованных ЭВМ - вызов процедур.Birrell and Nelson (1984) (независимо и раньше - Илюшин А.И.,1978) предложили позволитьвызывающей программе находиться на другой ЭВМ.MPP с распределенной памятью может рассматриваться как частный случай локальнойсети.
Решетка транспьютеров, вкоторойкаждый транспьютер параллельно с12вычислениями может обмениваться одновременно по 8 каналам с 4 соседями, являетсяхорошим примером, для которого будут формулироваться различные экзаменационныезадачи.Время передачи сообщения между двумя узлами транспьютерной матрицы определяетсядвумя характеристиками аппаратуры - временем старта передачи Ts и временем передачиодного байта информации соседнему узлу Tb.
При этом процессорные операции, включаячтение из памяти и запись в память, считаются бесконечно быстрыми. За время Ts+Tbтранспьютер может передать 1 байт информации своим четырем соседям и принять от них 4байта информации (по одному байту от каждого).Конвейеризация (разбиение сообщения на кванты, чтобы воспользоваться параллельнойработой каналов вдоль маршрута передачи) и параллельное использование несколькихмаршрутов – два метода ускорения передачи сообщений.3.1Обмен сообщениями между прикладными процессамиSEND, RECEIVE (адресат/отправитель, [тэг,] адрес памяти, длина)адресация - физический/логическийдинамически создаваемого процесса,broadcasting).номер процессора, уникальный идентификаторслужба имен (сервер имен или широковещание -Обычно пересылка в соседний компьютер требует три копирования - из памяти процессаотправителя в буфер ОС на своем компьютере, пересылка между буферами ОС,копирование в память процесса-получателя.Блокирующие операции send (до освобождения памяти с данными или до завершенияфактической передачи) и неблокирующие.Буферизуемые и небуферизуемые (rendezvous или с потерей информации при отсутствииreceive).Надежные и ненадежные.MPI - Message-Passing Interface [4](Message Passing Interface Forum, May 5, 1994http://www.mpi-forum.org)(1) Цели:Создать интерфейс прикладного программирования (не только для компиляторов илибиблиотек реализации систем);Обеспечитьвозможностьэффективных коммуникаций (избежать копирования изпамяти в память, позволить совмещение вычислений и коммуникаций или разгрузку накоммуникационный процессор там, где он есть);Разрешить расширения для использования в гетерогенной среде;Исходить из надежности коммуникаций (пользователь не должен бороться скоммуникационными сбоями - это дело коммуникационных подсистем нижнего уровня);Определить интерфейс, который бы не слишком отличался от используемых в то время,таких как PVM, Express, P4, и пр.;Определить интерфейс, который мог бы быстро быть реализован на многих продаваемыхплатформах без серьезной переделки коммуникационного и системного ПО.**************************************************************13(2) Что включено в MPI ?Коммуникации точка-точка;Коллективные операции;Группы процессов;Коммуникационные контексты;Простойспособ создания процессов для модели SPMD (одна программаиспользуется для обработки разных данных на разных процессорах);Топология процессов.**************************************************************(3) Что не включено в MPI ?Явные операции с разделяемой памятью и явная поддержка нитей (процессов с общейпамятью);Операции, которые требуют больше поддержки от операционных систем, чемдействующие в настоящее время стандарты на ОС (например, получение сообщенийчерез механизм прерываний, активные сообщения);Вспомогательные функции, такие как таймеры.**************************************************************(4) Некоторые понятия.Коммуникационные операции могут быть:неблокирущие - если возврат осуществляется до завершения операции;блокируюшие - если возврат означает, что пользователь может использовать ресурсы(например, буфера), указанные в вызове;Операция называется локальной, если ее выполнение не требует коммуникаций;нелокальной, если ее выполнение может требовать коммуникаций; коллективной, если вее выполнении должны участвовать все процессы группы.(5) Группы, контексты, коммуникаторы.Группа - упорядоченное (от 0 до ранга группы) множество идентификаторовпроцессов (т.е.
процессов). Группы служат для указания адресата при посылке сообщений(процесс-адресат специфицируется своим номером в группе), определяют исполнителейколлективных операций.Являютсямощнымсредствомфункциональногораспараллеливания - позволяютразделить группу процессов на несколько подгрупп, каждая из которых должна выполнятьсвою параллельную процедуру. При этом существенно упрощается проблема адресациипри использовании параллельных процедур.Контекст - область «видимости» для сообщений, аналогичное области видимости переменныхв случае вложенных вызовов процедур. Сообщения, посланные в некотором контексте, могутбыть приняты только в этом же контексте. Контексты - также важные средства поддержкипараллельных процедур.Коммуникаторы позволяютограничитьобласть видимости (жизни, определения)сообщений рамками некоторой группы процессов, т.е.
могут рассматриваться как пара группа и контекст. Кроме того, они служат и для целей оптимизации, храня необходимыедля этого дополнительные объекты.Имеются предопределенные коммуникаторы (точнее, создаваемые при инициализации MPIсистемы):MPI_COMM_WORD - все процессыMPI_COMM_SELF - один текущий процесс**************************************************************14(6) Операции над группами (локальные, без обмена сообщениями).Для поддержки пользовательских серверов имеется коллективная операция разбиениягруппы на подгруппы по ключам, которые указывает каждый процесс группы.Для поддержки связывания с серверами, имеются средства построения коммуникатора понекоторому имени, известному и серверу и клиентам.(7) Точечные коммуникации.Основные операции - send, receiveОперации могут быть блокирующими и неблокирующими.В операции send задается:адрес буфера в памяти;количество посылаемых элементов;тип данных каждого элемента;номер процесса-адресата в его группе;тег сообщения;коммуникатор.(последние 3 параметра - аналоги «почтового конверта»)В операции receive задается:адрес буфера в памяти;количество принимаемых элементов;тип данных каждого элемента;номер процесса-отправителя в его группе (либо «любой»);тег сообщения (либо «любой»);коммуникатор;статус (источник и тег, необходимые в том случае, когда они неизвестны - при ихзадании с помощью шаблона «любой»).Предусмотрена конвертация данных при работе в гетерогенной среде.Имеется четыре режима коммуникаций - стандартный, буферизуемый, синхронный ирежим готовности.В стандартном режиме последовательность выдачи операций send и receive произвольна,операция send завершается тогда, когда сообщение изъято из памяти процесса (например,переписано в системный буфер) и эта память уже может использоваться процессом.
При этомвыполнение операции может осуществляться независимо от наличия receive, либотребовать наличие (вопрос реализации MPI). Поэтому операция считается нелокальной.В буферизуемом режиме последовательность выдачи операций send и receive произвольна,операция send завершается тогда, когда сообщение изъято из памяти и помещено в буфер,предварительно заведенный в памяти процесса.