Проект Templet

акторный фреймворк для запуска задач
на множестве ядер, кластерах и в облаках
templet.ssau.ru

Инструменты пользователя

Инструменты сайта


templet:описание_и_область_применения_шаблона

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
templet:описание_и_область_применения_шаблона [2013/10/27 09:38] – [Сравнение средств разработки параллельных приложений] nazarovtemplet:описание_и_область_применения_шаблона [2013/10/29 21:37] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 =====Описание и область применения шаблона===== =====Описание и область применения шаблона=====
-Шаблон TaskBag является каркасом приложений которые обрабатывают множество независимых задач, которые могут добавляться при обработке этих задачРабота приложения со структурой TaskBag похожа на приложения со структурой Map, но усложняющим фактором является то, что изначально нельзя предсказать сколько заданий необходимо будет обработать.+====Основные типовые решения в параллельном программировании==== 
 +  * Map 
 +  * MapReduce 
 +  * TaskBag 
 +  * Chain 
 +===Map=== 
 +Map является самой простой схемой вычислений и применяется, когда есть возможность разбить задачу на независимые потоки вычисленийНапример, сложение матриц, при котором каждый поток вычислений складывает определённый заранее набор строк, причём время выполнения заданий легко прогнозировать, что позволяет добиться небольшой разницы длительности выполнения заданий. Схема типового решения Map изображена на рисунке
  
 +{{:templet:map.png|}}
 +===MapReduce===
 +Применяется, когда необходимо согласовать результаты вычислений всех
 +потоков, но на согласование требуется намного меньше времени, чем на сами
 +вычисления. Схема типового решения MapReduce изображена на рисунке
 +
 +{{:templet:mapreduce.png|}}
 +===TaskBag===
 +Парадигма параллельных вычислений «портфель задач», называемая также моделью тиражируемых рабочих (replicated workers) или моделью работ по найму (work farm). Принцип организации вычислений по данной схеме иллюстрирует рисунок
 +
 +{{:templet:taskbag.png|}}
 +===Chain===
 +Многие задачи численного моделирования при распараллеливании приводят к структурам, в которых каждый из процессов обрабатывает некоторую локальную информацию и взаимодействует путем отправки сообщений с фиксированным числом соседей. Рассматривают несколько типов регулярных топологий (цепь, кольцо, сетка, тор, куб) и несколько типов алгоритмов работы процессов (систолический и конвейерный). Схема вычислений chain изображена на рисунке
 +
 +{{:templet:chain.png|}}
 +====Область применения шаблона TaskBag ====
 +Шаблон TaskBag является каркасом приложений, которые обрабатывают множество независимых задач, которые могут добавляться при обработке этих задач. Работа приложения со структурой TaskBag похожа на приложения со структурой Map, но усложняющим фактором является то, что изначально нельзя предсказать, сколько заданий необходимо будет обработать.
 +
 +Примеры задач с динамическим добавлением заданий:
 +  * Адаптивное численное интегрирование
 +  * Методы глобальной оптимизации
 +  * Метод ветвей и границ
 +  * Методы обхода графа в ширину
templet/описание_и_область_применения_шаблона.1382866734.txt.gz · Последнее изменение: 2013/10/27 09:38 — nazarov