Главная » Просмотр файлов » ПОД конспект

ПОД конспект (1184369), страница 16

Файл №1184369 ПОД конспект (Конспект ПОД) 16 страницаПОД конспект (1184369) страница 162020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 16)

Обращение к этой функции производится операторами присваивания вида:it = NEWTASK (n, ia) , гдеn - имя программной единицы-задачи;ia - константа, имя переменной, элемента массива или массива целого типа; значения этого параметраопределяют виртуальные номера вычислителей, на которых создаются порождаемые процессы.it - имя переменной, элемента массива или массива типа TASKID, куда заносятся имена (системныеидентификаторы) порожденных процессов.Функция NEWTASK создает по описанию задачи с именем n вычислительные процессы, количествокоторых определяется числом виртуальных номеров вычислителей. Это число равно количеству элементовмассива параметра ia или равно одному для скалярного параметра.Результатом выполнения функции NEWTASK является имя процесса или массив имен (системныхидентификаторов) созданных процессов.

Эти имена присваиваются переменным it.37Если n не совпадает с именем программной единицы-задачи, по которой образован текущий процесс,то оно должно быть описано. По аналогии с оператором EXTERNAL, для описания имен внешних задачвводится оператор спецификации TASK EXTERNAL, имеющий вид:TASK EXTERNAL n [, ni ]... гдеn, ni - имена программных единиц-задач.Имена, указанные в списке этого оператора, разрешается использовать в качестве фактическихпараметров процедур (в том числе в качестве параметров функций NNAME и NEWTASK) и в качествеадресатов в операторе SEND. Если в качестве таковых параметров используется имя текущей единицы задачи, то оно также должно быть описано как внешнее.

Таким образом, передать сообщение процессуможно, идентифицируя его именем программной единицы-задачи, по которой он был образован (по именикласса), или по системному имени. Оператор TASK EXTERNAL должен быть размещен в программе-задачедо первого исполняемого оператора. Имена (системные идентификаторы) процессов не имеют внешнегопредставления, они скрыты от пользователя, их можно присваивать переменным типа TASKID.

Процессможет определить собственное имя, имя процесса, породившего его, и имя главного процесса программы спомощью стандартных функций MYTASKID, РАRENT и МАSTER. Определение имен процессов пономерам виртуальных процессоров приведено в п. 7.Созданные процессы загружаются и сразу начинают выполняться на процессорах, виртуальные(логические) номера которых заданы значениями параметра ia.

Допускается использование одинаковыхлогических номеров для размещения процессов на одном виртуальном процессоре (для статической моделипараллелизма это не так !).Конкретное отображение виртуальных номеров процессоров на процессоры рабочей машины, способзагрузки процессов определяется реализацией, например, конструкциями языка описания конфигурации(аналогично тому, как номера каналов ввода-вывода в стандартах Фортрана не закреплены, а определяютсяреализацией, в частности, языком управления заданиями).

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

7.).Примеры использования функций порождения процессовОператоры порождения будут иметь окружение программы-задачи С.TASK PROGRAM CTASK EXTERNAL A,B,READ,PRINTTASKID TI, TM(100),TM2(100,2)INTEGER K,KM(100),KM2(100,2).............ENDИнициализация процессов: 1 TI = NEWTASK(A,K)2 TМ = NEWTASK(A,KМ)3 TМ2 = NEWTASK(A,KМ2)DO 4 I=1,1004 TМ(I) = NEWTASK(A,KМ(I))DO 5 I=1,100TМ2(I,1) = NEWTASK(A,KМ2(I,1))5 TМ2(I,2) = NEWTASK(B,KМ2(I,2))Операторы с метками 2 и 4 (3 и 5) производят одинаковые действия, но инициализация в форме 2 (3)предпочтительнее, так как эта запись позволяет производить инициализацию процессов параллельно.Отсутствие в Фортране 77 аппарата вырезок из массивов не позволяет иметь такую запись дляалгоритмов:DO 6 I=1,99,2TМ(I) = NEWTASK(A,KМ(I))6TМ(I+1) = NEWTASK(В,KМ(I+1))илиTМ(1) = NEWTASK(READ,KМ(1))TМ(100) = NEWTASK(PRINT,KМ(100))DO 7 I=2,997TМ(I) = NEWTASK(В,KМ(I))В результате выполнения операторов: TI = NEWTASK(PRINT,1)8 TI = NEWTASK(READ,2))на виртуальном процессоре с номером 1 будет образован и запущен процесс PRINT, внутреннее имякоторого потеряно и недоступно программе из-за выполнения оператора 8.Доступ к нему для передачи38сообщений возможен только по программному имени, заказать от него прием сообщений невозможно.

Cпроцессом на втором процессоре возможен обмен сообщениями в обе стороны.В языке определена только одна синтаксическая конструкция использования функции NEWTASK - воператоре присваивания. Тем не менее входные языки могут разрешать использование этой функции и вдругих контекстах, там, где употребляются переменные типа TASKID. Например, оператор:SEND (NEWTASK(PRINT,MI)) RES породив процесс печати, передает ему данные через RES.Виртуальные номера процессоров.Кодировка виртуальных номеров процессоров произвольная, также как задание номера метокпрограммы.

Эти номера могут быть переданы процессу, который порождает другие, через каналы ввода,операторами передачи сообщений, а также сгенерированы программно.Одинаковые номера процессоров могут быть использованы для оптимального распределенияресурсов путем выравнивания времени работы процессов. Определив время работы (число операций) самоговремя-емкого процесса, можно объединять на одном процессоре выполнение нескольких других процессов,если их суммарное время меньше.При этом можно ускорить выполнение программы из-за упрощениякоммуникаций между процессами, выполняемых на одном процессоре.Виртуальные номера процессоров могут быть использованы для настройки решающего поля.Параллельные алгоритмы, формулируемые в теоретической постановке обычно как n-размерные, припрограммировании приводятся к параметрам реальной структуры решающего поля.

Алгоритмы, реализуемые как стандартные процедуры, также должны адаптироваться к структуре выделяемых ресурсов.Настройка структуры (под) программ под параметры вычислительной среды может управляться заданиемномеров виртуальных вычислителей.При запуске программы на конкретной вычислительной платформе возможно потребуется сопроводитьпрограмму спецификацией об используемых значениях номеров виртуальных процессоров и схемой ихоптимальной дислокации на вычислителях платформы, и об именах задач, связанных с этими номерами дляпоследующей загрузки соответствующих процессов. Конкретные реализации, оговаривая правила загрузкизадач на процессоры, могут содержать средства задания порядка выполнения (приоритета) несколькихпроцессов на одном процессоре.Для статической модели параллелизма балансировка загрузки вычислительной системы можетпроизводиться на уровне языка конфигурации, размещением на одном физическом процессоре несколькихвиртуальных.59.

Средства передачи и приема сообщений в языке Фортран-GNS.Обмен информацией между процессами осуществляется с помощью передачи сообщений. Дляэтого используются операторы:SEND - послать сообщение и RECEIVE - принять сообщение.Предусмотрено три способа передачи сообщений: синхронный, асинхронный и передача безожидания.Синхронный способПри синхронном способе передачи сообщений посылающий и принимающий процессыприостанавливают выполнение своих программ и переходят в состояние ожидания до тех пор, пока невыполнятся оба синхронных оператора SEND и RECEIVE.Сообщения данного типа могут передаваться без использования буферов почтовых ящиков, так какпередача синхронного сообщения будет производиться только при готовности абонентов к обмену иможет происходить непосредственно из памяти передающего процесса в память принимающего процесса.Процесс может посылать синхронные сообщения как отдельному процессу, так и группе процессов.В последнем случае процесс отправитель продолжит выполнение только после получения подтвержденияо выполнении соответствующих операторов RECEIVE во всех процессах - получателях.

Получивсообщение, получатель группового синхронного сообщения может продолжить работу, не ожидаязавершения всех остальных обменов по данному оператору SEND. Получатель синхронного сообщенияможет ждать его только от процесса, имя которого указано в параметре оператора RECEIVE, т.е нельзязаказать в одном операторе ожидание синхронных сообщений от нескольких процессов.Асинхронный способПри асинхронном способе передачи сообщения посылающий процесс продолжает выполнениенезависимо от того, выполнил ли получающий процесс оператор RECEIVE или нет.Сразу же после выполнения оператора SEND процесс может изменить значения данных,перечисленных в списке передаваемых значений этого оператора, однако абоненту передаются тезначения, которые были на момент выполнения оператора SEND.39Выполнение асинхронного оператора RECEIVE и продолжение работы процесса - получателяпроизводиться только после поступления сообщения. Если сообщение пришло к получателю довыполнения у него оператора RECEIVE, то сообщение помещается в почтовый ящик процесса безпрерывания его выполнения.

Характеристики

Тип файла
PDF-файл
Размер
1,14 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

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