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

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

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

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

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

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

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

При этом все данные с данным тегом уничтожаются в буфернойпамяти КГВх с тем, чтобы исключить повторное занесение одного и того же процесса всписок готовых для выполнения процессов. Исключение делается для данных, заданных наустановочных ИС, они постоянно хранятся в буферной памяти соответствующей КГВх. Еслиоказывается, что в буферной памяти КГВх есть несколько данных с одним и тем же тегом, тоэти процессы различаются (см. также раздел 3) добавлением к их идентификаторупорядкового номера (который определяется порядком их занесения в буферы) в спискеготовых процессов.Различные теги идентифицируют различные данные, к которым одновременноприменяется ГСПП, точнее, подпрограммы, отнесенные к соответствующим КГВх еемодулей (таким образом реализуется параллелизм множества данных, см. пример 2 ГСПП вприложении).Не накладывается каких-либо ограничений на порядок проверки готовности модулейдля выполнения, в принципе, контроль готовности модулей для выполнения можетосуществляться одновременно при соответствующей реализации управляющих процессомвыполнения программ, осуществляющих запись данных в буферы и контроль их состояния(см.

далее).Также не фиксируется порядок выполнения готовых процессов, в принципе, всеготовые процессы ГСПП могут выполнятся одновременно.Считается, что модули, у которых КГВх не имеют входов (этим КГВх сопоставляютсяподпрограммы с пустым множеством параметров), готовы для выполнения по этим КГВх смомента инициализации выполнения ГСПП (см. раздел 3), но индуцируемые ими процессы7порождаются только один раз.

Также считается, что подпрограммы, сопоставленные КГВх спустым множеством входов, работают как генераторы, они либо сами вырабатывают данные,либо считывают их с некоторого носителя.2. При выполнении процесса в его подпрограмме могут использоваться специальныесистемные команды (реализуемые посредством обычного обращения к специальнымфункциям) WRITE (запись), READ (чтение), OUT (выход) – позволяющие осуществлятьмежмодульное взаимодействие, т.е. строить различные схемы взаимодействия по данныммежду подпрограммами различных модулей путем чтения данных из буферов или записиданных в буферы, сопоставляемые входам КГВх модулей.Команда WRITE имеет формат: WRITE(<номер КГВых>,<тег>,<списоквыходов><список переменных>), где список выходов есть перечисление номеров выходовКГВых, на которые передаются значения, присвоенные переменным в списке переменныхпри выполнении процесса-подпрограммыПорядок записи выходов и переменных в списках определяет соответствие междуними.При выполнении команды WRITE сохраняется контекст подпрограммы, точнеепроцесса, где она была инициализирована, а после ее выполнения процесс продолжает своевыполнение в прерванном контексте (обычный механизм возврата после вызова процедуры).Команда OUT имеет аналогичный формат аргументов, однако после ее выполненияпроцесс, в котором она возникла, считается завершенным и его контекст может бытьуничтожен.Команда READ имеет формат: READ (<номер КГВх>,<тег>,<список входов>,<списокпеременных>).При ее выполнении также сохраняется контекст процесса, а после ее завершенияпроцесс продолжает свое выполнение в старом контексте.

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

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

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

Эта команда позволяет процессу самому принимать решение в выборе своихдействий в зависимости от наличия или отсутствия поступающих данных. Результатом еевыполнения является присваивание переменной общего количества данных с указаннымтегом на входах КГВх, номера которых перечислены в списке входов.3. Хотя команды WRITE и OUT позволяют сохранять или уничтожать контекствыполняемого процесса, ГСПП может быть организованна так, что выполнение ряда8процессов может осуществляться с забеганием вперед (с упреждением), а необходимостьрезультатов их выполнения может быть определена позже после выполнения другихпроцессов.

Рассмотрим пример фрагмента ГСПП на рис.5,M1M3M212M5M4Рис. 5. Пример фрагмента ГСППв котором модули М1 и М3 могут выполнятся с упреждением, однако вопрос о том, результатвыполнения какого из них потребуется, может быть решен только после выполнения модуляМ2, который осуществляет выход только по одной из своих КГВых. Если выход осуществленпо КГВых1, то результат выполнения модуля М3 не потребуется далее; аналогично непотребуется результат выполнения модуля М1, если выход из модуля М2 будетосуществляться по КГВых2.Для того, чтобы уничтожить процессы (удалить их контексты), которые оказываютсяненужными, в подпрограммах модулей может использоваться команда KILL – уничтожитьпроцесс. Ее форма: KILL(<список имен уничтожаемых процессов>), где в списке именуничтожаемых процессов указывается идентификатор процесса в виде четверки:<имя модуля>.<номер КГВх>.<имя подпрограммы>.<имя тега>(см.

введенную ранее идентификацию процесса)Имя тега в этом составном идентификаторе процесса необходимо в связи сосказанным выше об организации теговой обработки.4. Отметим еще ряд существенных элементов операционной семантики языка ГСПП,которые также важны при его реализации на параллельных системах.1) Порядок выполнения множества процессов, существующих на каждом шагевыполнения ГСПП, не существенен, по крайней мере, программист должен позаботится отом, чтобы порядок выполнения процессов не влиял на правильность выполнения ГСПП,Вместе с тем, планирование выполнения процессов может оказать существенное влияние насокращение времени выполнения ГСПП на параллельной системе.2) Определение готовых для выполнения процессов следует дисциплине FIFO:проверка на наличие в буферной памяти КГВх данных с одним и тем же тегом на всех еевходах осуществляется в порядке занесения этих данных в буферную память.Аналогично, при выполнении команды READ необходимые данные ищутся буфереданных в порядке занесения в нее данных; при выполнении команд WRITE и OUT данныезаписываются в буферную память в порядке поступления (в «хвост» очереди данных).3) Поскольку с одним и тем же буфером данных могут одновременно работатьнесколько процессов (чтения или записи), поэтому в реализации нужно обеспечить взаимноеисключение одновременных подобных действий.Примеры 1÷3, приведенные в приложении 1, иллюстрируют технологиюпрограммирования и описание различных форм параллелизма средствами языка ГСПП.В примере 1 присутствует только пространственный параллелизм, пример 2иллюстрирует использование тегирования при описании SIMD-параллелизма, в примере 3показано, как описывается потоковая обработка.2.

Инструментальная среда разработки ГСППИнструментальная среда предназначена для разработки граф-схемных параллельныхпрограмм и устроена таким образом, что программист может разделять аспекты припроектировании программы, последовательно переходя от чисто графического еепредставления к содержательному, используя многооконную организацию. Например, вотдельном окне для каждой КГВх модуля можно задать связанную с ней подпрограмму,отредактировать текст самой подпрограммы, а также автоматически проверить правильность9согласования типов входов КГВх с типами связанных с ними выходов КГВых. Такжепредусмотрена возможность переходить в новое окно в тот момент, когда пользовательдобавляет к ГС подсхему, с целью концентрирования основного внимания пользователя наразработке подсхемы.При необходимости пользователь может перейти к окну текстового представленияпрограммы, причем, поскольку существует взаимно-однозначный переход между текстовыми графическим представлением программы, любое изменение в графическом представленииприводит к соответствующим изменениям в текстовом представлении и наоборот.Основные блоки инструментальной среды представлены на рис.

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