pppa_guid-r (1158386), страница 3
Текст из файла (страница 3)
Компоненты некоторых характеристик, связанных с выполнением коллективных операций, выдаются в виде столбцов таблицы, где строки соответствуют типу коллективной операции, а столбцы - характеристикам. Один из столбцов (Nop) этой таблицы содержит количества операций каждого типа, которые являются характеристиками, не зависящими от числа процессоров, используемых для выполнения программы.
Информация о минимальных, максимальных и средних значениях таких характеристик оформлена в таблицу аналогичным образом.
Можно уменьшить объем выдаваемой информации, заказав только тот тип характеристик, который в данный момент интересует пользователя. Кроме того, можно ограничить количество интервалов, для которых будут выдаваться все характеристики, указав максимальный номер их уровня вложенности. Можно задать список номеров процессоров, ограничив тем самым объем информации с характеристиками выполнения программы на каждом процессоре. Некоторые характеристики вообще не выдаются в том случае, если их значения равны нулю.
Ниже приводится пример выдачи характеристик выполнения на кластере из 4-х рабочих станций SGI O2 программы Jacobi, написанной на языке Fortran-DVM. Размер (L) массивов А и В равен 1200, а число итераций равно 4. Запись результатов (массива В) в файл исключена из программы.
Характеристики (Main characteristics и Comparative characteristics) приведены только для интервала нулевого уровня.
PROGRAM JACOB
PARAMETER (L=1200, ITMAX=4)
REAL A(L,L), EPS, MAXEPS, B(L,L)
CHPF$ PROCESSORS P(2,2)
CHPF$ DISTRIBUTE A ( BLOCK, BLOCK) ONTO P
CHPF$ ALIGN B( I, J ) WITH A( I, J )
C arrays A and B with block distribution
PRINT *, '********** TEST_JACOBI **********'
MAXEPS = 0.5E - 7
CDVM$ PARALLEL (J,I) ON A(I, J)
C nest of two parallel loops, iteration (i,j) will be executed on
C processor, which is owner of element A(i,j)
DO 1 J = 1, L
DO 1 I = 1, L
A(I, J) = 0.
IF(I.EQ.1 .OR. J.EQ.1 .OR. I.EQ.L .OR. J.EQ.L) THEN
B(I, J) = 0.
ELSE
B(I, J) = ( 1. + I + J )
ENDIF
1 CONTINUE
DO 2 IT = 1, ITMAX
EPS = 0.
CDVM$ PARALLEL (J, I) ON A(I, J), REDUCTION ( MAX( EPS ))
C variable EPS is used for calculation of maximum value
DO 21 J = 2, L-1
DO 21 I = 2, L-1
EPS = MAX ( EPS, ABS( B( I, J) - A( I, J)))
A(I, J) = B(I, J)
21 CONTINUE
CDVM$ PARALLEL (J, I) ON B(I, J), SHADOW_RENEW (A)
C Copying shadow elements of array A from
C neighboring processors before loop execution
DO 22 J = 2, L-1
DO 22 I = 2, L-1
B(I, J) = (A( I-1, J ) + A( I, J-1 ) + A( I+1, J)+
* A( I, J+1 )) / 4
22 CONTINUE
PRINT *, 'IT = ', IT, ' EPS = ', EPS
IF ( EPS . LT . MAXEPS ) GO TO 3
2 CONTINUE
3 CONTINUE
C OPEN (3, FILE='JACOBI.DAT', FORM='FORMATTED')
C WRITE (3,*) B
C CLOSE (3)
END
INTERVAL ( NLINE=8 SOURCE=jac.fdv ) LEVEL=0 EXE_COUNT=1
--- Main characteristics ---
| Parallelization efficiency | 0.4952 |
( Real_sync= 3.1443; Starts= 0.0267 ) |
|
| Nop | Communic | Real_sync | Synchro | Variation | Overlap |
Замечание. Отсутствие потерь из-за коммуникаций при вводе-выводе объясняется тем, что в программе имеются только операторы печати нераспределенных данных. Поскольку такие данные имеют одинаковые значения на всех процессорах, то операторы печати выполняются процессором ввода-вывода без обмена сообщениями с другими процессорами.
--- Comparative characteristics ---
|
| T min | Npr | T max | Npr | T mid |
| Communic | Real_sync | Synchro | Variation | Overlap | ||
| I/O | Tmin | 0.0000 1 | 0.0000 1 | 0.0058 4 | 0.0066 4 | 0.0000 1 |
| Reduction | Tmin | 0.0303 4 | 0.0212 4 | 0.0231 4 | 0.0000 3 | 0.0000 2 |
| Shadow | Tmin | 0.0029 3 | 0.0000 2 | 0.0000 3 | 0.0000 3 | 0.0000 1 |
7Приложение. Перечень выдаваемых характеристик
7.1Основные характеристики и их компоненты
-
Коэффициент эффективности (Parallelization efficiency) равен отношению полезного времени к общему времени использования процессоров.
-
Время выполнения (Execution time).
-
Число используемых процессоров (Processors).
-
Общее время использования процессоров (Total time) - произведение времени выполнения (Execution time) на число используемых процессоров (Processors).
-
Полезное время (Productive time) - сумма трех составляющих – полезного процессорного времени (CPU), времени ввода-вывода (I/O) и полезного системного времени (Sys).
-
Потерянное время (Lost time).
-
Недостаточный параллелизм (Insufficient par) и его компоненты .
-
Коммуникации (Communication) и все компоненты.
-
Простои (Idle time).
-
Разбалансировка (Load Imbalance).
-
Потенциальные потери из-за синхронизации (Synchronization) и все компоненты.
-
Потенциальные потери из-за разброса времен (Time variation) и все компоненты.
-
Время перекрытия (Overlap) и его компоненты.
7.1.1Характеристики выполнения программы на каждом процессоре
-
Потерянное время (Lost time) - сумма его составляющих – потерь из-за недостаточного параллелизма (User insufficient par), системных потерь из-за недостаточного параллелизма (Sys insufficient par), коммуникаций (Communication) и простоев (Idle time).
-
Потери из-за недостаточного параллелизма (User insufficient par).
-
Системные потери из-за недостаточного параллелизма (Sys insufficient par).
-
Простои на данном процессоре (Idle time) - разность между максимальным временем выполнения интервала (на каком-то процессоре) и временем его выполнения на данном процессоре.
-
Общее время коммуникаций (Communication).
-
Реальные потери из-за рассинхронизации (Real synchronization).
-
Потенциальные потери из-за рассинхронизации (Synchronization).
-
Потенциальные потери из-за разброса времен (Variation).
-
Время перекрытия асинхронных операций (Overlap).
-
Разбалансировка (Load imbalance) вычисляется как разность между максимальным процессорным временем (CPU+Sys) и соответствующим временем на данном процессоре.
-
Время выполнения интервала (Execution_time).
-
Полезное процессорное время (User CPU time).
-
Полезное системное время (Sys CPU time)
-
Время ввода-вывода (I/O time).
-
Время запусков коллективных операций (Start operation).
-
Число используемых процессоров для данного интервала (Processors).
-
Времена коммуникаций для всех типов коллективных операций (Reduction, Shadow, Remote access, Redistribution и I/O), за исключением времен их запусков.
-
Реальные потери из-за рассинхронизации для всех типов коллективных операций.
-
Потенциальные потери из-за рассинхронизации для всех типов коллективных операций.
-
Потенциальные потери из-за разброса времен для всех типов коллективных операций.
-
Время перекрытия для всех типов коллективных операций.















