различие между параллельными программами, параллельными программами и распределенными программами - PullRequest
4 голосов
/ 15 октября 2011

Я только изучал структуру программирования;В частности, я изучал параллельные программы.Я наткнулся на несколько статей, в которых различия между параллельными программами, параллельными программами и распределенными программами кажутся смешанными.

Мое понимание таково:

параллельных программ: выполняет несколько задач одновременно или даетПонятие об этом

параллельные программы: алгоритмы для решения таких задач позволяют одновременно выполнять некоторые связанные задачи

распределенные программы: больше связаны с доступными ресурсами, чем с присущим параллелизмом всоответствующий алгоритм.Для решения проблемы доступно более одного вычислительного ресурса.

Может, кто-нибудь подскажет мне правильное и подробное объяснение этих терминов?

1 Ответ

2 голосов
/ 07 ноября 2011

Эти термины действительно связаны и иногда перекрываются: Параллельное программирование - это подмножество параллельного программирования, целью которого является использование нескольких одновременно выполняемых объектов (потоков, процессов) для ускорения некоторых вычислений. Распределенные вычисления - это очень широкая тема, которая, как вы сказали, фокусируется на использовании ресурсов для решения проблемы. Эти ресурсы могут быть на одной машине, или могут быть географически распределены или неоднородны. Трудно провести четкую грань между параллельными и распределенными вычислениями. Параллельные вычисления могут или не могут быть распределены, в зависимости от используемых ресурсов, в то время как распределенные вычисления могут или не могут использоваться для решения проблемы параллельно.

По моему мнению, тонкое различие между этими терминами происходит от уровней абстракции, на которых они рассматриваются. Когда основное внимание уделяется взаимодействию отдельных вычислительных объектов над некоторыми общими данными, тогда мы говорим о параллельном программировании. Когда ключевым аспектом является ускорение вычислений с использованием нескольких вычислительных блоков, мы имеем параллельные вычисления. Наконец, если основное внимание уделяется способу управления ресурсами для решения какой-либо проблемы, то речь идет о распределенных вычислениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...