ВУЗ:
Составители:
Рубрика:
- 19 -
Формально к этому списку может быть отнесен и многозадачный режим
(режим разделения времени), при котором для выполнения процессов ис-
пользуется единственный процессор (режим является псевдопараллельным,
ибо реального ускорения выполнения не происходит); в этом режиме удобно
отлаживать параллельные приложения (функционирование каждого процес-
сора МВС имитируется отдельным процессом многозадачной ОС).
Существует
всего-навсего два способа параллельной обработки данных:
собственно параллелизм и конвейерность [1-4].
Собственно параллелизм предполагает наличие p одинаковых устройств
для обработки данных и алгоритм, позволяющий производить на каждом не-
зависимую часть вычислений, в конце обработки частичные данные собира-
ются вместе для получения окончательного результата. В это случае (пренеб-
регая
накладными расходами на получение и сохранение данных) получим
ускорение процесса в p раз. Далеко не каждый алгоритм может быть успешно
распараллелен таким способом (естественным условием распараллеливания
является вычисление независимых частей выходных данных по одинаковым
– или сходным – процедурам; итерационность или рекурсивность вызывают
наибольшие проблемы при распараллеливании).
Идея конвейерной обработки
заключается в выделении отдельных эта-
пов выполнения общей операции, причем каждый этап после выполнения
своей работы передает результат следующему, одновременно принимая но-
вую порцию входных данных. Каждый этап обработки выполняется своей
частью устройства обработки данных (ступенью конвейера), каждая ступень
выполняет определенное действие (микрооперацию); общая обработка дан-
ных требует срабатывания этих частей
(их число – длина конвейера) последо-
вательно.
Конвейерность (‘принцип водопровода’, акад. С.А.Лебедев, 1956) при вы-
полнении команд имитирует работу конвейера сборочного завода, на кото-
ром изделие последовательно проходит ряд рабочих мест; причем на каждом
из них над изделием производится новая операция. Эффект ускорения дости-
гается за счет одновременной обработки ряда
изделий на разных рабочих
местах.
Ускорение вычислений достигается за счет использования всех ступеней
конвейера для потоковой обработки данных (данные потоком поступают на
вход конвейера и последовательно обрабатываются на всех ступенях). Кон-
вейеры могут быть скалярными или векторными устройствами (разница со-
стоит лишь в том, что в последнем случае могут быть использованы
обраба-
тывающие векторы команды). В случае длины конвейера
l
время обработ-
ки n независимых операций составит
1
−
+
nl
(каждая ступень срабатывает
за единицу времени). При использовании такого устройства для обработки
единственной порции входных данных потребуется время
n×
l
и только для
множества порций получим ускорение вычислений, близкое к
l
(именно в
- 19 - Формально к этому списку может быть отнесен и многозадачный режим (режим разделения времени), при котором для выполнения процессов ис- пользуется единственный процессор (режим является псевдопараллельным, ибо реального ускорения выполнения не происходит); в этом режиме удобно отлаживать параллельные приложения (функционирование каждого процес- сора МВС имитируется отдельным процессом многозадачной ОС). Существует всего-навсего два способа параллельной обработки данных: собственно параллелизм и конвейерность [1-4]. Собственно параллелизм предполагает наличие p одинаковых устройств для обработки данных и алгоритм, позволяющий производить на каждом не- зависимую часть вычислений, в конце обработки частичные данные собира- ются вместе для получения окончательного результата. В это случае (пренеб- регая накладными расходами на получение и сохранение данных) получим ускорение процесса в p раз. Далеко не каждый алгоритм может быть успешно распараллелен таким способом (естественным условием распараллеливания является вычисление независимых частей выходных данных по одинаковым – или сходным – процедурам; итерационность или рекурсивность вызывают наибольшие проблемы при распараллеливании). Идея конвейерной обработки заключается в выделении отдельных эта- пов выполнения общей операции, причем каждый этап после выполнения своей работы передает результат следующему, одновременно принимая но- вую порцию входных данных. Каждый этап обработки выполняется своей частью устройства обработки данных (ступенью конвейера), каждая ступень выполняет определенное действие (микрооперацию); общая обработка дан- ных требует срабатывания этих частей (их число – длина конвейера) последо- вательно. Конвейерность (‘принцип водопровода’, акад. С.А.Лебедев, 1956) при вы- полнении команд имитирует работу конвейера сборочного завода, на кото- ром изделие последовательно проходит ряд рабочих мест; причем на каждом из них над изделием производится новая операция. Эффект ускорения дости- гается за счет одновременной обработки ряда изделий на разных рабочих местах. Ускорение вычислений достигается за счет использования всех ступеней конвейера для потоковой обработки данных (данные потоком поступают на вход конвейера и последовательно обрабатываются на всех ступенях). Кон- вейеры могут быть скалярными или векторными устройствами (разница со- стоит лишь в том, что в последнем случае могут быть использованы обраба- тывающие векторы команды). В случае длины конвейера l время обработ- ки n независимых операций составит l + n − 1 (каждая ступень срабатывает за единицу времени). При использовании такого устройства для обработки единственной порции входных данных потребуется время l × n и только для множества порций получим ускорение вычислений, близкое к l (именно в
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »