Программирование на 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

Реклама :




Этот пример, как и предыдущий, нетрудно распространить на большее коли­чество процессоров. Векторы должны быть разделены на части, назначаемые раз­ным процессорам. Один из процессоров, например тот, который выполняет про­грамму с идентификатором 0, назначается для вычисления конечного результата на основе данных, полученных от других процессоров.

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

У систем c общей памятью и передачей сообщений имеются свои сильные и слабые стороны. Системы с общей памятью использовать проще, поскольку они являются непосредственным расширением однопроцессорной архитектуры. Од­нако если данные располагаются в удаленных модулях памяти, задержки на обра­щение к этой памяти могут быть достаточно заметными, поэтому важно миними­зировать количество операций доступа к глобальным переменным. Если объем сетевого трафика значительно повысится, сеть, скорее всего, начнет хуже функцио­нировать. Производительность приложения в значительной степени определяет­ся тем, насколько корректно программист выполнил синхронизацию.

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


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