В. Столлингс - Операционные системы (1114679), страница 134
Текст из файла (страница 134)
ольшее количество технических подробностей и вопросов разработки, связаных с архитектурой клиент/сервер и промежуточным программным обеспечения, можно найти в 1ВЕВЯ961; там же описан ряд продуктов и рассматриваются зпросы стандартизации в этой области. О кластерах идет речь в 1КЕАСООа) и 1ЕА11ООЬ~. В первой из этих книг, как и в 1К1ВО971, уделяется внимание клакерам Веожп1Х (более подробно с Веожп1Х можно познакомиться в 1БТЕК99]). В 1ТАЬ(Е851 содержится обзор распределенных операционных систем„в ко тором подробно рассматриваются управление распределенными процессами и связи между ними. Вопросам передачи сообщений посвящена работа (СНА)ч901 а 1ТАУ901 содержит обзор подходов различных операционных систем к реализа ции вызовов удаленных процедур.
Всем, интересующимся кластерами, будет полезно прочесть 1РГ1Б981 — в этой книге рассмотрены вопросы разработки аппаратного и программного обеспечения и проведено сравнение кластеров и ЯМР. О кластерах речь идет также в 1В11У'т'99а, ВП'т'г99Ь). Ж2К С1пв1ег Берег описан в 1БНОК971 и 1КА 1АОО1, Бш С1пв1ег — в 1Я()М991 и 1КНА1 961 ,:' ВЕКБ96 Вегвоп А. СПепГ/Яегиег АгсЬИесгиге. — Ь(ем Ъ'огЫ: Мсогаю-Н1П, 1996; .-::-",:3~~ ,' В1)в"в99а Виууа К. Н(уб Рег/оппапсе С1изгег СотриИпу: АгсЫгее1игез апд Яув-,."1 гетз. — Ю'ррег ЯагЫ1е К1чег, 5 1: Ргетй1се На11, 1999.
в ' ВЮТУ99ЬВпууа И. НАЕЛ Рег/оппапсе С1ив1ег Сатри11лу: Ргоугагпгпту апд Арр1(еа;"' г1опз. — 11ррег ЗасЫ1е Крег„Х1: Ргеп11се НаП, 1999. 1 СНАХ90 СЬапбгав К. 01втг)Ьптес( Маевке Равв1пд Орегайпя Яув(егав. — Орега Яувгетз Лео(еи, даппагу 1990. ! КНА1.96 КЬа1кП в. е1 а1. Яо1аг1в МС: А Мп1МсотрШег ОЗ.
— Ргоееедтуз, УЯЕН1Х Сап Хегепее, 1алпагу 1996. ' РР1898 РХ1в1ег О. 1п Яеагсй оХ С1иззегз. — 11ррег Ва~Ы1е Крег, 1чд: Ргеп(1се 1998. : КА1АОО Ка)аЕора1 К. 1пвгог(иевюп (о Мосгаза/Г ИЪиХовв 1уТ С(изгег Яегое Васа Кацап, Н.: СКС Ргевв, 2000. КЕАОООа Кеадап Р. СИепг/Яегоег Сотригту. — 11ррег ЯасЫ1е Кл~ег, Ь1,У: Рге НаП, 2000. КЕАОООЬ Кеадап Р. Сйепг/Яегоег 1уегиогй; Лез(уп, Орегаиал апд Мапауетеп 1)ррег Заб61е Крег, Ь(д: Ргеп11се НаП, 2000, КПП397 .КИЕе Р.
е$ а1. Веоъц1Х: Нагпевв1пя ХЬе ровег оХ РагаПеПвюп (п а Р11 РСв. — Ргосееатуз. 1ЕЕЕ Аегозрасе, 1997. БНОИ97 БЬогй К., Оап~асЬе К., 1Гег~ д., Мыза М. Жик1оюв Ь(Т С1пжег Хог А аЬПИу апд Зса1аЬ11йу. — Ргаееедтув. СОМРСОг/ Ярплу 97, ГеЬгиагу 1997. Б1ИО99 81пдЬ Н. Ргоугеззту го П(з1тчбигей МиШргосезз(пу. — 13ррег ЯасЫ1е ': Крег„Ь)«1: Ргеп11се НаП, 1999. ; БТЕК99 ЯГег1ищ Т. еФ а1. Ноы го Ьи(Ы а Веаи~иЦ'. — СатЬгЫяе, МА: М1Т Ргевв, 1999. '; 811?199 Зпп М1сгавув1етпв.
Бцп С1ывФег АгсЫ$есйиге: А ЮЫМ Рарег. — Ргосеей-:~ туз, 1ЕЕЕ Сап?Ригег Яос(е1у 1пгегпа11опа1 И'огйвйор оп С1изй г Сотрийиу, 0е-1 сегаЬег 1999. ТАХЕ85 ТапепЬапгп А., Кепевве К, 01в$г1Ьптей ОрегаИпд ЯувХедзв. — Сотриг(пу1 1 Яигоеуз, Оесеп~Ьег 1985. ТА"в90 Тау В., Апапда А. А япгчеу оХ Кетаойе Ргоседпге СаПв. — Орегаету Яуз-.. Гепи Веп(еш, дп1у 1990. Пусть и — доля программного кода, которая мажет одновременно выполняться и компьютерами кластера, с использованием каждым компьютером отличного от других множества параметров или начальных условий. Предположим, что остальной код должен последовательно выполняться на одном процессоре.
Скорость работы каждого процессора — х М1РЯ. Часть б. Распределенные системы Глава 13. Распределенные вычисления, архитектура... а. Выведите выражение для фактической скорости работы при выполнении программы на одном компьютере. б. Определите значение а, для которого при л = 1б и х = 4 М1РВ производительность системы оудет равна 40 М1РЯ.
Прикладная программа выполняется на 9-компьютерном кластере. Эталонная программа выполняется на этом кластере за время Т. Как выяснилось, 25% времени программа выполнялась на всех 9 компьютерах; остальное время программа выполнялась на одном компьютере. а. Вычислите эффективное ускорение работы программы по сравнению с ее выполнением на одном компьютере. Вычислите также а — долю кода, которая может выполняться параллельно. б. Предположим, что для параллельно выполняемого кода мы можем эффективно использовать 18 компьютеров вместо 9. Вычислите эффективное ускорение работы программы в этом случае.
Приведенная далее программа на языке РОВТН.Аг( выполняется на одном компьютере, а ее параллелизованнэл версия — на 32-компьютерном кластере. 1,1: 00 10 1 = 1, 1024 ЯБИ(1) = 0 1.3: ОО20 ~= 1„1 1з, Я((И(1( = ЯОМ(1~ + 1 1.5: 10 СОИТ1ИОЕ Предположим, что выполнение второй и четвертой строк занимает по два машинных цикла, включая работу процессора и доступ к памяти. Накладные расходы, как связанные с работой циклов (строки 1, 3, 5), так и системные, игнорируем. а. Чему равно общее время выполнения (в машинных циклах) программы на одном компьютере? б. Разделите цикл 1 среди 32 компьютеров следующим образом. Компьютер 1 выполняет первые 32 итерации (1 = 1...32), компьютер 2 — следующие 32 итерации и т.д.
Чему равно общее время выполнения н ускорение по сравнению с выполнением кода на одном компьютере? (Цикл 1 между компьютерами не разделяется.) в. Измените принцип распараллеливания для повышения степени выравнивания загрузки (с тем чтобы каждый компьютер выполнял равное количество присвоений с учетом обоих циклов). г. Каково минимальное время выполнения фрагмента на 32 компьютераИ Каково максимальное ускорение выполнения по сравнению с выполнением на одном компьютереу ГЛАВА Управление распределенными процессами 14.1. Миграция процессов 14.2.
Распределенные глобальные состояния 14.3. Распределенные взаимоисключения 14.4. Распределенная взаимоблокировка 14.5. Резюме, ключевые термины и контрольные вопросы 14.6. Рекомендуемая литература 14.7. Задачи Часть 6. Распределенные сисъемьз основание 'Часть 6. Распределенные системы этой главе изучаются основные механизмы, используемые в распределенных 1 операционных системах. Сначала рассматривается перемещение (миграция) Ф процессов, которое состоит в переносе активного процесса с одной машины на -ую„. затем исследуется, как процессы, выполняющиеся в разных системах и звляемые каждый своими локальными часами, могут координировать свою дея„ность при обмене информацией с некоторой задержкой.
Наконец, в последней .и главы изучаются два вопроса, играющие важную роль в управлении распредезыми пропессами: взаимоисключение и взаимоблокировка. Перенос (миграция) процесса состоит в передаче с одной машины на другую юрмации о состоянии процесса, достаточной для того, чтобы выполнение цесса можно было продолжить на новой машине. Первоначально интерес к ~ концепции возник благодаря исследованиям методов выравнивания загрузнескольких соединенных в сеть систем; в настоящее время применение данконцепции распространилось за пределы этой области. Раньше среди большого количества работ, посвященных распределению нагрузбыло мало таких, в основе которых лежала надлежащая реализация переноса цессов, включающая возможность вытеснения процесса на одной машине и воювлеиия его через некоторое время на другой.
Как показал опыт, такой перенос цесса с вытеснением возможен, хотя при этом возникают накладные расходы, гою большие, чем по предварительным оценкам 1АВТБ89а~. Некоторые исследова- ~ считают, что из-за этих затрат переносы процессов непрактичны. Однако по:пые оценки оказались слишком пессимистичными. Новые реализации, включая которые были воплощены в коммерческих продуктах, способствовали дальнейку развитию этой области; ее обзор представлен в данном разделе.
Перенос процессов в распределенных системах необходим по рядУ причин !1Т88, ЛЛ.88), включая следующие. Распределение нагрузки. Перенося процессы с более загруженных систем на менее загруженные, можно выравнивать загрузку систем, что будет способствовать повышению общей производительности. Эмпирические данные свидетельствуют о том, что таким образом можно достичь существенного Роста производительности 11.ЕТ.А86, СЛВВ86). Однако алгоритмы распределения нагрузки должны быть тщательно разработаны. В 1ЕЛСЕ86) отмечено, что чем интенсивнее происходит обмен информацией в распределенной системе, тем хуже становится ее производительность.