Курсовая работа: Диалоговая оболочка отладчика MPI-программ
5.13Окно просмотра трасс (Tracecontrol)
Заключение
Литература
1. Введение
Существуют сверхсложные вычислительные задачи, для решения которых требуется применение суперкомпьютеров. Такие задачи называют grandchallenges.
Grandchallenges - это фундаментальные научные или инженерные задачи с широкой областью применения, эффективное решение которых возможно только с использованием мощных (суперкомпьютерных) вычислительных ресурсов [1].
Вот лишь некоторые области, где возникают задачи подобного рода:
· Предсказания погоды, климата и глобальных изменений в атмосфере
· Науки о материалах
· Построение полупроводниковых приборов
· Сверхпроводимость
· Структурная биология
· Разработка фармацевтических препаратов
· Генетика человека
· Квантовая хромодинамика
· Астрономия
· Транспортные задачи
· Гидро- и газодинамика
· Управляемый термоядерный синтез
· Эффективность систем сгорания топлива
· Разведка нефти и газа
· Вычислительные задачи наук о мировом океане
· Распознавание и синтез речи
· Распознавание изображений
Эффективное использование ресурсов суперкомпьютеров возможно только при распараллеливании вычислений. Параллельное программирование применяется для решения задач такого рода – предсказание метеоусловий, задач структурной биологии и генетики человека, задач астрономии, гидро- и газодинамики и многих других. Программист должен оптимально распределить данные и вычисления, чтобы добиться максимальной эффективности решения задачи на суперкомпьютерах с распределенной памятью.
Очень часто требуется повысить эффективность уже написанной последовательной программы. Это связано с тем, что накоплен огромный объем последовательных программ, написанных для решения прикладных задач. Конечно, можно попытаться использовать для ее выполнения более мощные аппаратные средства или реализовать более эффективные алгоритмы решения задачи. С другой стороны, можно использовать возможности параллельной обработки информации, т.е., другими словами, попытаться написать параллельную версию последовательной программы.
Параллельная программа не обязательно должна быть параллельной версией какой-либо последовательной программы, она также может реализовывать алгоритмы, которые невыгодно использовать на последовательных ЭВМ.
В любом случае, при написании параллельной программы сложность программирования резко возрастает, по сравнению с написанием последовательной программы. Возрастает соответственно и сложность отладки параллельной программы
· Возрастает сложность программирования, а, следовательно, возрастает и вероятность совершения ошибок;
· Появляются новые виды ошибок, специфичные для параллельных программ: взаимная блокировка (deadlock), условия гонок (raceconditions), и другие.