Abstract

This survey aims to present the state of the art in analytic parallel computation models, providing sufficiently detailed descriptions of particularly noteworthy efforts. Such models allow predicting the computation time, speedup, efficiency and scalability of parallel algorithms for various target multiprocessor platforms. Modeling the cost of computations and communications in multiprocessor systems is an important and challenging problem. It provides insights into the design of the parallel algorithms for optimization of their deployment in the increasingly complex high-performance computing. The survey shows the evolution of parallel computing models inspired by the evolution of multiprocessor systems, from single-level models with shared memory to multi-level hierarchical models with distributed memory, which correspond to multicore clusters. The review concludes with prospective directions for further research in the area of developing mathematical models for parallel computing.

Highlights

  • Требования к модели параллельных вычисленииМодель параллельных вычислений в общем случае должна включать в себя следующие пять компонентов, некоторые из которых в определенных случаях могут быть тривиальны [32]: архитектурный компонент, описываемый как помеченный граф, узлы которого соответствуют модулям с различной функциональностью, а дуги — межмодульным соединениям для передачи данных; спецификационный компонент, определяющий, что есть (синтаксически) корректный алгоритм/программа; компонент выполнения, задающий последовательность состояний архитектурных модулей, обеспечивающих корректное выполнение алгоритма/программы для определенных входных данных; распараллеливающий компонент, определяющий способы распределения вычислений, синхронизации и обмена данными между процессорными модулями, работающими независимо (параллельно); стоимостный компонент, определяющий одну или несколько метрик, позволяющих предсказать параметры выполнения алгоритма/программы (время выполнения, объем необходимой оперативной памяти и др.) в каждом конкретном случае.

  • В ранней работе Скилликорна [33] к модели параллельных вычислений предъявляются следующие требования: архитектурная независимость, согласованность, дескриптивная простота.

  • Архитектурная независимость модели означает, что модель применима к.

Read more

Summary

Требования к модели параллельных вычислении

Модель параллельных вычислений в общем случае должна включать в себя следующие пять компонентов, некоторые из которых в определенных случаях могут быть тривиальны [32]: архитектурный компонент, описываемый как помеченный граф, узлы которого соответствуют модулям с различной функциональностью, а дуги — межмодульным соединениям для передачи данных; спецификационный компонент, определяющий, что есть (синтаксически) корректный алгоритм/программа; компонент выполнения, задающий последовательность состояний архитектурных модулей, обеспечивающих корректное выполнение алгоритма/программы для определенных входных данных; распараллеливающий компонент, определяющий способы распределения вычислений, синхронизации и обмена данными между процессорными модулями, работающими независимо (параллельно); стоимостный компонент, определяющий одну или несколько метрик, позволяющих предсказать параметры выполнения алгоритма/программы (время выполнения, объем необходимой оперативной памяти и др.) в каждом конкретном случае. В ранней работе Скилликорна [33] к модели параллельных вычислений предъявляются следующие требования: архитектурная независимость, согласованность, дескриптивная простота. Архитектурная независимость модели означает, что модель применима к. Согласованность предполагает, что время, предсказываемое стоимостными метриками модели для данной архитектуры, должно (асимптотически) соответствовать реальному времени выполнения программы. Определяющая легкость описания алгоритма и анализа его стоимости средствами модели (модель должна быть легкой в использовании). Основными временными характеристиками являются следующие: 1) реальное (астрономическое) время выполнения программы; 2) абстрактное время выполнения программы, позволяющее предсказать, какая из двух программ будет выполняться быстрее; 3) масштабируемость алгоритма/программы, определяющая максимальное количество вычислительных модулей в многопроцессорной системе, после которого прирост ускорения становится нулевым или отрицательным

Одноуровневые модели с общей памятью
Многоуровневые модели с общей памятью
Одноуровневые модели с распределенной памятью
Многоуровневые модели с распределенной памятью
Другие обзоры
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call