Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Граф-схемное потоковое параллельное программирование

Граф-схемное потоковое параллельное программирование (Граф-схемное потоковое параллельное программирование 2), страница 5

PDF-файл Граф-схемное потоковое параллельное программирование (Граф-схемное потоковое параллельное программирование 2), страница 5 Параллельные системы и параллельные вычисления (5743): Другое - 9 семестр (1 семестр магистратуры)Граф-схемное потоковое параллельное программирование (Граф-схемное потоковое параллельное программирование 2) - PDF, страница 5 (5743) - СтудИзба2015-08-23СтудИзба

Описание файла

Файл "Граф-схемное потоковое параллельное программирование" внутри архива находится в папке "Граф-схемное потоковое параллельное программирование 2". PDF-файл из архива "Граф-схемное потоковое параллельное программирование 2", который расположен в категории "". Всё это находится в предмете "параллельные системы и параллельные вычисления" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "параллельные системы и параллельные вычисления" в общих файлах.

Просмотр PDF-файла онлайн

Текст 5 страницы из PDF

п.1.3 - описание операционнойсемантики языка). Блок УП выполняет также команды KILL – “уничтожения” процессов,выполнение которых было инициировано с упреждением и на некотором шаге выполнениякоторых обнаруживается, что их результаты не будут использованы.Блоки, реализующие эти действия, образуют интерпретатор ЯГСПП (рис. 8).3.2.1 Описание работы интерпретатора ГСППКак было сказано в описании инструментальной среды, при разработке ГСППстроится ее внутреннее представление (см. рисунок 8), которое, с одной стороны, являетсямостом между ее графическим и текстовым представлением, а, с другой стороны, служитисходной информацией о ГСПП для интерпретатора.Перед началом выполнения ГСПП это внутреннее представление сначалаинициализируется пользователем через обращение к блоку инициализации ИН путемзадания значений признаков (признаки обозначены на рис.

9 символом П), значений тегданные на свободных или установочных входах модулей ГСПП, а также заполнения “полей”с указанием идентификаторов компьютеров (номеров компьютеров кластера), на которыхдолжны быть организованны буферы для КГВх соответствующих модулей.Предполагается, что имея предварительную информацию о “поведении” ГСПП впроцессе ее выполнения и конфигурации кластера, пользователь может сделать достаточно“грамотное” распределение буферов, сопоставляемых КГВх модулей ГСПП, покомпьютерам кластера.Двоичный признак П в описании модулей ГСПП показывает, является ли модульподстановочным, т.е.

должна ли вместо него подставляться подсхема, и если да, тозаполняется указатель Y на описание этой подсхемы (аналогично для описания модулейподсхемы). В описании входов КГВх модуля этот признак показывает, является ли входустановочным или нет. В описаниях КГВых модуля в таблице приемников выходов КГВых13модулей этот признак указывает, находится ли буфер, сопоставленный КГВх, на том жекомпьютере, начальное размещение на котором указал пользователь, или на другомкомпьютере, идентификатор которого указан в соответствующих полях описаний входовКГВх и приемников выходов КГВых. Это упрощает выполнение команд чтения из буфернойпамяти и записи в нее (команд READ, WRITE и OUT), а также команды CHECK (проверкиданных в буфере), которые “возникают” при выполнении подпрограмм модулей.YИмя ГСППОписание модулей ГСППYИмямодуляПКоличеств КоличествоYо КГВхКГВыхYВход 1П......Вход n ПтипВыход 1...YВыход mДанные на входе nТегСсылка наданные......ТегСсылка наданныеПКоличеств КоличествоYо КГВхКГВыхтип...типДанные на входе 1Ссылка наданные......ТегСсылка наданныеYК описаниюприемников входа mYК описаниюподсхемыК описаниюКГВыхподсхемыY...YК описаниюКГВхподсхемыКол-воYвыходовТег...ИмямодуляОписание выходов КГВых...типОписаниеКГВыхмодуляНомерКГВыхY...П - признакУ - указательИдент.

К - идентиф. компьютераОписаниеподсхемИмяYсхемыОписание КГВх модуляНомер Кол-во "Путь" к П Y Идент.ККГВх входов подпр-меОписание входов КГВхYОписание приемниковвыхода 1ИмямодуляНомерКГВхНомервходаПИдент. К...............ИмямодуляНомерКГВхНомервходаПИдент.

КБуферная память для КГВхРис. 9. Внутреннее представление ГСПППроцесс инициализации выполнения ГСПП осуществляется через блок ИНзаполнением указанных полей внутреннего представления ГСПП значениями, заданнымипользователем, загрузкой его на все компьютеры кластера вместе с блоками управленияпроцессного уровня, выделения начальной памяти для буферов, сопоставляемых КГВхмодулей, и занесения в них данных, “присвоенных” пользователем установочным входаммодулей (см. рисунок 9). Итог всей этой работы – пользовательское приложение, готовое длявыполнения на соответствующем компьютере кластера под управлением его ОС.Рассмотрим более подробно функции блоков управления буферами (УБ) ипроцессами (УП) интерпретатора ГСПП.Блок УБ выполняет следующие функции:− организацию буферов для КГВх, включая формирование запросов к ОС навыделение памяти, ее “чистка” в связи с частичным освобождением при чтенииданных,− выполнение команд чтения, записи или проверки состояния буферной памяти,− определение и идентификацию готовых для выполнения процессов.В начале выполнения ГСПП готовыми для выполнения являются все процессы –подпрограммы, в буферной памяти которых, то есть на всех входах соответствующих имКГВх, есть данные, помеченные одним и тем же тегом (все фактические параметрыподпрограммы).

Начальный запрос на наличие таких процессов (на каждом компьютерекластера) определяется блоком УП путем обращения к блоку УБ. В дальнейшем всякаякоманда записи в буферы (команды WRITE и OUT), которая возникает при выполнении14процесса на компьютере, вызывает обращение к блоку УП, который переадресует ее блокуУБ, если указанные в ней выходы КГВых, на которые передаются данные, связаны с входамиКГВх, буферы которых размещены на данном компьютере (см.

рис. 9, описание выходовКГВых). При этом, выполняя команду записи в буферную память КГВх, блок УБодновременно проверяет в ней наличие на всех ее входах данных с одинаковым тегом. Еслиобнаруживается, что такие данные существуют, то блок УБ передает блоку УПидентификатор готового процесса вместе с тегом и фактическими параметрамиподпрограммы, сопоставленной КГВх. Формат этой информации о новом процессепредопределен выбранным внутренним представлением ГСПП (см. рис. 9, а также описаниеоперационной семантики ЯГСПП) и имеет вид: <имя модуля>:<номер КГВх>.<”путь” кподпрограмме>.<идентификатор тега>.<список фактических параметров>.Одновременно в буферной памяти, память, занятая этой информацией, переводится встатус освобожденной и может использоваться в дальнейшей работе.

Также блок УБ можетпри необходимости затребовать у ОС дополнительную память для хранения записываемых вбуферную память новых данных.На рис.10 и 11 приведены блок-схемы программ выполнения команд READ и WRITE(выполнение команды OUT аналогично выполнению команды WRITE за исключением того,что контекст процесса, в котором она возникает, после ее выполнения уничтожается изанятая им память освобождается).Напомним, что команды READ и WRITE имеют следующий формат заданияпараметров: READ(<номер КГВх>,<тег>,<список входов>,<список переменных>);WRITE(<номер КГВых>,<тег>,<список выходов>,<список переменных>).У команды READ в списке входов перечислены номера входов КГВх, в буфернойпамяти которой необходимо прочитать данные с этими номерами и указанным тегом.

Всписке переменных перечислены имена переменных, которым должны быть присвоенызначения, возвращенные в подпрограмму, в процессе выполнения которой команда READвстретилась.У команды WRITE в списке выходов перечислены выходы КГВых, на которыедолжны быть переданы значения, которые присвоены указанным переменным в процессевыполнения подпрограммы, в которой встретилась команда WRITE. По умолчанию,соответствие входов (выходов) и сопоставляемых им переменных определяется порядком иперечисления тех и других в соответствующих списках. Команда OUT имеет форматпараметров, совпадающий с командой READ.Команда READданетP1даP2нетПеревести команду READв задержанное состояниедо момента поступленияданных (определяетсяблоком УБ)Присвоить значения переменным(считывается из буфернойпамяти), указанным в командеREADВернуть управление (с присвоеннымизначениями переменных) вподпрограмму процесса, которыйиндуцировал команду READПо внутреннему представлению (см.

описаниеКГВх) определить компьютер, на которомнаходятся буферы указанной в команде READКГВхПереслать на этот компьютер (блоку УБ)команду READ для выполненияВыполнить команду READ и возвратитьрезультат ее выполнения (требуемыеданные) блоку УБ на компьютере, откоторого команда была полученаP1: проверка условия, находятся ли буферы КГВх, указанной в команде READ, на этом же компьютереP2: проверка условия, есть ли затребованные данные с указанным в команде READ тегом в буферной памятиРис.10. Блок-схема выполнения команды READ151. По внутреннему представлению (см.

описание выходов КГВых на рис. 9) определить номера КГВхмодулей и номера их входов, на которые командой WRITE передаются значения переменных,перечисленных в списке ее параметров. Перейти к пункту 2.2. Для каждой КГВх и номеров ее входов, на которые должны быть переданы параметры, сформировать“внутренние” команды WRITE1(<номер КГВх>,<тег>,[<значение>’→’<номер входа>]).

Перейти кпункту 3.3. Все сформированные в п.2 команды WRITE1 передать для выполнения блокам УБ на компьютеры, накоторых находятся буфера КГВх. Перейти к пункту 4.4. Завершить процесс выполнения команды WRITE после выполнения блоками УБ всех разосланныхкоманд WRITE1.Рис. 11. Последовательность шагов выполнения команды WRITEВ отличие от команд READ, WRITE и OUT команда CHECK(<номерКГВх>,<тег>,<список входов>,<переменная>) позволяет процессу проверить, есть вбуферной памяти данные с указанным тегом.

Возвращаемым процессу значением,присеваемым переменной в этой команде, является количество данных в буферной памяти сданным тегом.Блок управления процессами (УП) реализует следующие функции:− формирование списка готовых процессов (см. рис 12), в котором помимоидентифицирующей процесс информации и входных данных, необходимых дляобращения к соответствующей подпрограмме, “поддерживается” также дополнительнаяинформация (поле “характеристики”) о состоянии процесса, его приоритете, другиххарактеристиках (времени, затраченным процессом на выполнение и др.);− взаимодействие с ОС, управление выполнением “системных” команд WRITE, READ, OUTи CHECK, возникающих при выполнении процессов (см.

блок-схемы выполнения командWRITE и READ на рис. 10 и 11). Эти команды адресуются сначала блоку УП, которыйреализует их, используя блок УБ;− взаимодействие с блоком планирования (ПЛ);− при назначении процессов на выполнение на процессоре компьютера, с блоком обменаданными между компьютерами при выполнении команд READ и WRITE, если требуемыебуферы размещены на другом компьютере.3.2.2.

Планирование параллельных процессов и управление загрузкойкластераКак следует из п.п. 3.2, управление параллельным выполнением ГСПП на кластереусловно разделено на два уровня: системный и процессный.Схема на рис. 12 показывает, каким образом осуществляется управлениевыполнением ГСПП на процессном уровне.Блок УП вместе с блоком УБ формирует список готовых для выполнения процессов.В этот список включаются процессы, которые блок УБ определяет как готовые при каждойзаписи в разнесённые по компьютерам буферы данных (это происходит при выполнениикоманд write и out), а также процессы, перемещаемые блоком на компьютер с другихкомпьютеров с целью достижения равномерной загрузки кластера.Планировщик ПЛ упорядочивает эти процессы и в соответствии с принятойстратегией часть из них отправляет ОС на выполнение.ОС компьютера организует выполнение стоящих в очереди 1 процессов к процессорукомпьютера. Обычно ОС выполняет процессы в порядке их поступления, выделяя каждомупроцессу фиксированный квант времени (здесь мы не актуализируем другие известные иболее эффективные дисциплины обслуживания процессов на компьютере смногоуровневыми очередями и различными способами квантования).

Выполняясь напроцессоре, процесс либо завершает свое выполнение в течении выделенного кванта,сообщая об этом через команду OUT блоку УП, либо в нем возникают команды WRITE,READ, CHECK, KILL, которые реализуются посредством блока УП, либо процессутребуется обмен данными с дисковой памятью. В последнем случае он попадает в очередь 216к системе обмена оперативная память – диски (оп/д). “Появление” в процессе команд READ,WRITE, OUT, KILL и CHECK, в свою очередь, может приводить к необходимости обменаданными с другими компьютерами, что реализуется путем обращения блока УП к блоку ОБ,который организует очередь 3 соответствующих запросов на обмен к ОС, которая выполняетих в соответствии с принятой в ней схемой межкомпьютерного обмена.Список готовых для выполнения процессовимяпроцессаОБномерКГВХУБУПпуть кподпрограмметегданныехарактеристикиПЛЗавершениепроцессаочередь 3очередь 1Запросы к ОС на обмен сдругими компьютерамиоп/дУправлениепараллельнымипроцессамипроцессорочередь 2исчерпание квантакоманды WRITE, READ, OUT, CHEK, KILLРис.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее