Параллельные вычисления. Баканов В.М. - 24 стр.

UptoLike

Составители: 

- 24 -
граммы (напр., циклических участков) позволяют многократно (иногда в де-
сятки раз!) повысить быстродействие даже последовательной программы за
счетоседанияв кэше часто используемых переменных.
1.3 Понятие параллельного процесса и гранулы распараллеливания
Наиболее общая схема выполнения последовательных и параллельных
вычислений приведена на рис.3 (моменты времени S и E – начало и конец
задания соответственно).
Рисунок 3 Диаграммы выполнения процессов при последовательном вычислении -
а), при близком к идеальному распараллеливании - б) и в общем случае распа-
раллеливания - в)
Процессом называют определенные последовательности команд, наравне
с другими процессами претендующие для своего выполнения на использова-
ние процессора; команды (инструкции) внутри процесса выполняются после-
довательно [2], внутренний (напр., конвейерный) параллелизм при этом не
учитывают.
На рис.3 тонкими линиями показаны действия по созданию процессов и
обмена данными между ними, толстыминепосредственно исполнение про-
цессов (ось абсцисс - время). В случае последовательных вычислений созда-
ется единственный процесс (рис.3a), осуществляющий необходимые дейст-
вия; при параллельном выполнении алгоритма необходимы несколько (ино-
гда десятки/сотни/тысячи) процессов (параллельных ветвей задания). В иде-
альном случае (близкое к идеальному распараллеливание) все процессы соз-
даются одновременно и одновременно завершаются (рис.3б), в
общем случае
диаграмма процессов значительно сложнее и представляет собой некоторый
граф (рис.3в).
Характерная длина последовательно выполняющейся группы команд в
каждом из параллельных процессов называется размером гранулы (зерна). В
любом случае целесообразно стремиться ккрупнозернистости’ (идеалдиа-
грамма 3б). Обычно размер зерна (гранулы) составляет десятки-сотни тысяч
машинных операций
(что на порядки превышает типичный размер оператора
                                       - 24 -


граммы (напр., циклических участков) позволяют многократно (иногда в де-
сятки раз!) повысить быстродействие даже последовательной программы за
счет ‘оседания’ в кэше часто используемых переменных.

  1.3 Понятие параллельного процесса и гранулы распараллеливания

  Наиболее общая схема выполнения последовательных и параллельных
вычислений приведена на рис.3 (моменты времени S и E – начало и конец
задания соответственно).




Рисунок 3 — Диаграммы выполнения процессов при последовательном вычислении -
      а), при близком к идеальному распараллеливании - б) и в общем случае распа-
      раллеливания - в)

   Процессом называют определенные последовательности команд, наравне
с другими процессами претендующие для своего выполнения на использова-
ние процессора; команды (инструкции) внутри процесса выполняются после-
довательно [2], внутренний (напр., конвейерный) параллелизм при этом не
учитывают.
   На рис.3 тонкими линиями показаны действия по созданию процессов и
обмена данными между ними, толстыми – непосредственно исполнение про-
цессов (ось абсцисс - время). В случае последовательных вычислений созда-
ется единственный процесс (рис.3a), осуществляющий необходимые дейст-
вия; при параллельном выполнении алгоритма необходимы несколько (ино-
гда десятки/сотни/тысячи) процессов (параллельных ветвей задания). В иде-
альном случае (близкое к идеальному распараллеливание) все процессы соз-
даются одновременно и одновременно завершаются (рис.3б), в общем случае
диаграмма процессов значительно сложнее и представляет собой некоторый
граф (рис.3в).
   Характерная длина последовательно выполняющейся группы команд в
каждом из параллельных процессов называется размером гранулы (зерна). В
любом случае целесообразно стремиться к ‘крупнозернистости’ (идеал – диа-
грамма 3б). Обычно размер зерна (гранулы) составляет десятки-сотни тысяч
машинных операций (что на порядки превышает типичный размер оператора