Новости

27.11.2008 Вышла бета-версия анализатора кода VivaMP, предназначенного для выявления ошибок в параллельных OpenMP-программах.»

31.10.2008 Сразу две наших статьи опубликованы в журнале «Известия ТулГУ. Технические науки», выпуск №3 – 2008.»

15.10.2008 Вышла новая версия Viva64 2.20. »

Новости RSS

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

Главная » Статьи » Параллельное программирование

Инструмент для программистов VivaMP предназначен для помощи разработчикам параллельных программ на базе OpenMP. В статье приведен краткий обзор программного продукта.
С распространением многоядерных систем задача параллельного программирования становится все более и более актуальной. Данная область, однако, является новой даже для большинства опытных программистов. Существующие компиляторы и анализаторы кода позволяют находить некоторые ошибки, возникающие при разработке параллельного кода. Многие ошибки никак не диагностируются. В данной статье приводится описание ряда ошибок, приводящих к некорректному поведению параллельных программ, созданных на основе технологии OpenMP.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
В статье рассматривается вопрос применения статических анализаторов кода в современных процессах разработки параллельных программ. Появившись в 70-80-х годах как дополнение к компиляторам, статические анализаторы перестали пользоваться популярностью у разработчиков в 90-х годах. Вероятно, причиной этого стало повышение качества диагностики ошибок компиляторами. Однако, в 2000-х годах интерес к статическим анализаторам кода вновь начал расти. Это объясняется тем, что были созданы новые статические анализаторы кода, которые начали выявлять достаточно сложные ошибки в программах. Если статические анализаторы прошлого позволяли, например, обнаружить использование неинициализированной переменной, то современные статические анализаторы подходят к тому, чтобы обнаруживать небезопасный доступ к данным из нескольких потоков. Современным направлением развития статических анализаторов стало их применение для диагностики ошибок в параллельных программах. В работе рассмотрены ситуации, в которых применение таких инструментов позволяет существенно упростить создание параллельных программных решений.
В статье рассматривается проблема превышения сроков создания программ, как результат самообмана, что программирование это просто, и даже еще проще.
В статье рассмотрены принципы, положенные в основу реализации статического анализатора кода VivaMP. Приведенный в статье набор логических условий проверки позволяет диагностировать ряд ошибок в параллельных программах, созданных на основе технологии OpenMP.
Статья посвящена вопросам использования параллельных алгоритмов для создания современных эффективных программных решений. Актуальность данной тематики обусловлена снижением темпов роста тактовой частоты микропроцессоров и возрастанием внимания к использованию всех возможностей многоядерных и многопроцессорных систем. В работе рассмотрен ряд базовых параллельных алгоритмов, таких как умножение матриц, параллельная сортировка Бэтчера, метод Гаусса решения систем линейных алгебраических уравнений и так далее. Приведена реализация этих алгоритмов c использованием языка программирования Си++.
В статье кратко рассмотрены методы расчета минимального времени выполнения задач при оптимальном распределении нагрузки между процессорами. Приведенные методы могут применяться для однородных и неоднородных вычислительных систем.