ВУЗ:
Составители:
Рубрика:
- 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б). Обычно размер зерна (гранулы) составляет десятки-сотни тысяч машинных операций (что на порядки превышает типичный размер оператора
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »