Особенностью всех суперкомпьютеров является возможность создания алгоритмов,
выполняющих несколько действий (задач) одновременно и независимо друг от друга
(параллелизм) с последующим обменом информации между процессами. Число
процессоров у разных суперкомьютеров различно и будет неуклонно расти. Поэтому
создаваемые программы должны быть масштабируемыми (то есть гибкими к
числу процессоров). В многопроцессорной системе процессоры могут делить между
собой некоторые аппаратные ресурсы: память, соединительную сеть и т. д. За счет
использования общих ресурсов добавление каждого нового процессора может
приводить к замедлению работы остальных процессоров. В этом случае говорят об
ограниченной масштабируемости системы.
Проектирование параллельных
алгоритмов является творческим процессом. Лучшие результаты будут при учете
особенностей как самой задачи, так и архитектуры суперкомпьютера.
Общая задача делится на подзадачи меньшего размера, и затем определяется требуемая коммуникация между подзадачами. От конкретного числа процессоров желательно абстрагироваться.
[Назад] [Оглавление] [Вперед]