1.1. Параллельная запоминающая среда

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

Рассмотрим содержание задачи о размещении, представляя, что запоминаемая структура данных — двухмерный массив N X N и N = 2n, п — целое. Ранее мы определили модель соответствующей информационной среды — двухмерную решетку, получили оценки для числа геометрических форматов, которые реализуются на такой решетке при определенных зна­чениях N и L — ширины доступа, выраженной числом элементов данных, параллельно выбираемых в структуре геометрического формата. Теперь остановимся на вопросе реализации такой среды.

Речь идет о том, что каждой точке решетки (с точкой мы связывали элемент данных) надо поставить в соответствие об­ласть в виртуальной 2D-запоминающей среде, в которой хранит­ся соответствующий элемент данных. Очевидно, что в реальных устройствах с учетом многоблочной внутренней структуры запо­минающей среды параллельной памяти такая область должна быть выделена в конкретном блоке и по точно определенному адресу (адресам). Если параллельно выбираемая совокупность данных содержит L элементов, то (исходя из того, что из блока за цикл обращения можно получить только один элемент дан­ных) в запоминающей среде параллельной памяти следует иметь не менее М блоков памяти и М больше либо равно L. Параллельная выборка лю­бой совокупности (геометрического формата) возможна в па­раллельной запоминающей среде с многоблочной структурой, когда все L элементов формата находятся в разных блоках за­поминающей среды. Поясним это на простом примере.

Пусть массив А = {aij} имеет размер 8X8, размещается в параллельной запоминающей среде, состоящей из 8 блоков. При этом допускается параллельная выборка совокупности из 8 эле­ментов данных, т. е. N = L = М = 23. Для рассматриваемого примера достаточно ограничиться емкостью блока U = 8, пола­гая, что каждый адресуемый участок блока хранит один эле­мент данных. Распределим элементы аij в блоках памяти так, как это показано на рис. 4,б.

Множество бесконфликтных совокупностей данных образу­ется из всех возможных сочетаний элементов, размещенных в разных блоках (0, 1, ..., 7). Учитывая, что понятие геометриче­ский формат имеет пространственную геометрическую интерпре­тацию, будем и далее ее использовать, анализируя такие совокупности элементов данных, как строки, столбцы, прямоуголь­ные фрагменты и др. Понятно, что выбор различных сочетаний связан с формированием адресов для каждого блока, но мы пока не будем касаться указанной проблемы, сосредоточившись на топологической бесконфликтности. Для этого удобнее перейти к таблице размещения, изображенной на рис. 4 в.

Определение 1. Таблицей размещения TpDN1X... XNp будем называть р-мерную таблицу, топологически связанную с р-мерной пространственной точечной решеткой RpDN1X...ХNp так, что каждому узлу решетки соответствует клетка таблицы, причем за­данный в клетке идентификатор указывает блок памяти, в ко­тором размещается элемент данных, принадлежащий данному узлу информационной структуры.

Так как на рис. 4 информационная структура представля­ется как R2D8X8, то соответствующая таблица размещения имеет вид T2D8X8 (рис. 4, в). Для идентификации блоков памяти в данном случае используются их номера (0, 1, ..., 7). Следова­тельно, цифра 3 в клетке, стоящей на пересечении третьего столбца и второй строки таблицы размещения, указывает, что элемент а23 размещается в блоке памяти с номером 3. Таблица размещения является формой описания размещения элементов данных по блокам памяти, которая наглядно отражает допусти­мость (бесконфликтность) геометрических форматов. Дадим оп­ределение понятия «бесконфликтный геометрический формат».

Определение 2. Геометрический формат является бескон­фликтным тогда и только тогда, когда при его отображении на таблицу размещения в нем не существует повторяющихся иден­тификаторов (номеров) во всех предусмотренных положениях формата.

На основании этого определения мы можем утверждать, что для размещения, заданного таблицей на рис. 4, в, допустимы параллельные обращения к строкам и всем диагоналям массива А. В то же время не допустимы обращения к столбцам и любым невырожденным прямоугольным фрагментам, так как в соответ­ствующих геометрических форматах встречаются повторяющие­ся номера, что указывает на размещение определенных элемен­тов данных в одном блоке. Значит, доступ к ним может быть только последовательным.

Формирование набора требуемых форм параллельного до­ступа (геометрических форматов) связано, следовательно, с вы­бором таблицы размещения, удовлетворяющей требованиям бес­конфликтности геометрических форматов. На рис. 5 приведе­ны четыре варианта таблиц размещения для R2D8X8 Они совпа­дают с таблицей на рис. 4,в порядком первой строки. Все ос­тальные строки в этих таблицах получены применением различ­ных преобразований порядка элементов первой строки.

Рис. 4. Иллюстрация к задаче размещения:

а А = ij}— двухмерный массив данных;

б — вариант распределения эле­ментов массива А по блокам памяти 0 ... 7;

в — таблица размещения, соответствующая варианту распределения

а

A

=

{

aij

}

а00

а01

а02

а03

а04

а05

а06

а07

а10

а11

а12

а13

а14

а15

а16

а17

а20

а21

а22

а23

а24

а25

а26

а27

а30

а31

а32

а33

а34

а35

а36

а37

а40

а41

а42

а43

а44

а45

а46

а47

а50

а51

а52

а53

а54

а55

а56

а57

а60

а61

а62

а63

а64

а65

а66

а67

а70

а71

а72

а73

а74

а75

а76

а77

в

T2D8X8

а00

а01

а02

а03

а04

а05

а06

а07

а10

а11

а12

а13

а14

а15

а16

а17

а20

а21

а22

а23

а24

а25

а26

а27

а30

а31

а32

а33

а34

а35

а36

а37

а40

а41

а42

а43

а44

а45

а46

а47

а50

а51

а52

а53

а54

а55

а56

а57

а60

а61

а62

а63

а64

а65

а66

а67

а70

а71

а72

а73

а74

а75

а76

а77

В каждой таблице можно определить набор бесконфликтных геомет­рических форматов. Все эти наборы будут разные. Например если форматы Fr(l X 8) и Fr(8 X 1) реализуются для всех раз­мещений на рис. 5, то форматы Fr(2 X 4) и Fr(4 X 2) —только для размещения на рис. 5, г.

а

б

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

1

2

3

4

5

6

7

0

1

0

3

2

5

4

7

6

2

3

4

5

6

7

0

1

2

3

0

1

6

7

4

5

3

4

5

6

7

0

1

2

3

2

1

0

7

6

5

4

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

5

6

7

0

1

2

3

4

5

4

7

6

1

0

3

2

6

7

0

1

2

3

4

5

6

7

4

5

2

3

0

1

7

0

1

2

3

4

5

6

7

6

5

4

3

2

1

0

в

г

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

1

2

3

0

5

6

7

4

4

5

6

7

0

1

2

3

2

3

0

1

6

7

4

5

2

3

0

1

6

7

4

5

3

0

1

2

7

4

5

6

6

7

4

5

2

3

0

1

4

5

6

7

0

1

2

3

1

0

3

2

5

4

7

6

5

6

7

4

1

2

3

0

5

4

7

6

1

0

3

2

6

7

4

5

2

3

0

1

3

2

1

0

7

6

5

4

7

4

5

6

3

0

1

2

7

6

5

4

3

2

1

0

Рис. 5. Варианты таблиц размещения Т2D 8Х8

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

A1:RpDN1X…XNp → {0,1,…,M-1}(4)

при котором каждому элементу р-мерной структуры еi , ..., ip определенному значением координат i1 i2, ..., ip, ставится в со­ответствие индекс m из промежутка [0, М— 1] —номер блока памяти,

т. е.

m = A1(i1,i2,…,ip)(5)

Функцию А1 (i 1, i2, ..., ip ) будем называть функцией размещения. С помощью выражений (4) и (5) описывается закон раз­мещения, они же определяют правило формирования TpD.

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

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

Соседние файлы в папке 2.3. Процессорные матрицы