Параллельное программирование

Неформальная постановка задач параллельного программирования ВС


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

Проблема её программирования — это проблема планирования распараллеливания. Это требует разбиения алгоритма на, в общем случае, частично упорядоченное множество работ, назначения этих работ на процессоры с учетом синхронизации их выполнения в соответствии с обязательным порядком следования.

С ориентацией на достижение максимальной производительности ВС, а также на специальное применение в составе конкретных систем, например, в составе сложных систем управления, различают две взаимно-обратные задачи параллельного программирования.

Задача 1. Для заданного комплекса информационно и по управлению взаимосвязанных задач (частично упорядоченного множества задач), для заданной архитектуры ВС (наличие многих процессоров в однородной ВС, наличие процессоров разной специализации или производительности в неоднородной ВС, наличие или отсутствие ООП и т.д.), а также для заданного ограничения на допустимое время вычислительного процесса, выбрать комплектацию ВС минимальной стоимости.

Под стоимостью понимают вес каждого типа процессоров, который необходимо учитывать при выборе оптимальной комплектации. В частности, это стоимость разработки или цена одного процессора.

В однородной ВС задача 1 вырождается в задачу нахождения минимального числа процессоров, необходимого для решения данного комплекса взаимосвязанных задач за время, не превышающее заданное.

Задача 2. Найти план решения за минимальное время данного комплекса информационно и по управлению взаимосвязанных задач на данной ВС.



Содержание раздела