Составители:
Рубрика:
В пространстве кортежей оказывается соответствующие n кор-
тежей. Пример 4. Обмен сообщениями “с помощью каналов”
OUT("ch", expressions);
— посылка в “канал”.
IN("ch", expressions);
— получение из “канала”.
§ 4. Портфель задач
Реализация параллельных вычислений возможна с использо-
ванием так называемого портфеля задач.
Задача здесь представляет независимую единицу работы. За-
дачи помещаются в “портфель”, разделяемый всеми процессами,
работающими по программе
while(true) {
[получить задачу из "портфеля"];
if([задач больше нет])
break; # выход из цикла
fi
}
Парадигма портфеля задач имеет следующие положительные
черты:
1) она весьма проста, так как для работы достаточно соблюсти
всего лишь несколько требований:
– нужно дать представление задач;
– определить портфель (набор задач);
– дать программу выполнения задачи;
– определить критерий ее окончания;
2) программы с использованием портфеля задач легко масшта-
бируются простым изменением числа процессов (при этом нельзя
забывать, что производительность может не измениться, если чис-
ло процессов больше числа задач);
3) упрощается балансировка нагрузки: освободившиеся процес-
сы берут на себя решение новых задач из портфеля (пока задач в
два или три раза больше, чем процессов, загрузка процессов ока-
жется приблизительно одинаковой).
195
Страницы
- « первая
- ‹ предыдущая
- …
- 192
- 193
- 194
- 195
- 196
- …
- следующая ›
- последняя »