rtsIDr (1158449), страница 5

Файл №1158449 rtsIDr (Раздаточные материалы) 5 страницаrtsIDr (1158449) страница 52019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В результате осуществленного функцией distr_ отображения заданного представления родительской абстрактной машины в заданную процессорную систему каждому элементу представления (т. е. дочерней абстрактной машине) будет поставлена в соответствие процессорная система (совокупность процессоров, являющаяся образом элемента представления при рассмотренном выше отображении F). Абстрактная машина вместе с её процессорным образом образуют параллельную подзадачу. Активизация (запуск) подзадачи производится при входе в соответствующий ей виток параллельного цикла. Выполнение подзадачи – это выполнение витка параллельного цикла (см. п. 9). Другой способ создания и запуска параллельных подзадач рассмотрен в п. 10.

Примеры.

  1. Пусть абстрактная машина и многопроцессорная система представлены матрицами:

AM[9][8]

(0 ≤ I1 ≤ 8 , 0 ≤ I2 ≤ 7);

PS[3][4]

(0 ≤ J1 ≤ 2 , 0 ≤ J2 ≤ 3).

Тогда функция F((I1,I2)) = { [I1 / 3]} {[I2 / 2] } установит соответствие:

элемент PS[J1][J2]  подматрица AM[3*J1 ≤ I1 ≤ 3*J1 + 2][2*J2 ≤ I2 ≤ 2*J2 + 1] (блок [3][2]).

  1. Пусть абстрактная машина и многопроцессорная система представлены массивами:

AM[12]

(0 ≤ I ≤ 11);

PS[4][3]

(0 ≤ J1 ≤ 3 , 0 ≤ J2 ≤ 2).

Тогда функция F((I)) = {2} {[I/4]} установит соответствие:

элемент PS[2][J2]  отрезок AM[4*J2 ≤ I ≤ 4*J2 + 3] (блок [4]).

Строки 0,1 и 3 многопроцессорной системы в образ отображения F не войдут.

  1. Пусть абстрактная машина и многопроцессорная система представлены массивами:

AM[8][12]

(0 ≤ I1 ≤ 7 , 0 ≤ I2 ≤ 11);

PS[3]

(0 ≤ J ≤ 2).

Тогда функция F((I1,I2)) = {[I2/4]} установит соответствие:

элемент PS[J]  подматрица AM[0 ≤ I1 ≤ 7][4*J ≤ I2 ≤ 4*J + 3] (блок [8][4]).

  1. Пусть абстрактная машина и многопроцессорная система представлены массивами:

AM[12]

(0 ≤ I ≤ 11);

PS[4][3]

(0 ≤ J1 ≤ 3 , 0 ≤ J2 ≤ 2).

Тогда функция F((I)) = {*} {[I/4]} установит соответствие:

элемент PS[J1][J2]  отрезок AM[4*J2 ≤ I ≤ 4*J2 + 3] (блок [4]).

То есть, в данном случае образ отображения F из примера b) размножен по строкам многопроцессорной систем.

  1. Пусть абстрактная машина и многопроцессорная система представлены матрицами:

AM[9][8]

(0 ≤ I1 ≤ 8 , 0 ≤ I2 ≤ 7);

PS[3][4]

(0 ≤ J1 ≤ 2 , 0 ≤ J2 ≤ 3).

Тогда функция F((I1,I2)) = {*} {*} установит соответствие:

элемент PS[J1][J2]  подматрица AM[0 ≤ I1 8][0 ≤ I2 ≤ 7] (блок[9][8]), т.е. все представление абстрактной машины.

Замечание. Применение в функции align_ (realn_) представления абстрактной машины из примера e) в качестве образца дает возможность получить полностью размноженный распределённый массив, т.е. такой, каждый элемент которого размещён на каждом процессоре (см.п.7.1).

При обращении к функции distr_ координатное правило отображения Fj(I1, ... , In) = {[Ik/BLSIZEk]} для j-го измерения многопроцессорной системы задается следующим образом:

AxisArray[j-1]

содержит значение k;

DistrParamArray[j-1]

содержит значение BLSIZEk.

Если DistrParamArray[j-1] задан нулевым, то система поддержки вычислит BLSIZEk так, как было показано выше.

Для задания правила Fj(I1, ... ,In), значением которого для любых I1, ... ,In является множество всех значений индексной переменной j-го измерения многопроцессорной системы, значение AxisArray[j-1] (значение k) должно быть установлено нулевым. Значение DistrParamArray[j-1] в этом случае несущественно.

Правило отображения Fj(I1, ... ,In) = { Const } задается так:

AxisArray[j-1]

= 1;

DistrParamArray[j-1]

содержит значение Const.

Функция возвращает ненулевое значение, если отображённое представление имеет локальную часть на текущем процессоре, и нулевое – в противном случае.

5.2Изменение отображения представления абстрактной машины на многопроцессорную систему (перераспределение ресурсов)

long redis_ (

AMViewRef
PSRef
long
long
long
long

*AMViewRefPtr,
*PSRefPtr,
*ParamCountPtr,
AxisArray[],
DistrParamArray[],
*NewSignPtr );

*AMViewRefPtr

ссылка на представление абстрактной машины, отображение которого должно быть изменено.

*PSRefPtr

ссылка на многопроцессорную систему, определяющую состав ресурсов для нового распределения.

*ParamCountPtr

число параметров, заданных в массивах AxisArray и DistrParamArray.

AxisArray

массив, j-й элемент которого содержит номер измерения представления абстрактной машины, используемый в правиле отображения для (j+1)-го измерения многопроцессорной системы.

DistrParamArray

массив, j-й элемент которого содержит параметр правила отображения для (j+1)-го измерения многопроцессорной системы (целое неотрицательное число).

*NewSignPtr

задаваемый единицей признак обновления содержимого всех перераспределяемых массивов.

Функция redis_ отменяет распределение ресурсов родительской абстрактной машины, установленное ранее с помощью функции distr_ (или mdistr_ , см.п.5.4) для дочерних абстрактных машин, которые входят в состав представления, заданного ссылкой *AMViewRefPtr, и осуществляет новое отображение указанного представления в соответствии с заданными параметрами. Все распределённые массивы, ранее выравненные по рассматриваемому представлению с помощью функций align_ и malign_ (как непосредственно, так и косвенно), будут отображены заново по прежним правилам выравнивания (см.п.7). Содержимое этих массивов будет обновлено (расписано нулевым кодом), если значение *NewSignPtr не равно нулю, или, в противном случае, сохранено. При переотображении массивов содержимое их границ (см. п. 12) не сохраняется.

Все элементы заданного представления должны быть листьями иерархии абстрактных машин (не должны иметь потомков).

Все процессоры системы, заданной ссылкой *PSRefPtr, должны входить в состав элементного пересечения текущей процессорной системы с процессорной системой, в которую отображена родительская абстрактная машина. При нулевом значении ссылки *PSRefPtr или при равном NULL значении указателя PSRefPtr для распределения ресурсов будет использована текущая процессорная система.

Переотображаемое представление может быть задано косвенно, если в качестве параметра *AMViewRefPtr использовать заголовок распределённого массива, созданного функцией crtda_ с равным 1 или 3 значением параметра *ReDistrParPtr (см.п.6).

Представление абстрактной машины, заданное при обращении к функции, может быть ранее не отображено. В этом случае функция redis_ выполняется как функция distr_ , а значение параметра *NewSignPtr несущественно.

Возвращается ненулевое значение, если переотображённое представление имеет локальную часть на текущем процессоре, и нулевое  в противном случае.

5.3Опрос карты отображения

AMViewMapRef amvmap_ (

AMViewRef
long

AMViewRefPtr,
*StaticSignPtr );

*AMViewRefPtr

ссылка на представление абстрактной машины.

*StaticSignPtr

признак создания статической карты отображения.

Функция amvmap_ создает объект (карту отображения), описывающий текущее отображение представления абстрактной машины на процессорную подсистему, и возвращает ссылку на созданный объект.

Карта отображения представления абстрактной машины содержит, в частности, следующую информацию:

  • ссылку на процессорную подсистему, на которую отображено представление абстрактной машины;

  • правила отображения для всех измерений этой процессорной подсистемы;

  • размерности представления абстрактной машины и процессорной подсистемы (для контроля).

Задаваемый ненулевым значением *StaticSignPtr признак статической карты отображения означает создание карты, не уничтожаемой при выходе из программного блока (см.п.8). Такая карта может быть уничтожена только явно, с помощью рассмотренной в п.5.6 функции delmvm_.

5.4Задание отображения представления абстрактной машины по карте отображения

long mdistr_ (

AMViewRef
PSRef
AMViewMapRef

*AMViewRefPtr,
*PSRefPtr,
*AMViewMapRefPtr );

*AMViewRefPtr

ссылка на отображаемое представление абстрактной машины.

*PSRefPtr

ссылка на многопроцессорную систему, определяющую состав распределяемых ресурсов.

*AMViewMapRefPtr

ссылка на карту отображения представления абстрактной машины.

Функция mdistr_ задает отображение указанного представления абстрактной машины в заданную процессорную систему по заданной карте отображения.

Абстрактная машина (родительская), представление которой задано ссылкой *AMViewRefPtr, на момент обращения к функции mdistr_ должна быть отображена.

При равном NULL значении PSRefPtr или при нулевом значении *PSRefPtr в качестве процессорной системы будет использована система, ссылка на которую содержится в карте отображения.

Все процессоры системы, заданной ссылкой *PSRefPtr или ссылкой, содержащейся в карте отображения, должны входить в состав элементного пересечения текущей процессорной системы с процессорной системой, в которую отображена родительская абстрактная машина.

Размерность представления абстрактной машины и размерность процессорной системы должны быть равны соответствующим размерностям, содержащимся в карте отображения.

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

Список файлов учебной работы

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