Программирование на JAVA

Навигация

Технология Hyper-Threading от Intel

Производительности всегда мало

0 1

Hyper-Threading

2 3

Углубляемся в технологию

4 5

Максимум эффективности от Hyper-Threading

6 7

Архитектура IA-64

8 9

Архитектура Е2К

10 11 12 13 14 15

Большие компьютерные системы

Виды параллельной обработки

16 17 18 19 20 21 22

Матричная обработка данных

23 24 25 26

Архитектура мультипроцессорных систем общего назначения

27 28 29

Коммуникационные сети

30 31 32 33 34 35 36 37 38 39 40 41 42 43

Организация памяти в мультипроцессорных системах

44 45 46

Программный параллелизм и общие переменные

47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

Мультикомпьютерные системы

63 64 65

Общая память и передача сообщений

66 67 68 69 70 71 72 73 74

Производительность мультипроцессорных систем

75 76 77 78 79 80 81 82

Использование технологии параллельного программирования MPI-2

Введение

83 84 85

Кластерные системы и стандарт параллельного программирования MPI

86 87 88 89 90 91 92 93 94 95 96 97 98 99

Математические проблемы параллельных вычислений

100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

Реклама :




Читатель должен понимать различие между системой SPMD и описанной в разделе 10.1.1 системой SIMD, где все процессо­ры в конкретный момент времени выполняют одну и ту же команду.

Пример программы типа SPMD приведен на рис. 10.18. Вектор данных дол­жен быть сначала загружен в локальные модули памяти двух процессоров. Про­грамма, которой присвоен идентификатор 0, с помощью операционной системы считывает с диска первую половину вектора а и сохраняет данные в своей памяти под этим же именем. Затем она считывает вторую половину вектора а и помещает информацию в буфер памяти temparray. Далее она отсылает сообщение с данны­ми из этого буфера процессору, выполняющему программу с идентификатором 1. Потом те же действия выполняются для данных, составляющих вектор b. Про­грамма с идентификатором 1 получает вторую половину векторов а и b и сохра­няет таковые в своей памяти под их собственными именами.

integer array a[l...N/2], b[l...N/2], temparray[l...N/2]

integer dot_product

integer id

integer temp

…..

id := mypid()

if (id = 0) then

read a[l...N/2] from vector_a


<< назад вперед >>