Метод и алгоритмы автоматической генерации параллельных программ, реализующих численные методы на регулярных сетках тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Цыгулин, Алексей Александрович

  • Цыгулин, Алексей Александрович
  • кандидат технических науккандидат технических наук
  • 2004, Новосибирск
  • Специальность ВАК РФ05.13.11
  • Количество страниц 162
Цыгулин, Алексей Александрович. Метод и алгоритмы автоматической генерации параллельных программ, реализующих численные методы на регулярных сетках: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Новосибирск. 2004. 162 с.

Оглавление диссертации кандидат технических наук Цыгулин, Алексей Александрович

Введение.

Глава 1. Обзор методов автоматизации параллельного программирования.

Введение.

1.1. Универсальные параллельные языки высокого уровня.

1.1.1. Языки, использующие параллелизм по данным.

1.1.2. Языки, использующие параллелизм по управлению.

1.1.3. Языки, использующие передачу сообщений.

1.2. Использование библиотек.

1.2.1. Библиотеки унификации доступа.

1.2.2. Высокоуровневые библиотеки.

1.3. Функциональное программирование.

1.4. Алгоритмические шаблоны.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Метод и алгоритмы автоматической генерации параллельных программ, реализующих численные методы на регулярных сетках»

2.1. Адаптивный многосеточный метод и особенности его параллельной реализации.36

2.1.1. Математическая модель и ее дискретизация.36

2.1.2. Проблемы создания параллельной программы.43

2.1.3. Параллельная реализация.44

2.2. Метод частиц в ячейках и особенности его параллельной реализации. 47

2.2.1. Математическая модель и ее дискретизация.48

2.2.2. Проблемы создания параллельной программы.59

2.3. Обобщенная схема программы численного моделирования.61

2.3.1. Пространство моделирования.62

2.3.2. Процесс моделирования.63

2.3.3. Идея распараллеливания.64

2.3.4. Параметризация.65

2.4. Принципы сборочной технологии параллельного программирования . 65

2.4.1. Двухуровневая система программирования.66

2.4.2. Динамическая балансировка загрузки.67

2.4.3. Требования к представлению массовых алгоритмов для их параллельной реализации.67

Заключение.68

Глава 3. Задача конструирования программы реализующей численный метод.

69

Введение.69

3.1. Идея генератора.70

3.1.1. Выбор параметров.72

3.1.2. Параметризация.73

3.2. Язык периода генерации.73

3.2.1. Структура программы. 76

3.2.2. Структура данных.77

3.2.3. Операторы.82

3.2.4. Макроопределения.86

3.3. Язык описания модели.88

3.3.1. Описание вычислительной системы.92

3.3.2. Описание пространства моделирования.94

3.3.3. Описание вычислительного алгоритма.97

3.3.4. Операторы.98

3.3.5. Сервисные функции.100

Заключение.102

Глава 4. Генератор ParaGen и конструирование двух программ численного моделирования.103

Введение.103

4.1. Адаптивный Многосеточный метод.103

4.1.1. Скелетон.104

4.1.2. Пространство моделирования.104

4.1.3. Алгоритм.107

4.1.4. Задание начальных условий, значения по умолчанию.109

4.1.5. Вывод данных.113

4.1.6. Поддержка динамической балансировки загрузки.116

4.1.7. Оценка эффективности.118

4.2. Метод частиц в ячейках.120

4.2.1. Скелетон.120

4.2.2. Пространство моделирования.120

4.2.3. Алгоритм.124

4.2.4. Вычислительная система.127

4.2.5. Оценка эффективности.127

4.3. ParaGen.128

4.3.1. Использование генератора. 129

4.3.2. Обработка ошибок.129

4.3.3. Алгоритм работы генератора.130

4.4. Интерактивная система визуализации процесса моделирования.132

4.5. Динамическая балансировка загрузки процессорных элементов.132

Заключение.135

Заключение.136

Список литературы.137

Приложение 1.147

П 1.1. Сложные циклы и доступ к адаптивной сетке.147

П 1.2. Пример файла начальных значений.155

П 1.3. Описание класса TreeDocNode.158

Приложение 2.160

Основные термины и сокращения по

Поток

ПМ

PIC метод SIMD

MLMD

AM метод

СТ

ПЭ программное обеспечение по-английски "thread") легковесный процесс, имеющий с другими потоками общие ресурсы, включая общую оперативную память пространство моделирования метод частиц в ячейках (по-английски Particle in cell) по-английски Single Instruction - Multiple Data) один поток команд — много потоков данных - команды выдаются одним управляющим процессором, авы-полняются на всех обрабатывающих процессорах над локальными данными этих процессоров по-английски Multiple Instruction - Multiple Data) много потоков команд - много потоков данных - совокупность компьютеров, работающих по своим программам и со своими исходными данными адаптивный многосеточный метод (по-английски Adaptive Multiresolution) сборочная технология процессорный элемент

Мультикомпьютер многопроцессорная ЭВМ с разделяемой памятью Мультипроцессор многопроцессорная ЭВМ с распределенной памятью Исходная последо- последовательная программа моделирования, демонвательная про- стрирующая работоспособность численной модели грамма (необходима в силу того, что одновременная отладка модели и параллельной программы ее реализующей сильно затруднена)

Исходная парал- параллельная программа численного моделирования, лельная программа реализующая численную модель и предназначенная для дальнейшей параметризации (программа написана на процедурном языке, например С++)

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

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

Введение

Диссертационная работа посвящена решению задачи автоматизации создания параллельных программ, реализующих численные модели большого размера, для их выполнения на MIMD мультикомпьютерах. Предлагаемые алгоритмы распараллеливания Адаптивного Многосеточного метода и метода Час-тиц-в-Ячейках основаны на использовании сборочной технологии программирования.

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

Такие задачи обычно характеризуются большим объемом данных и вычислений, что требует использования именно параллельных суперкомпьютеров. Однако исследователю, занимающемуся физическим или вычислительным аспектом задачи, далеко не просто написать эффективную параллельную программу моделирования физического явления с использованием общепринятых систем программирования.

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

Цель работы. Создание технологии параллельного программирования и построение программной системы для решения широкого круга задач численного моделирования на прямоугольных сетках, используя сборочную технологию (СТ) и элементы синтеза программ.

Существует большое количество различных подходов к автоматизации параллельного программирования высокого уровня, которые ранжируются от процедурных языков параллельного программирования до автоматического синтеза параллельных программ и от вспомогательных библиотек до введения явных параллельных операторов и типов данных в язык программирования. Разрабатываемый генератор ParaGen занимает в этом списке некоторое промежуточное положение: в нем есть и элементы синтеза программ, и языковые средства программирования. Разработка базируется на простой прагматической идее многократного использования хорошей, профессионально разработанной программы. Эта идея в общем случае не очень продуктивна, но численные модели, будучи очень разными содержательно, часто бывают очень схожими по управляющей структуре и структурам данных реализующих их программ. По этой причине прикладная программа численного моделирования, после сравнительно небольших, специально спланированных, модификаций может быть применена для решения содержательно совсем не похожей задачи.

Эта идея и эксплуатируется генератором.

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

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

В ходе работы над диссертацией были проанализированы имеющиеся инструменты и подходы к решению проблемы автоматизации параллельного программирования. Было показано, что, используя современное системное программное обеспечение, сложно программировать реальные большие задачи моделирования. Языки низкого уровня (типа "С++М+МР1) позволяют создавать хорошие параллельные программы, однако создание и поддержка таких программ является весьма трудоемкой задачей, и требуют высокой квалификации программистов. Конструирование параллельных программ по описанию на языках высокого уровня либо на языках спецификации приводит к неприемлемо низкой эффективности программ. В результате анализа существующих подходов был выбран метод конструирования параллельных программ по проблемно-ориентированным параметризованным шаблонам, сочетающий в себе элементы синтеза программ и процедурные средства описания алгоритма. Для обеспечения параметризации, описания параметров и генерации результирующей программы был разработан язык периода генерации (язык параметризации) и семейство языков описания модели. Для апробации идеи, метода и алгоритмов генерации были разработаны генератор ParaGen и два скелетона для решения задач горения и газодинамики и для решения задач моделирования природных явлений в физике бесстолкновительной плазмы методом частиц-в-ячейках (далее метод частиц). Были проведены численные эксперименты для определения эффективности генерируемых программ.

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

Практическая ценность. Результаты данной работы внедрены в ИВМиМГ СО РАН. Также результаты работы были использованы при разработке параллельной программы моделирования химико-физических процессов в Институте химических технологий университета Карлсруэ (Германия). Разработанная под руководством автора техника генерации по шаблону может быть использована во многих областях, где для решения больших задач требуется численное моделирование. Данный подход позволяет в короткие сроки создавать параллельную программу моделирования и оперативно реконструировать ее при изменении модели или ее параметров. Кроме того, использование иерархической структуры данных и настраиваемость синтаксиса входного языка генератора позволяют описывать алгоритмическую часть модели в традиционной для предметной области нотации или близко к ней.

Апробация работы. Основные результаты диссертационной работы опубликованы в [76, 90, 92]. Результаты докладывались: на "Конференции молодых ученых-2001", Новосибирск, 2001; на "Конференции молодых ученых-2003", Новосибирск, 2003; на ряде студенческих конференций НГТУ; на научных семинарах отдела МО ВВС Института Вычислительной Математики и Математической Геофизики (бывшего Вычислительного Центра) СО РАН. По теме диссертации автором были прочитаны доклады во время научных командировок в Университет Карлсруэ (Германия).

Гранты. Работа по теме диссертации проводилась в соответствии с планами исследований по проекту, поддержанному грантом РФФИ (проект № 0201-00864), интеграционному гранту СО РАН 148-2003, а также в рамках международного проекта: French - German - Russian Trilateral Project "Complex Hydrodynamics, Modeling and Process Control".

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

Публикации. По теме диссертации опубликовано 3 работы.

На защиту выносится метод и алгоритмы конструирования параллельных программ по шаблону на основе декларативного описания пространства моделирования и алгоритма вычислений, метаязык PGML периода генерации для параметризации и описания языка определения параметров, а также семейство языков описания численных моделей для задач реализации PIC (Particle-In-Cell) и AM (Adaptive Multiresolution) методов разработанных соискателем.

Структура и объём работы. Диссертационная работа изложена на '162. странице и состоит их введения, четырех глав, заключения и двух приложений. Иллюстративный материал включает 15 рисунков. Список литературы состоит из 93 наименований.

Содержание работы

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

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

Во второй главе дана характеристика и основные особенности параллельной реализации численных моделей на примере AM и PIC методов. Выявлены основные структуры данных и вычислений параллельных программ моделирования, реализующих эти методы. На базе анализа сформулирована идея автоматизации создания таких программ методом генерации по шаблону.

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

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

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

В четвертой главе описывается создание скелетонов параллельных программ для AM и PIC метода, а так же описывается реализация генератора ParaGen.

Реализация и использование генератора ParaGen продемонстрирована на примере разработки скелетонов для метода частиц и многосеточного метода и включения соответствующих скелетонов в ParaGen.

В заключении сформулированы основные результаты работы.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Цыгулин, Алексей Александрович

Заключение

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

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

2. предложен метод конструирования параллельных программ по шаблону на основе декларативного описания алгоритма и пространства моделирования;

3. разработан метаязык PGML периода генерации для параметризации и описания языка определения параметров численной модели;

4. разработано семейство языков описания численных моделей для задач реализации PIC и AM методов;

5. разработан и реализован генератор параллельных программ (интерпретатор макроязыка PGML);

6. разработаны и реализованы Скелетоны и программы моделирования на их основе, реализующие PIC метод и AM метод;

7. с помощью генератора разработана параллельная программа, для решения задач реакции-диффузии AM методом;

8. с помощью генератора разработана параллельная программа, для решения задачи взаимодействия лазерного импульса с плазмой и проведены эксперименты для изучения эффективности сгенерированных программ.

Разработанная система программирования позволяет широко использовать хорошие написанные вручную программы для численного моделирования различных физических экспериментов.

Список литературы диссертационного исследования кандидат технических наук Цыгулин, Алексей Александрович, 2004 год

1. Abramov S., Adamovitch A. and Kovalenko M. T-system: programming environment providing automatic dynamic parallelizing on IP-network of Unix-computers // Report on 4-th International Russian-Indian seminar and exibition, Sept. 15-25 1997. - Moscow.

2. Alberga C, Bosman-Clark C., Mikelsons M. and others Experience with an uncommon Lisp // In Proc. 1986 ACM Conference on Lisp and Functional Programming. Cambridge, Massachusetts. 1986. - P. 39-53.

3. Alpatov P., Backer G., .Edwards H, Gunnels J. and others PLAPACK: Parallel linear algebra libraries design overview // In Proc. of the 1997 ACM/IEEE SC '97 Conference on High Perfomance Networking and Computing. ACM Press. -1997.

4. Anderson D. V., Shumaker D. E. Hybrid Ordered Particle Simulation (HOPS) Code for Plasma Modelling on Vector-Serial, Vector-Parallel, and Massively Parallel Computers // Computer Physics Communications. 1995. - Vol. 87, N1-2.-P. 16-34.

5. Automatically Tuned Linear Algebra Software (ATLAS). SourceForge Summary Page http://math-atlas.sourceforge.net/.

6. Arvind, Nikhil R. Executing a program on the MIT tagged-token dataflow architecture // In Proc. of the Conference on Parallel Architectures and Languges Europe, volume LNCS 259, Eindhoven, The Netherlands, Springer-Verlag. 1987. - P. 1-29.

7. Adamidis P., Bonisch T. Domain Decomposition Parallelization of Mesh Based Applications http://www.hlrs.de/organization/par/parprogws/online/Domain Decomposition/index.htm.

8. Backus J. Can Programming be Liberated from the Von Neumann Style? // Communication of the ACM. 1978. - 21(8) - P. 287-307.

9. Balay S., Buschelman K., Eijkhout V. Portable, Extensible Toolkit for Scientific Computation http://www-unix.mcs.anl.gov/petsc/petsc-2/.

10. Blumofe R.D., Joerg C.F., Kuszmaul B.C. and others An Efficient Multithreaded Runtime System // In 5th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP '95). Santa Barbara, California. 1995. - P. 207-216.

11. Bobrow D., DiMichiel L., Gabriel R. and others iCommon Lisp Object System specification: 1. Programmer interface concepts // Lisp and Symbolic Computation. 1989. - 1 3/4. - P. 245-298.

12. Brewer E. Portable High-Perfomance Supercomputing: High-Level Platform-Dependent Optimization. Ph.D. thesis, Departament of Electrical Engineering and Computer Science, MIT, 1994.

13. Brooks, Rodney A., and Gabriel, Richard P. A critique of Common Lisp. // In Proc. 1984 ACM Symposium on Lisp and Functional Programming. ACM SIGPLAN/SIGACT/SIGART, Austin, Texas, August. 1984. - 1-8.

14. Burn G. The evaluation transformer model of reduction and its correctness // In TAPSOFT'91, New York. Springer-Verlag. 1991. - P. 458-482.

15. Campbell P.M., Carmona E.A., Walker D.W. Hierarchical domain decomposition with unitary load balancing for electromagnetic particle-in-cell codes // IEEE Computer Society. 1990. - P. 941-950.

16. Capello F., Etiemble D. MPI versus MPI+OpenMP on the IBM SP for the NAS Benchmarks // In Proceedings of Supercomputing '2000 2000.

17. Caretti E., Messina A. Dynamic Work Distribution for PM Algorithm 2000. http ://xxx.lanl.gov/astro-ph/0005512.

18. Chandra R., Menon R., Dagum L. and others Parallel Programming in OpenMP ISBN: 1-55860-671-8 Morgan Kaufmann. 2000. - p. 231.

19. Chapman В., Mehrotra P., Zima H. Extending HPF for advanced data-parallel applications. // IEEE Parallel and Distributed Technology. 1994. - #2(3). - P. 15-27.

20. Cohen A. Wavelet methods in numerical analysis // Hand-book of Numerical Analysis. 2000. - Vol 7.

21. Cohen B.I., Barnes D.C., Dawson J.M. and others The Numerical Tokamak Project: Simulation of turbulent Transport // Computer Physics Communications. 1995. - Vol. 87, N1-2. - P. 1-15.

22. Cook A., Ireland A., Michaelson G., Higher order function synthesis through proof planning // Proc. of 16th Annual International Conference on Automated Software Engineering (ASE 2001), San Diego, USA, IEEE Computer Society. -2001.-P. 307-310

23. Corradi A., Leonardi L., Zambonelli F. Diffusive Algorithm for Dynamic Load Balancing in Massively Parallel Architectures // DEIS Technical Report N DEIS-LIA-96-001, University of Bologna 1996.

24. Corradi A., Leonardi L., Zambonelli F. Performance Comparison of Load Balancing Policies based on a Diffusion Scheme // Proc. of the Euro-Par'97 LNCS Vol. 1300. P. 882-886.

25. Dahmen W. Wavelet and multiscale methods for operator equations. // Acta Numerica.'- 1997. #6. - P. 55-228.

26. Darlington J., Ghanem M. To H.W. Structured Parallel Programming // In Proc. of Massively Parallel Programming Models Conference, Berlin. IEEE Computer Society Press. 1993. - P. 160-169.

27. Darlington J., To H.W. Building Parallel Application without Programming // In Second Workshop on Abstract Machine Models for Highly Parallel Computers, Leeds. 1993. - P. 140-154.

28. Decker Т., Fischer M., Luling R., Tschoke S. A Distributed Load Balancing Algorithm'for Heterogeneous Parallel Computing Systems // Proc. of the 19981.t. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA'98). -1998.

29. Decyk V.K. Sceleton PIC Codes for Parallel Computers // Computer Physics Communications. 1995. - Vol. 87, N1-2. - P. 87-94.

30. Decyk V.K., Norton C.D., Szymanski B.K. Experiences with Object Oriented Parallel Plasma PIC Simulations // JPL Technical Report 95-1349, Rio de Janeiro, Brazil. -1995.

31. Diekmann R., Monien В., Preis R. Load Balancing Strategies for Distributed Memory Machines // Multi-Scale Phenomena and Their Simulation, World Scientific. 1997. - P. 255-266.

32. DiMichiel L. G. Overview: The Common Lisp Object System. // Lisp and Symbolic Computation. 1989. - 1, 3/4. - P. 227-244.

33. Diwan S., Gannon D. Adpative Resource Utilization and Remote Access Capabilities in High-Performance Distributed Systems: The Open HPC++ Approach // Journal of Cluster Computing. 1999.

34. Dongarra J. BLACS http://www.netlib.org/blacs/.

35. Dongarra J., Walker D., and others. ScaLAPACK Users' Guide. Philadelphia: Society for Industrial and Applied Mathematics. 1997.

36. Dudnikova G.I., Orishich A.M. et al. Laboratory and computer simulations on wave generations processes in nonstationary astrophysical phenomena // Proc. Workshop "Astrophys." 1990. -ESA SP-311. - P. 191-194.

37. Ehold H. J., Gansterer W. N., Ueberhuber C. W. HPF State of the Art Aurora Reports. - 1998.

38. Frehlich J., Schneider K. An adaptive wavelet-vaguelette algorithm for the solution of PDEs. // J. Comput. Phys. 1997. - #130 - P. 174-190.

39. Gamma E., Helm R., Johnson R., Vlissides J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company. Goswami, D. Parallel Arc 2000.

40. Geist et al A. PVM: parallel virtual machine: a users' guide and tutorial for networked parallel computing. MIT 1994.

41. Goldberg B.F. Multiprocessor execution of functional programs // Intl. J. of Parallel Programming. 1988.-17(5). - P. 425-473.

42. Hammond K., Michaelson G. Research direction in Parallel Functional Programming. Springer-Verlag. 1999.

43. Harten A. Multiresolution algorithms for the numerical solution of hyperbolic conservation laws // Comm. Pure Appl. Math. 1995. - vol 48, P. 1304-1342.

44. Hayder M. E., Keyes D. E., Mehrotra P. A Comparison of the PETSc Library and HPF Implementations of an Archetypal PDE Computation // Advances in Engineering Software. 1998. - vol 29. - P. 415-424.

45. Heirich A. A Scalable Diffusion Algorithm for Dynamic Mapping and Load Balancing on Networks of Arbitrary Topology // Int. J. of Foundations of Computer Science, (Special Issue on Interconnection Networks). 1997. - Vol. 7, no. 3.-P. 329.

46. High Performance Fortran Forum. High Performance Fortran Language Specification. Version 1.0. 1993.

47. High Performance Fortran Forum. High Performance Fortran Language Specification. Version 2.0. 1997.

48. Hoare C. Communicating sequential processes. // In B. Shaw, editor, Digital Systems Design. Proceedings of the Joint IBM University of Newcastle upon Tyne Seminar, 6-9 September 1977, Newcastle University. 1978. - P. 145-56.

49. Носкпёу R.W., Eastwood J.W. Computer Simulation Using Particles. McGraw-Hill Inc. 1981.

50. Hughes R.J.M. The design and Implementation of Programming Languages. PhD thesis, University of Oxford, 1984.

51. Jeschke E. R. An Architecture for Parallel Symbolic Processing Based on Suspending Construction Ph.D. thesis, Indiana University, Computer Science Department. 1995. Доступна как Indiana University Computer Science Department Technical Report TR 445.

52. Junaido S. B. A Parallel Functional Languages Compiler for Message-Passing Multicomputers. PhD thesis, Scool of Mathematical and Computational Sciences, University of St Andrews. 1998.

53. Keene S.E. Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS. Addison-Wesley Reading, Massachusetts. 1989.

54. Kraeva M.A., Malyshkin V.E. Implementation of PIC Method on MIMD Multicomputers with Assembly Technology. // In Proceed, of HPCN Europe 1997, LNCS, Springer Verlag, 1997. Vol.1255. - P. 541-549.

55. Kraeva M., Malyshkin V. Assembly Technology for Parallel Realization of Numerical Models on MIMD-multicomputers // Future Generation Computer Systems, Elsevier Science. 2001. - Vol 17. - P. 755-765.

56. Lastovetsky A. mpC a Multi-Paradigm Programming Language for Massively Parallei Com-puters, ACM SIGPLAN Notices. - 1996. - 31(2). - P. 13-20.

57. Lubeck О., Faber V. Modeling the Performance of Hypercubes: A Case Study Using the Particle-In-Cell Application // Parallel Computing. 1988/89. - N 9. . -P. 37-52.

58. Luling R., Monien B. A Dynamic Distributed Load Balancing Algorithm with Provable Good Performance // Proc. of the 5th ACM Symposium on Parallel Algorithms and Architectures (SPAA'93). 1993. - P. 164-173.

59. Malyshkin V.E. Concepts and Features of Processes Flying Technology // Proc. of The First IEEE Intern. Simposium on Object-Oriented Real Time Distributed Computing. Kioto, April 20-22, Japan. 1998. - P. 481 -484.

60. Malyshkin V.E. Parallel Computing Technologies: Possibilities and Limitations // In Proc. of the Int. Conference on Emerging Technologies and New Challenges in Information Society. Aizu, Japan. 2000. - P.il-i7.

61. Margery D., VallyG. e, Lottiaux R., Morin C., Berthou J. a SSI Cluster OS Running OpenMP. // In Proc. 5th European Work-shop on OpenMP (EWOMP *03).-2003.

62. May D.C. EPL: An Experimental Language for Distributed Computing // in Trends and Applications 1978: Distributed Processing, NBS 1978 - P.69-71

63. Message-Passing Interface Forum, Document for a Standard Message-Passing Interface, 1993. Version 1.0. http://www.unix.mcs.anl.gov/mpi/.

64. Message-Passing Interface Forum, MPI-2: Extensions to the Message-Passing Interface, 1997. http://www.unix.mcs.anl.gov/mpi/.

65. Michaelson G. An Introduction to Functional Programming Through Lambda Calculus. Addison-Wesley Publishing Company. 1989.

66. OpenMP Consortium: OpenMP Fortran Application Program Interface, Version 1.0, October 1997. http://www.openmp.org/.

67. Pacheco P.S. Parallel Programming with MPI. Morgan Kaufmann. 1997.

68. Parallel impplementation of BLAS: General techniques for level 3 BLAS / Chtchelkanova A., Gunnels J., Morrow G. and others // Technical Report TR-95-40, Departament of Computer Science, University of Texas. 1996.

69. Parashar M., Browne J.C. On Partitioning Dynamic Adaptive Grid Hierarchies // Proceedings of the 29th Annual Hawaii International Conference on System Sciences. 1996. - #1. - P. 604-613.

70. Parashar M., Browne J.C. System Engineering for High Performance Computing: The HDDA/DAGH Infrastructure for Implementation of Parallel Structures Adaptive Mesh Refinement // IMA Volumes in Mathematics and its Applications, Springer-Verlag. 1997.

71. PCF parallel Fortran extensions. CORPORATE The Parallel Computing Forum // ACM SIGPLAN Fortran Forum. 1991. - Vol. 10, Issue 3. - P. 1-57.

72. Peyton S. J. Parallel Implementation of Functional Programming Languages // The computer Journal. 1989. - 32(2). - P. 175-186.

73. Peyton S. J. The Implementation of Functional Programming Languages. Prentice-Hall. -1987.

74. Steele G. L. Common Lisp the Language, 2nd edition // Digital Press ISBN 1-55558-041-6.-1990-p. 1029.

75. Steele, G. L., Jr. and R. P. Gabriel. The evolution of Lisp. // History of Programming Languages-II. 1996. - P. 233-308.

76. The ScaLAPACK Project http://www.netlib.org/scalapack/index.html.

77. Walker D.W. Characterising the parallel performance of a large-scale, particle-in-cell plasma simulation code // Concurrency: Practice and Experience. 1990, Vol.2(4), P. 257-288.

78. Xu C.-Z., Monien В., Luling R. Lau F. Nearest Neighbor Algorithms for Load Balancing in Parallel Computers // Technical Report, tr-rsfb-96-020, University of Paderborn, 1996.

79. Zadykhailo I.B., Krukov V.A., Pozdnjakov L.A. RAMPA CASE for portable parallel programs development // Proc. of the International Conference on Parallel Computing Technolo-gies, Obninck, Russia, 1993.

80. Андрианов A.H., Ефимкин K.H., Задыхайло И.Б. Язык Норма. Препринт ИПМ им. М.В.Келдыша АН СССР, № 165, 1985.

81. Березин Ю.А., Вшивков В.А. Метод частиц в динамике разреженной плазмы. Новосибирск: Наука, 1980.

82. Вальковский В.А., Малышкин В.Э. К уточнению понятия непроцедурности языков программирования // Кибернетика. — 1981. — №3. С.55

83. Вальковский В.А., Малышкин В.Э. Синтез параллельных программ и систем на вычислительных моделях. Наука, Сибирское отделение, Новосибирск, 1988. - с. 129.

84. Вшивков В.А., Дудникова Г.И., Краева М.А., Малышкин В.Э. Реализация метода частиц на мультипроцессорах с распределенной памятью// Вопросы атомной науки и техники//, сер. Математическое моделирование физических процессов. 1996. - вып. 4. - С. 11-15.

85. Вшивков В.А., Краева М.А., Малышкин В.Э. Параллельные реализации метода частиц // Программирование. 1997. - N 2. - С. 39-51.

86. Малышкин В.Э. Параллельное программирование мультикомпьютеров: Учеб. Пособие. Ярославский гос. университет. Ярославль 1999. - с 135.

87. Малышкин В.Э., Цыгулин A.A. ParaGen генератор параллельных программ реализующих численные модели // Автометрия. - 2003 — Т. 39, №3, Новосибирск, С. 124-135.

88. Плюснин В.У, Торгашёв В.А., Страхов В.Г. Процессор с динамической архитектурой (ДАР)-новый класс проблемно-ориентированных процессоров для ЕС ЭВМ // Тез. докл. 2-го Всесоюз. совещ. "Высокопроизводительные вычислительные системы", Москва. 1984.

89. Цыгулин А.А. Генерация параллельных программ численного моделирования // в трудах конференции молодых ученых, Новосибирск, 2003, С. 138-145!

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