Язык и система фрагментированного параллельного программирования задач численного моделирования тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат физико-математических наук Арыков, Сергей Борисович
- Специальность ВАК РФ05.13.11
- Количество страниц 195
Оглавление диссертации кандидат физико-математических наук Арыков, Сергей Борисович
Введение.
Глава 1. Средства разработки параллельных программ.
1.1. Классификация средств разработки параллельных программ
1.2. Средства разработки асинхронных программ.
1 1.2.1. Проект МАРС.
1.2.2. OpenTS.
1.2.3. Charm-н-.
1.2.4. Граф Плюс.
1.2.5. PLASMA.
1.3. Требования к системе программирования.
1.4. Выводы
Глава 2. Фрагментированное программирование.
2.1. Концепция фрагментированного программирования.
2.1.1. Предпосылки возникновения.
2.1.2. Неформальное определение.
2.2. Асинхронная модель вычислений.
2.2.1. Простая асинхронная модель.
2.2.2. Асинхронная модель со структурными А-блоками
2.2.3. Асинхронная модель с массовыми А-блоками.
2.2.4. Асинхронная модель с управлением на основе строгого частичного порядка.
2.3. Конструирование асинхронных программ.
2.3.1. Формальное определение управляющего оператора
2.3.2. Алгоритмы генерации управляющих операторов
2.4. Выводы .'.
Глава 3. Язык программирования Аспект.
3.1. Ключевые особенности.
3.2. Формальное определение
3.2.1. Структура программы.
3.2.2. Заголовок программы.
3.2.3. Объявления внешнего языка.
3.2.4. Объявление фрагментов данных.
3.2.5. Объявление фрагментов кода.
3.2.6. Объявление данных задачи.
3.2.7. Объявление фрагментов вычислений.
3.2.8. Объявление управления.
3.3. Программирование на языке Аспект.
3.3.1. Распространённые схемы управления.
3.3.2. Разложение матриц.
3.3.3. Вычисление п-то числа Фибоначчи.
3.3.4. Анализ фрагментированного подхода.
3.4. Выводы
Глава 4. Реализация системы программирования Аспект.
4.1. Программная архитектура системы.
4.2. Реализация транслятора.
4.2.1. Лексический анализатор
4.2.2. Синтаксический анализатор.
4.2.3. Генератор внутреннего представления
4.2.4. Генератор кода.
4.2.5. Ограничения реализации.
4.3. Реализация исполнительной подсистемы.
4.3.1. Слой абстрагирования от операционной системы
4.3.2. Функциональные модули.
4.3.3. Интерфейс системных вызовов
4.3.4. Ограничения реализации.
4.4. Порядок работы с системой.
4.4.1. Трансляция Аспект-программы
4.4.2. Окончательная сборка программы.
4.4.3. Отладка программы.
4.5. Выводы
Глава 5. Практические испытания
5.1. Тестовая среда и методика испытаний.
5.2. Тестирование на специальных тестах.
5.2.1. Накладные расходы исполнительной подсистемы
5.2.2. Поддержка большого количества фрагментов
5.2.3. Накладные расходы управляющих операторов.
5.3. Тестирование на модельных задачах.
5.3.1. Умножение матриц.
5.3.2. Разложение матриц.
5.3.3. Явная разностная схема.
5.3.4. Использование специализированных библиотек
5.4. Тестирование на прикладных задачах
5.4.1. Метод Монте-Карло.
5.4.2. Метод частицы-в-ячейках.•.
5.5. Выводы
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Методы асинхронного управления функционально-потоковыми параллельными вычислениями2009 год, кандидат технических наук Редькин, Андрей Владимирович
Разработка методов выполнения функционально-параллельных программ на основе сетей Петри2005 год, кандидат физико-математических наук Калиниченко, Борис Олегович
Разработка обрабатывающих и управляющих компонент организации вычислительных процессов в проблемно-ориентированных вычислительных системах1985 год, кандидат технических наук Смольников, Владимир Александрович
Инструментальный комплекс для организации параллельных вычислений в интеллектуальных пакетах прикладных программ2008 год, кандидат технических наук Горский, Сергей Алексеевич
Исследование и разработка методов выполнения функционально-параллельных программ2004 год, кандидат технических наук Кузьмин, Дмитрий Александрович
Введение диссертации (часть автореферата) на тему «Язык и система фрагментированного параллельного программирования задач численного моделирования»
I
Актуальность работы. Роль численного моделирования в решении научных и прикладных задач: продолжает возрастать. Для моделированиях высокой точностью необходимы огромные вычислительные ресурсы, поэтому для большинства задач разрабатываются; параллельные программы, позволяющие выполнять моделирование:на суперкомпьютерах.
Разработка хорошей параллельной программы в настоящее время.остаётся сложной задачей. Параллельная программа должна обладать рядом динамических свойств (динамической настройкой нащоступные ресурсы, динамической балансировкой загрузки, динамическим учётом поведения; численной модели); которые существующими системами программирования в полнот мере не обеспечиваются^а их ручнаяфеализация требует серьёзных знаний теории параллельного программирования, архитектуры ЭВМ; программных особенностей средств разработки. В параллельных программах встречаются специфические ошибки, которые сложно обнаружить и устранить в силу недетерминизма исполнения таких программ. Наконец; перенос параллельной программы, с одного вычислителя на другой часто также сопряжён со значительными
ТРУДНОСТЯМИ:
Таким образом, специалистам-прикладникам приходится уделять слишком большое внимание проблемам параллельного программирования: В связи с этим, одним из перспективных направлений является создание систем параллельного программирования высокого уровня^ которые в значительной степени скрывают от пользователя технические трудности разработки параллельных программ и позволяют сосредоточиться на алгоритме решения задачи.
Значительным шагом на этом пути можно считать такие системы, как НРБ, БУМ, трС. Они берут на себя заботу о реализации коммуникаций, син-хронизаций и некоторых других проблемах, однако, в силу излишне жестко заданного управления (что характерно для всех императивных языков), автоматически выявить внутренний параллелизм алгоритма часто не удаётся.
С повсеместным распространением многоядерных процессоров задача разработки параллельной программы ещё более усложняется, поскольку эф) фекгивно распределить доступные ресурсы между крупными взаимодействующими последовательными процессами затруднительно. Это породило множеI ство исследовательских проектов, направленных на поиск более подходящей модели вычислений. Среди российских разработок можно отметить проект МАРС (языки Барс и Поляр), систему НОРМА, систему OpenTS; среди зарубежных — библиотеку PLASMA, системы ALF, Charm++, SMP superscalar и другие.
Одним из новых подходов, альтернативных программированию на основе параллельно-последовательной модели вычислений, является фрагменти-рованное программирование. К его основным преимуществам можно отнести возможность автоматической генерации параллельной программы, возможность автоматически обеспечить программам ряд динамических свойств, лучшую переносимость между вычислителями различной архитектуры, а также возможность выполнить формальный анализ параллельной программы. Этот подход в настоящее время активно развивается, и в существующих проектах (PLASMA, ALF, Charm-H-) реализованы лишь его отдельные элементы. Поэтому дальнейшее развитие средств фрагментированного программирования является актуальной задачей.
Объект и предмет исследования. Объектом исследования является фраг ментированное программирование. Предмет исследования — языки и системы фрагментированного программирования.
Цель работы. Целью диссертационной работы является разработка языка и системы фрагментированного параллельного программирования задач численного моделирования.
Для достижения поставленной цели были сформулированы следующие задачи:
1. Анализ известных моделей, методов и программных средств параллельного программирования и формулирование требований к системе фраг-ментированного параллельного - программирования.
2. Разработка модели вычислений, учитывающей-особенности фрагменти-рованного представления алгоритмов численного моделирования.
3. Разработка языка программирования, позволяющего представлять фраг-ментированные алгоритмы в терминах предложенной модели.
4. Реализация разработанных моделей, методов и алгоритмов в виде системы фрагментированного параллельного программирования для архитектур с общей памятью.
Методы исследования. В работе использовались результаты теории алгоритмов, теории множеств, теории формальных языков. В качестве формальной модели параллелизма взята асинхронная модель вычислений. В экспериментальных исследованиях применялись методы системного, объектно-ориентированного и параллельного программирования.
Научная новизна. Научной новизной обладают следующие результаты диссертационной работы, полученные автором лично: I
1. Асинхронная модель вычислений с управлением на основе строгого частичного порядка, ориентированная на фрагментированное программирование численных задач, и алгоритмы её преобразования в асинхронную модель с управляющими операторами.
2. Совокупность способов задания управления во фрагментированной программе, включая массовое управление. |
3. Алгоритмы реализации системы фрагментированного программирования Аспект для архитектур с общей памятью, а также сама реализация, в том.числе:
• алгоритмы генерации управляющих операторов, поддерживающие массовое управление;
• методика представления асинхронной программы на языке С++.
Практическая значимость. Результаты работы могут лечь в основу широкого спектра средств, разработки фрагментированных параллельных программ и-применяться для решения прикладных задач численного моделирования. Язык Аспект позволяет начать накопление библиотеки, фрагментированных алгоритмов, а возможность замены разработанной исполнительной подсистемы на другую обеспечивает переносимость Аспект-программ;
Система программирования Аспект используется в отделе МО ВВС Института вычислительной математики и математической геофизики СО-РАН для выполнения исследований по. различным проектам; а также в учебном процессе Новосибирского государственного университета и Новосибирского государственного технического университета для обучения студентов параллельному программированию. На защиту выносятся: I I
1. Асинхронная модель вычислений с управлением на основе строгого частичного порядка, ориентированная на фрагментированное программирование численных задач, и алгоритмы её преобразования в асинхронную модель с управляющими операторами.
2. Язык фрагментированного программирования Аспект.
3. Система фрагментированного программирования Аспект и алгоритмы её реализации.
Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались: 1
• на Конференции молодых ученых ИВМиМГ СО РАН (Новосибирск, 2005 и 2006 гг.);
• на VIII Всероссийской конференции молодых ученых по математическому моделированию и информационным технологиям (Новосибирск,
2007 г.);
• на Международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2008)» (Санкт-Петербург, 28 января — 1 февраля i
2008 г.);
• на VI Всероссийской конференции студентов, аспирантов и молодых ученых «Молодёжь и современные информационные технологии» (Томск, 26-28 февраля 2008 г.);
• на Международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2009)» (Нижний Новгород, 30 марта — 3 апреля
2009 г.);
• на Международной научной конференции «Parallel Computer Technologies i
PaCT-2009)» (Новосибирск, 31 августа — 4 сентября 2009 г.);
• на Международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2010)» (Уфа, 29 марта — 2 апреля 2010 г.);
• на научных семинарах «Математическое и архитектурное обеспечение параллельных вычислений» (отдел МО ВВС Института вычислительной математики и математической геофизики СО РАН), «Архитектура, системное и прикладное программное обеспечение кластерных суперЭВМ» (расширенный семинар ССКЦ, НГУ, Центра Компетенции СО РАН — INTEL), «Системное программирование», «Конструирование и оптимизация программ» (объединённые семинары кафедры программирования НГУ и Института систем информатики имени А.П. Ершова СО РАН).
Публикации. По теме диссертации опубликовано 11 работ, в том числе 3 статьи в рецензируемых журналах и 4 статьи в сборниках трудов международных конференций.
Личный вклад автора. Выносимые на защиту результаты получены автором лично. В опубликованных совместных работах участие автора заключалось в разработке и исследовании алгоритмов и их программной реализации. Постановка и исследование задач осуществлялись совместными усилиями соавторов. Создание и внедрение прикладных разработок осуществлено автором лично.
Структура и объем диссертации. Диссертационная работа состоит из введения, пята глав, заключения, списка литературы из 125 наименований и пяти приложений. Общий объем работы составляет 195 страниц, из них 151 страница основного текста, включая 13 таблиц и 23 рисунка. Общий объем программного кода составляет 9702 строки.
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Программные средства моделирования динамически изменяющейся структуры параллельных систем1984 год, кандидат физико-математических наук Борейша, Юрий Евгеньевич
Языковые средства систем программирования, ориентированные на создание переносимых, эволюционно расширяемых параллельных программ2005 год, доктор технических наук Легалов, Александр Иванович
Функциональный язык для разработки переносимых параллельных программ2003 год, кандидат технических наук Казаков, Фёдор Александрович
Принципы построения систем параллельного программирования на основе алгол 601984 год, Колесник, Адам Михайлович
Методы и программно-аппаратные средства параллельных структурно-процедурных вычислений2004 год, доктор технических наук Левин, Илья Израилевич
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Арыков, Сергей Борисович
5.5. Выводы
В главе описаны результаты испытаний системы фрагментированного параллельного программирования Аспект. Анализ результатов позволяет сделать следующие выводы:
1. Характеристики исполнительной подсистемы, заложенные при её проектировании, подтверждаются результатами практических испытаний.
2. Даже на одном ядре фрагментированный подход к разработке программ позволяет добиться существенного увеличения производительности для широкого класса задач за счёт более эффективного использования кэшпамяти.
3. Фрагментированное программирование обеспечивает хорошую масштабируемость параллельной программы, повышение уровня разработки и переносимости программ.
4. К основным трудностям при разработке фрагментированных программ можно отнести высокую асинхронность управления (легко сделать ошибку) и проблемы обработки границ фрагментов.
5. На исследованных задачах система программирования Аспект достигает высокой эффективности.
Заключение
В диссертационной работе получены следующие результаты:
1. Выполнен аналитический обзор существующих инструментов параллельного программирования, на основе которого сформулированы требования к перспективной системе параллельного программирования. I
2. Предложена асинхронная модель вычислений с управлением на основе строгого частичного порядка, ориентированная на фрагментирован-ное представление численных алгоритмов. Доказано, что в ней можно определить любую частично рекурсивную функцию, если операции экземпляров А-блоков реализуют лишь простейшие вычислимые функции. Разработаны алгоритмы преобразования этой модели в асинхронную модель с управляющими операторами. I
3. Предложен язык параллельного программирования Аспект, позволяющий разрабатывать фр>агментированные программы. Аспект реализует идею разделения управления и вычислений, поддерживает развитые средства задания управления и не содержит технических деталей реализации параллельной программы, что позволяет накапливать с его помощью фонд переносимых фрагментированных алгоритмов.
4. На языке Аспект реализованы фрагментированные версии алгоритмов
• умножения матриц, Ы1 разложения, явной разностной схемы, оценки математических ожиданий аддитивных функционалов от траекторий диффузионных процессов, взаимодействия короткого лазерного импульса с плазмой, на которых продемонстрирована запись типовых схем управления.
5. Разработаны алгоритмы генерации управляющих операторов, поддерживающие многомерные массовые А-блоки, сложное и массовое управление языка Аспект. I
6. Разработана и реализована система программирования Аспект, основными компонентами которой являются:
• транслятор, обеспечивающий перевод программы с языка Аспект на С++;
• исполнительная подсистема, обеспечивающая поддержку времени выполнения.
7. Проведено тестирование системы Аспект на специальных, модельных и прикладных задачах, подтвердившее основные характеристики, залоI женные при её проектировании и показавшее высокую эффективность предложенных подходов на выбранном классе задач.
Список литературы диссертационного исследования кандидат физико-математических наук Арыков, Сергей Борисович, 2010 год
1. Аветисян А. И., Бабкова В. В., Калугин М. Д. Разработка приложений в среде ParJava // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики. 2008. № 54. С. 139-144.
2. Алексеев Е. Р., Чеснокова О. В., Рудченко Е. A. Scilab: Решение инженерных и математических задач. М.: ALT Linux; БИНОМ. Лаборатория знаний, 2008. 269 с.
3. Андрианов А. Н. Система Норма : Разработка, реализация и использоваIние для решения задач математической физики на параллельных ЭВМ: Докторская диссертация / ИПМ им. М. В. Келдыша. 2001.
4. Андрианов А. Н. Применение языка Норма для решения задач на вложенных сетках // Вычислительные методы и программирование. 2002. Т. 3. С. 1-10.
5. Андрианов А. Н., Ефимкин К. Н., Задыхайло И. Б. Непроцедурный язык для решения задач математической физики // Программирование. 1991. № 2. С. 80-94. !
6. Анисимов В. А. Система параллельного программирования «Иня» // Математическое и архитектурное обеспечение параллельных вычислений. Новосибирск: ВЦ СО АН СССР, 1989. С. 67-73.
7. Арыков С. Б. Некоторые подходы к разработке асинхронного языка программирования «Аспект» // Труды конференции молодых ученых. Новосибирск: ИВМиМГ СО РАН, 2005. С. 13-23.
8. Арыков С. Б. Язык программирования Аспект // Известия Томского политехнического университета. 2008. Т. 313, № 5. С. 89-92.
9. Арыков С. Б. Группировка данных в системе асинхронного параллельного программирования Аспект // Труды международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2009)». Челябинск: Изд. ЮУрГУ, 2009. С. 357-363.
10. Арыков С. Б. Асинхронное программирование численных задач // Труды международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2010)». Челябинск: Изд. ЮУрГУ, 2010. С. 28-39.
11. Арыков С. Б., Малышкин В. Э. Система асинхронного параллельногопрограммирования «Аспект» // Вычислительные методы и программирование. 2008. Т. 9, № 1. С. 205-209. '
12. Арыков С. Б., Малышкин В. Э. Система асинхронного параллельного программирования «Аспект» // Труды Международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2008)». Челябинск: Изд. ЮУрГУ, 2008. С. 290-295. '
13. Арыков С. Б., Малышкин В. Э. Алгоритмы конструирования асинхронных программ заданной степени непроцедурности методом группировки // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии.2009. Т. 7, № 1. С. 3-15.
14. Ахо А., Сети Р., Ульман Д. Компиляторы: принципы, технологии и инструменты. М.: Вильяме, 2003. 768 с. ISBN: 5-8459-0189-8.
15. Ачасова С. М., Бандман О. JI. Корректность параллельных вычислительных процессов. Новосибирск: Наука. Сиб. отд-ние, 1990. 253 е. ISBN: 5-02-029334-2.f
16. Басс Л., Клементе П., Кацман Р. Архитектура программного обеспечения на практике. 2-е изд. СПб.: Питер, 2005. 576 с. ISBN: 5-469-00494-5.
17. Бузин А. Ю. Введение в современный АПЛ. 2-е изд. М.: ВЦ РАН, 1998. 184 с. ISBN: 5-201-14724.
18. Бульонков M. A., Быстров A. В., Дудоров H. H., Котов В. E. Базовый язык параллельного программирования Барс // Программирование. 1986. № 6. С. 32-40.
19. Быстров А. В., Дудоров H. Н., Котов В. Е. О базовом языке // В кн. Языки и системы программирования. Новосибирск: ВЦ СО АН СССР, 1979. С. 85-106.
20. Вальковский В. А. Распараллеливание алгоритмов и программ. Структурный подход. М.: Радио и связь, 1989. 176 с.t
21. Вальковский В. А., Малышкин В. Э. Синтез параллельных программ и систем на вычислительных моделях. Новосибирск: Наука, 1988. 129 с.
22. Васенин В. А., Водомеров А. Н. Формальная модель системы автоматизированного распараллеливания программ // Программирование. 2007. № 4. С. 3-19.
23. Вирт Н. Долой «жирные» программы // Открытые системы. 1996. № 6. С. 26-31.
24. Воеводин В. В. Математические модели и методы в параллельных процессах. М.: Наука, 1986. 296 с.
25. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 608 с. ISBN: 5-94157-160-7.
26. Воробьёв H. Н. Числа Фибоначчи. Серия «Популярные лекции по математике». 4-е изд. М.: Наука, 1978. 144 с.
27. Востокин С. В. Графическая объектная модель параллельных процессов и ее применение в задачах численного моделирования. Самара: Издательство Самарского научного центра РАН, 2007. 286 с. ISBN: 978-5-93424-284-9.
28. Вшивков В. А., Вшивков К. В., Дудникова Г. И. Алгоритмы решения задачи взаимодействия лазерного импульса с плазмой // Вычислительные технологии. 2001. Т. 6, № 2. С. 47-63.
29. Вшивков В. А., Краева М. А., Малышкин В. Э. Параллельная реализация метода частиц//Программирование. 1997. №2. С. 39-51.
30. Гергель В. П. Теория и практика параллельных вычислений. Москва: Интернет-университет информационных технологий; Бином. Лаборатория знаний, 2007. 423 с. ISBN: 978-5-94774-645-7.
31. Григорьев Ю. Н., Вшивков В. А., Федорук М. П. Численное моделирование методами частиц-в-ячейках. Новосибирск: Издательство СО РАН, 2004. 360 с.
32. Ершов А. П. Введение в теоретическое программирование (беседы о методе). Серия «Популярные лекции по математике». М.: Наука, 1977. 288 с.
33. Касьянов В. Н., Бирюкова Ю. В., Евстигнеев В. А. Функциональный язык Sisal // В кн. Поддержка супервычислений и интернет-ориентированные технологии. Новосибирск: ИСИ СО РАН, 2001. С. 54-67.
34. Касьянов В. Н., Поттосин И. В. Методы построения трансляторов. Новосибирск: Наука, 1986. 344 с.t
35. Коварцев A. H. Автоматизация разработки и тестирования программных средств. Самара: Сам. гос. аэрокосм, ун-т., 1999. 150 с.
36. Коновалов Н. А., Крюков В. А., Сазанов Ю. JI. C-DVM — язык разработки мобильных параллельных программ // Программирование. 1999. № 1. С. 20-28.
37. Котов В. Е. О практической реализации асинхронных параллельных вычислений // В кн. Системное и теоретическое программирование. Новосибирск: ВЦ СО АН СССР, 1972. С. 110-125.
38. Котов В. Е. Параллельное программирование с типами управления // Кибернетика. 1979. № 3. С. 1-13.
39. Котов В. Е. Алгебра регулярных сетей Петри // Кибернетика. 1980. № 5. С. 10-18.
40. Котов В. Е., Марчук А. Г. Некоторые итоги и перспективы развития проекта МАРС // В кн. Актуальные проблемы развития архитектуры и программного обеспечения ЭВМ и вычислительных систем. Новосибирск: ВЦ СО АН СССР, 1983. С. 13-23.
41. Котов В. Е., Нариньяни А. С. Асинхронные вычислительные процессы над памятью // Кибернетика. 1966. № 3. С. 64-71.
42. Краева М. А., Малышкин В. Э. Алгоритмы динамической балансировки загрузки при реализации метода частиц в ячейках на МИМД-мультиком-пьютерах // Программирование. 1999. № 1. С. 47-53.
43. Кутепов В. П., Котляров Д. В., Осипов М. А. Граф-схемное потоковое параллельное программирование и его реализация на кластерных системах // Известия РАН, Теория и системы управления. 2005. № 1. С. 75-96.
44. Легалов А. И. Функциональный язык для создания архитектурно-независимых параллельных программ // Вычислительные технологии. 2005. Т. 10, № 1. С. 71-89.
45. Лельчук Т. И. Языковая реализация параллельной асинхронной моделивычислений // Кибернетика. 1984. № 5. С. 32-37.t
46. Лельчук Т. И., Марчук А. Г. ПОЛЯР — язык параллельного асинхронного программирования // Программирование. 1983. №4. С. 59-68.
47. Лельчук Т. И., Марчук А. Г. Язык программирования Поляр: описание, использование, реализация, Под ред. В. Б. Котова. Новосибирск: ВЦ СО АН СССР, 1986. 94 с. 1
48. Малышкин В. Э. ОПАЛ язык описания параллельных алгоритмов // В кн. Теоретические вопросы параллельного программирования и многопроцессорные ЭВМ. Новосибирск: ВЦ СО АН СССР, 1983. С. 91-109.
49. Малышкин В. Э., Корнеев В. Д. Параллельное программирование' мультикомпьютеров. Новосибирск: Изд-во НГТУ, 2006. 296 с. ISBN: 5-7782-0702-6.
50. Малышкин В. Э., Цыгулин A. A. ParaGen — генератор параллельных программ, реализующих численные модели // Автометрия. 2003. Т. 39, № 3. С. 124-135.
51. Мальцев А. И. Алгоритмы и рекурсивные функции. 2-е изд. М.: Наука, 1986. 368 с.
52. Марченко М. А. Комплекс программ MONC для распределенных вычисIлений методом Монте-Карло // Сиб. журн. вычисл. математики. 2004. Т. 7, № 1. С. 43-55.
53. Марченко М. А., Михайлов Гг А. Весовые алгоритмы статистического моделирования диффузионных процессов // Журн. вычисл. матем. и мат. физики. 2003. Т. 43, № 4. С. 571-584.
54. Мейерс С. Эффективное использование STL. Библиотека программиста. СПб.: Питер, 2002. 224 с. ISBN: 5-94723-382-7.
55. Мейерс С. Эффективное использование С++. 50 рекомендаций по улучшению ваших программ и проектов. М.: ДМК Пресс, 2006. 240 с. ISBN: 5-469-01213-1.I
56. Минц Г. Е., Тыугу Э. X. Обоснование структурного синтеза программ // Автоматический синтез программ. Таллин: Ин-т кибернетики АН ЭстССР, 1983. С. 5-40.
57. Михайлов Г. А., Войтишек А. В. Численное статистическое моделирование. Методы Монте-Карло. М.: Издательский центр «Академия», 2006. 368 с. ,
58. Непейвода Н. Н., Скопин И. Н. Основания программирования. Москва-Ижевск: Институт компьютерных исследований, 2003. 913 с.1.BN: 5-93972-299-7.i
59. Пешио К. Никлаус Вирт о культуре разработки ПО // Открытые системы. 1998. № 1. С. 41-44.I
60. Серебряков В. А. Лекции по конструированию компиляторов. М.: ВЦ РАН, 1994. 175 с.
61. Скопин И. Н. Множественное структурирование данных // Программирование. 2006. Ш 1. С. 57-72.
62. Страуструп Б. Дизайн и эволюция С++. СПб.: Питер, 2006. 448 с. ISBN: 5-469-01217-4.
63. Торгашёв В. А., Царёв И. В. Средства организации параллельных вычислений и программирования в мультипроцессорах с динамической архитектурой И Программирование. 2001. №4. С. 53-67.
64. Фаддеев Д. К., Фаддеева В. Н. Вычислительные методы линейной алгебры. 2-е изд. М.: Наука; 1963. 656 с.
65. Фаулер М., Скотт К. UML. Основы. СПб.: Символ-Плюс, 2002. 192 с. ISBN: 5-93286-032-4.
66. Хантер Р. Основные концепции компиляторов. М.: Вильяме, 2002. 256 с. ISBN: 5-8459-0360-2.
67. Хоар Ч. Взаимодействующие последовательные процессы. М.: Мир, 1989. 264 с. ISBN: 5-03-001043-2.
68. Accelerated Library Framework Programmer's Guide and API Reference. URL:http://public.dhe.ibm.com/software/dw/cell/ALFProg GuideAPIv3.1 .pdf (дата обращение: 21.09.2010).
69. Agha G. Actors: A Model of Concurrent Computation In Distributed Systems:
70. Tech. Rep. Technical Report 844, MIT Artificial Intelligence Laboratory: 1985.i
71. Anderson E., Bai Z., Bischof C. et al. LAPACK User's Guide. 3d edition. Philadelphia: SIAM, 1999. 425 pp. ISBN: 0-89871-447-8.
72. Backus J. W., Bauer F. L., Green J. et al. Revised report on the algorithm language ALGOL 60 // Communications of the ACM. 1963. Vol. 6, no. 1. Pp. 1-17.
73. Beguelin A., Dongarra J. J. Graphical development tools for network-basedconcurrent supercomputing // Proceedings of the 1991 ACM/IEEE conferience on Supercomputing (Supercomputing'1991). New York: ACM, 1991. Pp. 435-444.
74. Blume W., Doallo R., Eigenmann R. et al. Parallel Programming with Polaris // Computer. 1996. Vol. 29, no. 12. Pp. 78-82.
75. Buttari A., Langou Ji, Kurzak J., Dongarra J. A class of parallel tiled linear algebra algorithms for multicore architectures // Parallel Computing. 2009. Vol. 35,' no. 1. Pp. 38-53.
76. Chamberlain B. L., Callahan D., Zima H. P. Parallel Programmability andIthe Chapel Language // International Journal of High Performance Computing Applications. 2007. Vol. 21, no. 3. Pp. 291-312.
77. CHARM++ Programming Language Manual. URL: http://charm.cs. uiuc.edu/manuals/html/charm++/ (дата обращения: 15.07.2010).
78. Choi J., Demmel J., Dhillon I. et al. ScaLAPACK: A portable linear algebra library for distributed memory computers — design issues and performance // Computer Physics Communications. 1996. Vol. 97, no. 1-2. P. 1-15.
79. Cierniak M., Li W. Unifying Data and Control Transformations for Distributed Shared-Memory Machines // Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation (PLDI'1995). New York: ACM, 1995. Pp. 205-217.
80. Clint W. C., Petitet A., Dongarra J. Automated Empirical Optimization of Software and the "ATLAS'Troject // Parallel Computing. 2001. Vol. 27, no. 1-2. Pp. 3-35.
81. Cooperman G. TOP-C: Task-oriented parallel С for distributed and sharedimemory // Workshop on wide area networks and high performance computing. Berlin: Springer-Verlag, 1999. Pp. 109-117.i
82. Feautrier P. Parametric Integer Programming // RAIRO Recherche Op'erationnelle. 1988. Vol. 22. Pp. 243-268.
83. The Fortress Language Specification, Version 1.0. URL: http://labs. oracle.com/projects/plrg/Publications/fortress.1.0.pdf(дата обращения: 27.08.2010).
84. Forum H. P. F. High Performance Fortran Language Specification, version 1.0: Tech. Rep. CRPC-TR92225, Rice University: 1993.
85. Genetic ALgorithm Optimized for Portability and Parallelism System. URL: http://garage.cse.msu.edu/software/galopps/ (дата обращения: 17.08.2010).
86. GNU General Public License. URL: http: //www.gnu. org/licenses/gpl. html (дата обращения: 18.08.2010).i
87. Gustavson F. G. New Generalized Matrix Data Structures Lead to a Variety of High-Performance Algorithms // Proceedings of the IFIP TC2/WG2.5 Working Conference on the Architecture of Scientific Software. Deventer: Kluwer, B.V., 2001. Pp. 211-234. i
88. Hall M. W., Anderson J. M., Amarasinghe S. P. et al. Maximizing Multiprocessor Performance with the SUIF Compiler // Computer. 1996. Vol. 29, no. 12. Pp. 84-89.
89. Hoare C. A. Monitors: an operating system structuring concept // Communications of the ACM. 1974. Vol. 17, no. 10. Pp. 549-557.
90. IEEE Std 1003.1, 2004 Edition. URL: http://www.opengroup. org/onlinepubs/009695399/basedefs/pthread.h.html (дата обращения: 30.08.2010).
91. Intel® Cilk Plus. URL: http://www.cilk.com/ (дата обращения: 12.09.2010).
92. Intel® Hyper-Threading Technology (Intel® HT Technology). URL: http:Iwww. intel. com/inf о/hyperthreading/ (дата обращения: 30.08.2010).
93. Intel® Math Kernel Library Reference Manual. URL: http: //software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/win/mkl/ref тал/index, htm (дата обращения: 17.08.2010).
94. Kale L. V., Krishnan S. CHARM++: A Portable Concurrent Object Oriented System Based On С++ // SIGPLAN Notes. 1993. Vol. 28, no. 10. Pp. 91-108.
95. Kasyanov V. N., Evstigneev V. A. The PROGRESS program manipulation system // Proceedings of the 2nd International Conference on Parallel Computing Technologies (PaCT'1993). Vol. 3. 1993. Pp. 651-656.
96. Kraeva M. A., Malyshkin V. E. Assembly technology for parallel realization of numerical models on MIMD-multicomputers // Future generation computer systems. 2001. Vol. 17, no. 6.! Pp. 755-765.
97. Lamport L. The parallel execution of DO loops // Communications of the ACM. 1973. Vol. 17, no. 2. Pp. 83-93.i
98. Lastovetsky A. Adaptive parallel computing on heterogeneous networks withmpC // Parallel Computing. 2002. Vol. 28, no. 10. Pp. 1369-1407.i
99. Lindsley R. Kernel korner: What's new in the 2.6 Scheduler // Linux Journal. 2004. no. 119. P. 13.
100. Mascagni M., Srinivasan A. Algorithm 806: SPRNG: A Scalable Library for Pseudorandom Number Generation // ACM Transactions on Mathematical Software. 2000. Vol. 26, no. 3. Pp. 436-461.
101. McCool M., Bruce A. Programming using RapidMind on the Cell BE // Proceedings of the 2006 ACM/IEEE conference on Supercomputing (SC'2006).
102. New York: ACM, 2006. P. 222.I
103. Moskovsky A., Roganov V., Abramov S. Parallelism granules aggregation with the T-system // Proceedings of the 9th International Conference on Parallel Computing Technologies (PaCT'2007). LNCS 4671. Berlin: Springer-Verlag, 2007. Pp. 293-302.
104. Moskovsky A., Roganov V., Abramov S., Kuznetsov A. Variable Reassignment in the T++ Parallel Programming Language // Proceedings of the 9th International Conference on Parallel Computing Technologies (PaCT'2007).
105. CS 4671. Berlin: Springer-Verlag, 2007. P. 579-588.i
106. MPI: A Message-Passing Interface Standard. URL: http://www.mcs. anl.gov/research/projects/mpi/mpi-standard/mpi--report-l. 1/1 Impi-report .htm (дата обращения: 18.08.2010).
107. Newton P., Browne J. C. The CODE 2.0 Graphical Parallel Programming Language // Proc. of the Sixth ACM International Conference on Supercomputing. New York: ACM, 1992. Pp. 167-177.
108. OpenMP specifications. URL: http://openmp.org/wp/ openmp-specifications/ (дата обращения: 18.08.2010).
109. Park N., Hong В., Prasanna V. K. Analysis of Memory Hierarchy Performance of Block Data Layout // Proceedings of the 2002 International Conference on Parallel Processing (ICPP'2002). Washington: IEEE Computer Society, 2002. P. 35.
110. PLASjMA. URL: http://icl.cs.ntk.edu/plasma/ (дата обращения: 31.08.2010).
111. POSIX Threads for Win32. URL: http://sourceware.org/ pthreads-win32/ (дата обращения: 30.08.2010).
112. Reinders J. Intel Threading Building Blocks. Sebastopol: O'Reilly Media, 2007. 336 pp. ISBN: 0-596-51480-8.
113. Roy P., Haridi S. Concepts, Techniques, and Models of Computer Programming. Cambridge: MIT Press, 2004. 900 pp. ISBN: 0-262-22069-5.
114. Schloegel K., Karypis G., Kumar V. Parallel static and dynamic multi-constraint graph partitioning // Concurrency and Computation: Practice and Experience. 2002. Vol. 14,' no. 3. Pp. 219-240.
115. SMP superscalar. URL: http://www.bsc.es/plantillaG.php?catid= 385 (дата обращения: 27.08.2010).
116. Task Parallel Library. URL: http://msdn.microsoft.com/en-us/ library/dd460717. aspx (дата обращения: 27.08.2010).
117. Voevodin V. V., Voevodin V. V. V-Ray Technology: a New Approach to the Old Problems. Optimization of the TRFD Perfect Club Benchmark to CRAY Y-MP and CRAY T3D Supercomputers // Proc. of the High Performance Computing Symposium'95. 1995. Pp. 380-385.
118. Yip E. L. FORTRAN Subroutines for Out-of-Core Solutions of Large Complex Linear Systems: Tech. Rep. CR-159142, NASA: November 1979.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.