Теория проблемно-ориентированных типовых алгоритмических структур с массивным параллелизмом тема диссертации и автореферата по ВАК РФ 05.13.11, доктор физико-математических наук Берзигияров, Парваз Куламович
- Специальность ВАК РФ05.13.11
- Количество страниц 246
Оглавление диссертации доктор физико-математических наук Берзигияров, Парваз Куламович
Введение.
Глава 1. КРУПНОМАСШТАБНЫЕ ВЫЧИСЛЕНИЯ И ПАРАЛЛЕЛЬНОЕ ПРО
ГРАММИРОВАНИЕ.
1.1. Крупномасштабные вычисления и параллельная обработка данных.
1.2. Программирование параллельных вычислительных систем.
1.2.1. Введение.
1.2.2. Свойства систем параллельного программирования.
1.2.3. Классификация систем параллельного программирования.
1.2.4. Абстрактные системы с неявным параллелизмом.
1.2.4.1. Декларативные языки спецификации с элементами синтеза параллельных программ.
1.2.4.2. Функциональные языки с неявным параллелизмом.
1.2.4.3. Логическое программирование с неявным параллелизмом.
1.2.4.4. Распараллеливающие компиляторы.
1.2.5. Языки высокого уровня с явным параллелизмом.
1.2.5.1. Параллелизм по данным: NESL.
1.2.5.2. Расширения императивных языков: HPF.
1.2.5.3. Языки скелетонов: P3L-SKIE.
1.2.6. Языки низкого уровня с явным параллелизмом.
1.2.6.1. Обмен сообщениями: MPI.
1.2.6.2. Мультитредовые системы: CILK.
1.2.7. Сравнительный анализ систем параллельного программирования
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Модель параллельных вычислений визуального граф-ориентированного языка2000 год, кандидат технических наук Востокин, Сергей Владимирович
Языковые средства систем программирования, ориентированные на создание переносимых, эволюционно расширяемых параллельных программ2005 год, доктор технических наук Легалов, Александр Иванович
Методы и инструментальные средства крупноблочного синтеза параллельных программ для вычислительных кластеров2005 год, кандидат технических наук Новопашин, Алексей Петрович
Обработка данных на параллельных вычислительных комплексах2006 год, кандидат физико-математических наук Карпов, Андрей Николаевич
Методологические основы построения экспертных автоматизированных систем прогнозирования с применением параллельных технологий для судовых технических систем2003 год, доктор технических наук Гаскаров, Вагиз Диляурович
Введение диссертации (часть автореферата) на тему «Теория проблемно-ориентированных типовых алгоритмических структур с массивным параллелизмом»
2.2.2. Постановка задачи.40
2.2.3. Параллелизм.41
2.2.4. Декомпозиция данных.42
2.2.5. Организация взаимодействий.43
2.2.6. Ускорение и масштабируемость.45
2.2.7. Модель программы.49
2.2.8. Схема вычислений.50
2.2.9. Вычислительный эксперимент: анализ производительности.51
2.2.10. Вычислительный эксперимент: моделирование Релэй-Тейлоровских неустойчивостей и струйных течений.53
2.3. Параллельная реализация модифицированного ЫБОО-метода для крупномасштабных квантовохимических расчетов полуэмпирическими методами.56
2.3.1. Введение.56
2.3.2. Основные вычислительные аспекты комплекса СЫ18ТЕ11-22.59
2.3.3. Приближение N000^.64
2.3.4. Основные алгоритмы последовательного комплекса СШ8ТЕК^2. 72
2.3.5. Параллельная реализация ЫВБО-'МТ приближения в программе МР-гАУА.81
2.3.5.1. Параллельная реализация модуля диагонализации.82
2.3.5.2. Параллельная реализация вычислений матрицы электронной плотности.84
2.3.5.3. Параллельная реализация ССП-вычислений и процедур построения матрицы Фока Б, остовного гамильтониана и вычисления градиентов полной энергии по декартовым координатам атомов.86
2.3.6. Ускорение и эффективность программы МР-2АУА.89
2.3.7. Вычислительный эксперимент.94
2.3.8. Развитие программы МР-2АУА.95
2.4. Заключение.96
Глава 3. ПРОГРАММИРОВАНИЕ НА ТИПОВЫХ АЛГОРИТМИЧЕСКИХ СТРУКТУРАХ С МАССИВНЫМ ПАРАЛЛЕЛИЗМОМ.98
3.1. Введение.98
3.2. Базовые алгоритмические структуры.100
3.3. Проблемно-ориентированные алгоритмические структуры.105
3.4. Управляющие алгоритмические структуры: композиция и вложенность. 108
3.4.1. Композиция последовательных модулей с помощью единичных
TAC.108
3.4.2. Иерархическая композиция TAC: вложенность.109
3.5 .Горизонтальная композиция алгоритмических структур.110
3.6. Идентификация TAC в CIP-методе.111
3.7. Оптимизирующие преобразования TAC.112
3.7.1. Оптимизация горизонтальных композиций TAC.112
3.7.2. Оптимизация вложенных композиций TAC.115
3.7.3. Взаимные преобразования: статическая конвейеризация DAC-структур.116
3.7.3.1. Введение.116
3.7.3.2. Постановка задачи.'.117
3.7.3.3. Статическая конвейеризация DAC-алгоритмов.121
3.8. Особенности реализации типовых алгоритмических структур.129
3.8.1. Модель параллельной программы.129
3.8.2. Промежуточная абстрактная машина: обеспечение мобильности и эффективности TAC.130
3.8.3. Объектная ориентированность: механизмы повторного использования и специализации TAC.131
3.9. Заключение.146
Глава 4. ФОРМАЛЬНЫЕ МЕТОДЫ ПОСТРОЕНИЯ И ОПТИМИЗАЦИИ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ И ПРОГРАММ.148
4.1. Формальный вывод эффективных параллельных алгоритмов и программ из абстрактных спецификаций.148
4.2. Дедуктивный вывод параллельных вычислительных алгоритмов.151
4.2.1. Введение.151
4.2.2. Описание подхода: Логические спецификации свободных параллельных алгоритмов.154
4.2.3. Логическая спецификация прямых методов решения систем линейных уравнений в рамках стратегии исключения.157
4.2.4. Вывод параллельной формы алгоритма Гаусса.163
4.2.5. Учет архитектурного аспекта и вывод других алгоритмов.171
4.2.6. Заключение.175
4.3. Вывод эффективных вычислительных алгоритмов методом переписывания термов.176
4.3.1. Введение. .176
4.3.2. Постановка задачи: конструирование оптимальных алгоритмов.176
4.3.3. Постановка задачи: конструирование эффективных алгоритмов посредством улучшающих преобразований.177
4.3.4. Система переписывания термов.178
4.3.5. Оптимизирующие преобразования.179
4.3.6. Пример: вывод алгоритма Штрассена.184
4.3.7. Программная реализация системы.188
4.3.8. Заключение.189
4.4. Логические методы синтеза параллельных программ из непроцедурных спецификаций.191
4.4.1. Введение.191
4.4.2. Внешние спецификации: Формальная система LF.192
4.4.3. Синтаксис и семантика языка программирования PL.194
4.4.3.1. Синтаксис языка.194
4.4.3.2. Операционная семантика языка PL.195
4.4.4. Внутренние спецификации: Формальная система LL для спецификации и вывода алгоритмов и параллельных программ.198
4.4.5. Корректность системы LL.202
4.4.6. Особенности реализации системы.202
4.4.7. Применение системы.205
4.4.8. Заключение.206
ЗАКЛЮЧЕНИЕ.207
СПИСОК ЛИТЕРАТУРЫ
210
Введение
Прогрессивное развитие вычислительной техники привело к появлению широкого спектра высокопроизводительных вычислительных систем. Характерной чертой этих систем является усложнение организации, широкое использование принципов конвейерной и параллельной обработки. Главные тенденции последних лет проявляются в росте производительности отдельных процессорных элементов, а также в доминирующей роли систем с массивным параллелизмом, содержащих от сотен до нескольких тысяч таких процессоров. Еще одна особенность связана с появлением сравнительно недорогих параллельных систем, основанных на серийных компонентах и открывающих доступ к высокопроизводительным системам широкому кругу пользователей.
Разработка и производство высокопроизводительных вычислительных систем является чрезвычайно динамичной областью. Так, например, производительность процессорных элементов, используемых в качестве строительных блоков параллельных систем, удваивается каждые 18 месяцев. По статистике приведенной в работе [411], каждые полгода список наиболее производительных вычислительных систем покидает в среднем 160 компьютеров, системы занимающие сотую позицию в этом списке покидают его примерно через 2-3 года, а среднее время эксплуатации параллельной системы равно примерно 4-5 годам.
Главными областями применения параллельных систем являются вычислительные задачи повышенной сложности и крупномасштабная обработка и извлечение данных, имеющие важное фундаментальное значение и высокую практическую значимость. Для этих задач характерны длительные сроки разработки, повышенные требования к ресурсам, эффективности и масштабируемости, а также стремление к продлению жизненного цикла за счет эксплуатации на различных системах. В настоящее время для решения таких задач предпринимаются значительные совместные усилия математиков и программистов как теоретиков, так и практиков, охватывающие широкий круг вопросов, начиная от создания и исследования новых численных методов и параллельных алгоритмов и моделей параллельных вычислений, и кончая разработкой соответствующих языковых средств и технологий параллельного программирования.
Опережающее развитие высокопроизводительных вычислительных систем по отношению к программным технологиями и вовлечение в эту сферу широкого круга программистов, не являющихся экспертами в области параллельных вычислений бросает вызов программированию, как области исследований и практической деятельности. Ограниченный срок жизни высокопроизводительных систем, многообразие архитектурных принципов и их частая смена, повышенная сложность решаемых задач выдвигают на повестку дня разработку таких моделей параллельных вычислений и соответствующих технологий программирования, которые обеспечивали бы разумную трудоемкость программирования, возможность переноса программного кода с одной системы на другую, а также высокую эффективность и масштабируемость при переходе на более производительные системы.
Основной областью применения параллельных систем являются задачи, направленные на решение важных фундаментальных и прикладных проблем механики сплошных сред, квантовой химии, безопасности атомных реакторов и химических производств и других областей, предъявляющие жесткие требования к срокам разработки, эффективности и переносимости на различные платформы и имеющие важное народнохозяйственное и научное значение. Примерами таких задач могут служить трехмерное численное моделирование гидродинамических неустойчивостей, вихревых и струйных течений, а также квантово-химические расчеты больших молекулярных систем.
Вместе с тем, доступный в настоящее время для практического использования фонд алгоритмов и программ, методы их построения и необходимые языковые и инструментальные средства, не могут служить адекватной основой для программирования таких систем с точки зрения трудоемкости разработки, эффективности, переносимости и масштабируемости. Здесь, одним из главных сдерживающих факторов является отсутствие единой, универсальной модели вычислений, аналогичной по своей роли Фон-неймановской машине для последовательного случая [401-404, 440], и как следствие, архитектурная зависимость программ, невозможность их переноса на другие системы без модификации, ограниченный срок жизни, определяемый временем эксплуатации системы, под которую программа разрабатывалась.
Таким образом, актуальность темы обусловлена тем, что снижение сложности и трудоемкости параллельного программирования, обеспечение эффективности и переносимости параллельных программ на различные платформы имеет важнейшее народнохозяйственное значение.
Необходимость преодоления перечисленных выше трудностей выдвигает на первый план, следующий круг фундаментальных и технологических проблем, требующих своего решения:
• сокращение сложности и, как следствие, трудоемкости разработки параллельных приложений;
• обеспечение высокой эффективности и масштабируемости, а также предсказуемости производительности параллельных приложений на различных системах;
• обеспечение мобильности и, как следствие, продление срока эксплуатации параллельных приложений.
Что касается первой проблемы, то традиционный подход, требует от программиста детальной спецификации параллелизма и коммуникаций, что осложняет его работу. Альтернативные подходы заключаются в использовании моделей и языков, позволяющих абстрагироваться от архитектуры системы и от вопросов спецификации параллелизма и коммуникаций, а также планирования вычислений. Очень перспективным с практической точки зрения является структурный подход, основанный на ограничении используемых форм параллелизма, однако он требует дополнительного исследования применительно к задачам практического уровня сложности, а также разработки технологий, которые обеспечивали бы развитые механизмы специализации, повторного использования и расширения ассортимента таких структур.
Вторая задача при традиционном подходе к своему решению предполагает, что программист осуществляет согласование алгоритмов и реализующих их программ с архитектурой используемой вычислительной системы. Это обстоятельство, однако, чрезвычайно усложняет работу программиста, предполагая детальное знание особенностей архитектуры. Один из возможных подходов к ее решению заключается в использовании ограниченных форм параллелизма в сочетании с промежуточными абстрактными машинами (моделями), допускающими их эффективную реализацию на широком спектре архитектур, а также использовании моделей эффективности инвариантных (мобильных) по отношению к архитектурам, позволяющих предсказывать производительность параллельных приложений на различных системах.
Традиционный подход к решению последней проблемы, состоит в разработке для каждой новой системы своей версии параллельной программы. Однако, в последнее время ситуация несколько изменилась в лучшую сторону, благодаря усилиям по стандартизации языков последовательного программирования [412], а также появлению стандартизованных средств параллельного программирования, таких как PVM [120], MPI [223, 243, 332, 405] и BSP [230, 259, 283, 328, 329, 400, 424]. К сожалению, эти средства обеспечивают скорее формальную переносимость программного кода с одной системы на другую. На практике же, очень часто наблюдается ситуация, когда при несоблюдении разработчиками принятых стандартов, перенесенный программный код либо вообще не работает без модификации, либо работает неустойчиво. Кроме того, все упомянутые средства параллельного программирования (PVM, MPI, BSP) являются низкоуровневыми.
Что касается эффективности, то здесь ни о какой переносимости речи быть не может -реальная ситуация требует значительной переделки программы при переходе на другую архитектуру. Перспективный подход заключается в разработке высокоуровневых моделей параллельного программирования, наряду с совместной разработкой моделей эффективности, инвариантных (мобильных) по отношению к архитектурам. В настоящее время известно чрезвычайно большое количество абстрактных моделей, однако очень мало таких систем, для которых были бы построены упомянутые модели эффективности.
Таким образом, необходимость разработки эффективных вычислительных программ повышенной вычислительной сложности для систем с массивным параллелизмом выдвигает на первый план задачу комплексного исследования и сравнительного анализа различных моделей и методов параллельного программирования с целью разработки новых более продуктивных программных технологий. Настоящая работа посвящена критическому анализу современных подходов к параллельному программированию и разработке теоретических основ и практической реализации перспективных технологий параллельного программирования.
Целями работы являются:
• сравнительный анализ существующих моделей, методов и технологий параллельного программирования:
• разработка и комплексное исследование новых моделей и методов параллельного программирования, в частности:
• разработка теоретических основ для перспективных технологий параллельного программирования, основанных на использовании ограниченного набора типовых алгоритмических структур с массивным параллелизмом и направленных на снижение сложности и трудоемкости программирования, обеспечение эффективности, масштабируемости и переносимости параллельных программ;
• разработка теоретических основ для построения и оптимизации эффективных вычислительных алгоритмов и программ по их абстрактным, непроцедурным спецификациям;
• решение на этой базе сложных задач вычислительной математики, газодинамики и квантовой химии, имеющих важное фундаментальное и прикладное значение.
Задана работы состоит в следующем: Необходимо разработать теоретические основы для перспективных технологий параллельного программирования, основанных на использовании непроцедурного подхода к параллельному программированию, а также ограниченном наборе типовых алгоритмических структур с массивным параллелизмом, направленных на снижение сложности и трудоемкости программирования, обеспечение эффективности, масштабируемости и переносимости параллельных программ. Для чего следует:
• выявить и исследовать универсальные и проблемно-ориентированные типовые алгоритмические структуры, возникающие в задачах вычислительной газодинамики и квантовой химии;
• разработать формальный аппарат для оптимизирующих преобразований типовых алгоритмических структур;
• разработать механизмы повторного использования и специализации типовых алгоритмических структур с массивным параллелизмом;
• разработать и исследовать модели параллельного программирования, обеспечивающие корректность и переносимость программного кода на различные системы;
• разработать на этой основе архитектуру системы программирования на типовых алгоритмических структурах и дать рекомендации по ее реализации;
• разработать и математически обосновать непроцедурные подходы, основанные на использовании логических формализмов с целью вывода эффективных параллельных алгоритмов и программ;
• разработать и теоретически обосновать методы оптимизации алгоритмов, основанные на направленных преобразованиях непроцедурных спецификаций, представленных в виде совокупности равенств;
• решить на этой основе сложные задачи вычислительной математики (вывод параллельных алгоритмов для прямых методов решения систем линейных алгебраических уравнений и быстрых алгоритмов перемножения матриц), газодинамики (параллельная реализация С1Р-метода [22-24, 76-77, 436] для исследования гидродинамических неустойчивостей и струйных течений в трехмерной геометрии) и квантовой химии (параллельная реализация модифицированного КЭБО-метода [28, 29, 124, 125] для полуэмпирических расчетов больших молекул), имеющих важное фундаментальное и прикладное значение.
Новизна работы состоит в следующем:
1. Исследован и теоретически обоснован, новый метод быстрой разработки эффективных вычислительных программ, основанный на использовании ограниченного набора типовых алгоритмических структур с массивным параллелизмом [21, 25-27, 30, 32], в том числе:
• выявлены и исследованы новые проблемно-ориентированные структуры для задач вычислительной газодинамики и квантовой химии;
• предложен новый подход к математическому описанию композиционной структуры типовых алгоритмических структур, позволяющий учитывать не только параллельную часть структуры, но и декомпозицию исходных данных и сборку результатов, который расширяет набор допустимых оптимизирующих преобразований;
• предложены и теоретически обоснованы новые методы статической конвейеризации широкого и практически важного класса алгоритмов со структурой "разделяй-и-влаетвуй" [21, 122];
2. Разработан и теоретически обоснован новый метод построения эффективных параллельных алгоритмов, основанный на их дедуктивном выводе из логических спецификаций [123];
3. Разработан и теоретически обоснован новый метод оптимизации, основанный на направленных преобразованиях одной совокупности равенств, описывающих исходный неэффективный алгоритм в другую совокупность равенств, представляющих новый -более оптимальный алгоритм [121].
4. Построен и исследован формальный аппарат для разработки параллельных программ по логическим спецификациям [12-20, 33-36, 137].
Практическая ценность работы заключается в следующем:
1. Разработана новая технология программирования, основанная на использовании типовых алгоритмических структур с массивным параллелизмом [21, 25-27, 30, 32]:
• позволяющая сократить сложность и, как следствие, трудоемкость разработки параллельных приложений;
• обеспечивающая высокую эффективность и масштабируемость, а также предсказуемость производительности параллельных приложений на различных системах;
• обеспечивающая мобильность и, как следствие, продление срока эксплуатации параллельных приложений.
2. Разработана архитектура системы программирования на алгоритмических структурах с массивным параллелизмом, реализованы алгоритмические шаблоны-заготовки таких структур, а также даны практические рекомендации для построения системы;
3. На этой основе решены различные задачи вычислительной математики, газодинамики, а также квантовой химии, имеющие важное фундаментальное и прикладное значение, частности:
• осуществлен вывод параллельных алгоритмов для прямых методов решения систем линейных алгебраических уравнений [123] и быстрых алгоритмов перемножения матриц в форме Штрассена [121];
• выполнена параллельная реализация CIP-метода [22-24, 76-77] для исследования гидродинамических неустойчивостей и струйных течений в трехмерной геометрии;
• осуществлена параллельная реализация модифицированного NDDO-метода [28, 29, 124, 123] для полуэмпирических расчетов больших молекулярных систем.
Работа имеет следующую структуру. Она состоит из введения, четырех глав, заключения и списка литературы
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Система Норма: Разработка, реализация и использование для решения задач математической физики на параллельных ЭВМ2001 год, доктор физико-математических наук Андрианов, Александр Николаевич
Разработка методов выполнения функционально-параллельных программ на основе сетей Петри2005 год, кандидат физико-математических наук Калиниченко, Борис Олегович
Препроцессор языка программирования высокого уровня для реконфигурируемых вычислительных систем2013 год, кандидат технических наук Коваленко, Алексей Геннадьевич
Применение мелкозернистого локально-параллельного программирования при решении задач математической физики методом сеток2008 год, кандидат технических наук Заручевская, Галина Васильевна
Нечисловая обработка информации на вычислительной машине нетрадиционной архитектуры потока данных1999 год, кандидат технических наук Провоторова, Анна Олеговна
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Берзигияров, Парваз Куламович
Заключение
Данная работа посвящена комплексному исследованию современных методов и технологий параллельного программирования и решению на этой основе сложных задач вычислительной математики, газовой динамики и квантовой химии, имеющих важное фундаментальное и прикладное значение. В работе проведен систематический анализ современных подходов к параллельному программированию, разработаны теоретические основы перспективных технологий параллельного программирования, основанных на использовании ограниченного набора типовых алгоритмических структур с массивным параллелизмом и непроцедурных методах параллельного программирования. На основании проведенных исследований получены следующие основные результаты.
1. Разработана и проанализирована параллельная версия CIP-метода для трехмерного численного моделирования Рэлей-Тейлоровских неустойчивостей, вихревых и струйных течений [22-24, 75-77]. Получены расчетные и экспериментальные значения ускорений, позволяющие оценить масштабируемость алгоритма и его программной реализации. Показано, что параллельная реализация обеспечивает линейное ускорение в зависимости от количества процессоров и пригодна для моделирования на системах с массивным параллелизмом. Проведена адаптация полученного программного комплекса на различные параллельные платформы (RM-600 Е20/Е60, МВС-1000, МВС-1000М, кластеры рабочих станций на базе Intel Pentium III). Количество расчетных точек в области моделирования увеличено примерно в 100 раз по сравнению с последовательным аналогом программы. Применение параллельной версии сократило время расчетов примерно в 20-25 раз.
2. Разработана и проанализирована параллельная версия метода NDDO-WF в рамках программного комплекса MP-ZAVA, предназначенного для полуэмпирических кван-тово-химических расчетов больших молекулярных систем в ^¿/-базисе [28, 29, 124, 125]. Получены экспериментальные значения ускорений, позволяющие оценить масштабируемость отдельных алгоритмов и программы в целом. Рассмотрено влияние скорости коммуникаций на операционные характеристики программы. Проведена адаптация полученного программного комплекса на различные параллельные платформы (RM600 Е60, Cluster Intel Pill, МВС-ЮООМ, Cray ТЗЕ). Применение параллельной реализации метода сократило время расчетов примерно в 20-25 раз. Увеличены размеры рассчитываемых молекулярных систем до 2000 атомных орбиталей и выше.
3. Предложена и теоретически обоснована технология параллельного программирования [21, 25-27, 30, 32], базирующаяся на ограниченных формах параллелизма - типовых алгоритмических структурах с массивным параллелизмом, позволяющая снизить сложность и трудоемкость программирования, обеспечить эффективность и переносимость параллельных программ, в частности:
- На основе анализа реальных задач выявлены и математически описаны типовые проблемно-ориентированные алгоритмические структуры для задач вычислительной газодинамики, квантовой химии и молекулярной динамики.
- Предложен метод математического описания типовых алгоритмических структур и их композиций, расширяющий набор оптимизирующих преобразований.
- Предложены методы композиции типовых алгоритмических структур, включающие: композицию последовательных модулей с помощью единичных TAC, иерархическую композицию, линейную или горизонтальную композиция TAC.
- Предложен и математически обоснован метод статической конвейеризации типовых алгоритмических структур «разделяй-и-властвуй» [21, 122].
- Предложена оригинальная математическая трактовка понятий мобильности и пор-тируемости параллельных программ, основанная на рассмотрении не только программного кода, но и его оценок эффективности, предложено использование промежуточной абстрактной BSP-модели, обеспечивающей инвариантность оценок эффективности типовых алгоритмических структур по отношению к различным архитектурам.
- Предложены объектно-ориентированные методы повторного использования и специализации типовых алгоритмических структур, на этой основе реализованы шаблоны-заготовки этих структур.
- Предложена архитектура системы программирования на типовых алгоритмических структурах, даны рекомендации по практической реализации системы.
- Продемонстрированы возможности подхода на примере реализации CIP-метода с помощью типовых алгоритмических структур.
4. Предложен метод систематической разработки параллельных вычислительных алгоритмов, основанный на логическом выводе алгоритмов исходя из спецификации базовых отношений предметной области и их свойств [123]. На базе этого подхода разработаны различные параллельные алгоритмы для решения систем линейных алгебраических уравнений: алгоритм Гаусса, Гаусса-Жордана, Пизе, (^Ш-алгоритм Ивенса, а также алгоритмы со специальной структурой для параллельных систем с топологией гиперкуба.
5. Предложен и программно реализован метод построения эффективных вычислительных алгоритмов, основанный на использовании систем переписывания термов [121]. Продемонстрировано применение метода для вывода блочных алгоритмов перемножения матриц в форме Штрассена.
6. Предложены и математически обоснованы непроцедурные подходы к параллельному программированию, основанные на логических методах вывода программ из декларативных спецификаций алгоритмов [12-20, 33-36, 137], в частности:
- Разработаны логические методы спецификации семейств параметризованных однотипных алгоритмов, представляющих собой проблемно-ориентированные типовые алгоритмические структуры с массивным параллелизмом.
- Разработана формальная система для построения корректных параллельных программ по логическим спецификациям алгоритмов и архитектуры вычислительной системы, доказано, что построенная формальная система является непротиворечивой.
- Реализована программно инструментальная система построения параллельных программ по логическим спецификациям, ориентированная на векторно-конвейерные вычислительные системы.
- Работоспособность системы и применимость предложенных формальных средств продемонстрировано опытом создания с ее помощью различных программ для практических задач из области вычислительной математики и физики, включая векторно-матричную обработку, дискретное преобразование Фурье, вычисление средней энергии Леннард-Джонсовской жидкости.
Список литературы диссертационного исследования доктор физико-математических наук Берзигияров, Парваз Куламович, 2001 год
1. Андрианов А.Н., Бугеря Ф.Б., Ефимкии К.Н, Задыхайло И.Б.Язык Норма. // ИПМ им. М.В. Келдыша РАН, препринт № 165, 1985, 34 с.
2. Андрианов А.Н., Бугеря Ф.Б., Ефимкин К.Н, Задыхайло КБ. НОРМА. Описание языка. Рабочий стандарт // ИПМ им. М.В. Келдыша РАН, препринт № 120, 1995, 52 с.
3. Андрианов А.Н., Базаров С.Б., Ефимкин И.Б. Решение двумерных задач газовой динамики методом Годунова на параллельных ЭВМ с помощью языка НОРМА // ИПМ им. М.В. Келдыша РАН, препринт № 9, 1997, 24 с.
4. Андрианов А.Н., Базаров С.Б., Ефимкин КБ. Применение языка НОРМА для решения трехмерных задач газовой динамики на многопроцессорных ЭВМ // ИПМ им. М.В. Келдыша РАН, препринт № 63, 1997, 17 с.
5. Антонов A.C., Воеводин Вл.В. Эффективная адаптация последовательных программ для современных векторно-конвейерных и массивно-параллельных Супер-ЭВМ // Программирование, 1996 г. № 4. с. 37-51.
6. Антонов A.C. Современные методы межпроцедурного анализа программ // Программирование, 1998 г. № 5, с. 3-14
7. Апонин Ю.М., Лахно В.Д. Перенос возбуждений в ДНК и параллельные вычисления // Препринт, Институт математических проблем биологии РАН, Пущино, 1999, 8с.
8. Бабичев A.B., Лебедев В.Г. Распараллеливание программных циклов // Программирование, 1983, № 5, 52-63.
9. Берзигияров П.К, Жучков A.B., Жучкова Т.П. Карпенко А.П., Талъянская H.H. Архитектура, программирование, численные методы высокоэффективных вычислительных систем. Обзор библиографии. // Препринт ИФТТ АН СССР, Черноголовка, ИФТТ, 1987, 42с.
10. Берзигияров П.К., Жучков A.B., Карпенко А.П., Талъянская H.H. Архитектура, программирование, численные методы высокоэффективных вычислительных систем. Обзор библиографии. Вып. 2-10 // Препринт ИФТТ АН СССР, Черноголовка, ИФТТ, 1987-1989 г.
11. Берзигияров П.К, Боглаев Ю.П., Карпенко А.П. Синтез иерархических алгоритмов параллельного вычисления кубатур // Параллельное программирование и высокопроизводительные системы: Тез. докл.УП-й Всесоюз.школы семинара. -Киев,1988.с.151-132.
12. Берзигияров П.К, Боглаев Ю. П., Карпенко А.П., Шумаева С.М. Согласование структуры алгоритмов с архитектурой вычислительной системы // Высокопроизводительные вычислительные системы: Тез. докл. III Всесоюз. совещ,- Таллин, 1988.с. 184-185.
13. Берзигияров П.К. Экспериментальная система построения параллельных программ по непроцедурным спецификациям алгоритмов и архитектуры вычислительных систем // Препринт № 8-304, М.:ИВТАН, 1990.-19с.
14. Берзигияров П.К. Спецификация алгоритмов и архитектуры вычислительных систем в задаче построения параллельных программ //Препринт №8-305.М.ИВТАН, 1990.-33с.
15. Берзигияров П.К. Разработка инструментальной системы построения параллельных программ по логическим спецификациям для вычислительных систем векторно-конвейерного типа, Автореферат на соискание ученой степени к.т.н, Москва,1. МЭИ. 1991,20с.
16. П. К. Берзигияров, Султанов В.Г. Параллельное моделирование Рэлей-Тейлоровских гидродинамических неустойчивостей // Вестник МГУ, Серия 15, Вычислительная Математика и Кибернетика, № 1,2001, 10с.
17. Берзигияров П.К., Заец В.А.,Разумов В.Ф., Шека Е.Ф. Параллельный программный комплекс MP-ZAVA для проведения квантовохимических расчетов в ^¿/-базисе, ИПМ им. М.В. Келдыша РАН, препринт , 2001, 50 с. (в печати).
18. П.К Берзигияров Программирование на типовых алгоритмических структурах с массивным параллелизмом // Вычислительные методы и программирование, 2001, Т.1, 1-16. http://num-meth.srcc.msu.su/zhurnal/torn200l/pdf7art2l.pdf
19. П.К. Берзигияров, Луговская Ю.П. Программирование на типовых алгоритмических структурах с массивным параллелизмом // Системы автоматизированного проектирования, 2000, 16с., (в печати).
20. Боглаев Ю.П., Берзигияров П. К, Карпенко А.П. Спецификация и построение параллельных алгоритмов, согласованных с архитектурой ЭВМ // II Всес. конф. по прикладной логике : Тез. докл. -Новосибирск,1988.с.13-18.
21. Ю. Боглаев Ю.П., Берзигияров П.К.Карпенко А.П. Синтез параллельных программ по непроцедурным параметрическим спецификациям // 8-я сибирская школа по программному обеспечению ЭВМ новых поколений:Тез. докл.-Иркутск,1989.с.68.
22. Боглаев Ю.П., Берзигияров П.К, Карпенко А.П., Шумаева С.М. Методы автоматизированного проектирования алгоритмов для многопроцессорных вычислительных систем // XI Всесоюэ. совет, по проблемам управления:Теа. докл.-М.,1989.с.204-205.
23. Бэбб Р., Мак-Гроу Дж. и др. Программирование на параллельных вычислительных системах. М.: Мир. 1991. 376с.
24. Вальковский В.А. Распараллеливание алгоритмов и программ. Структурный подход.// Радио и связь, 1989.-176с.
25. Вальковский В.А., Малышкин В.Э. Синтез параллельных программ и систем на вычислительных моделях.//Новосибирск: Наука. Сиб. Отд-ние, 1988.-129с.
26. Валях Е. Последовательно-параллельные вычисления. М.: Мир. 1985. 456 С.
27. Воеводин B.B. Математические проблемы освоения супер-ЭВМ.//В кн. "Вычислительные процессы и системы", вып. 2. М.:Наука, 1984, с. 3-12.
28. Воеводин В.В. Математические модели и методы в параллельных процессах. М.: Наука, 1986,- 296с.
29. Воеводин В.В. Математические основы параллельных вычислений. М.: Изд-во МГУ, 1991,- 345с.
30. Воеводин В.В. Параллелизм в алгоритмах и программах.- В кн. "Вычислительные процессы и системы", вып. 10. М.: Наука, 1993,- с.253-279.
31. Воеводин В.В. Массивный параллелизм и декомпозиция алгоритмов // ЖВМиМФ. 1995. T.35,N6, 988-996.
32. Воеводин В.В. Информационная структура алгоритмов. М.: Изд-во МГУ, 1997.-139с.
33. Воеводин Вл.В. Теория и практика исследования параллелизма последовательных программ // Программирование. 1992, № 3. С.38-53.
34. Воеводин Вл.В. Легко ли получить обещанный гигафлоп? //Программирование. 1995, № 4.С.13-23.
35. В. Вшивков, М.Краева, В. Малышкин. Параллельная реализация метода частицц. // Программирование. 1997, № 2.С.39-51.
36. Вуд В. Исследование простых жидкостей методом Монте-Карло // Под ред. Г.Темперли, Дж. Роулинсона, Дж. Рашбрука: Пер. с англ.-М.:Мир, 1973, 275-394.
37. Головкин Б.А. Параллельные вычислительные системы. М.: Наука. 1980. 520 С.
38. Грибов Л. А.,Муштакова С.П. Квантовая химия // Учебник-М.:Гардарики, 1999.-390с.
39. Давыдова И.М., Давыдов Ю.М. Об особенностях решения вычислительных задач на современных и перспективных высокопроизводительных вычислительных системах // Вычислительные процессы и системы. Вып. 2 -М.: Наука, 1985, 162-172.
40. Заец В.А. Герда В.И. Горлов Ю.И., Клименко В.Е., ЖСХ, том.39, №1 (1998),163.
41. Иванников В.П., Ластовецкий А.Л. Эффективно-переносимое программирование параллельных архитектур // Фундаментальная и прикладная математика, 2(3), 1998.
42. Карпенко А. П., Ляхов В.Н., Протасов И.Н., Фортов В.Е. Численное моделированеи нестационарного трехмерного течения газа с ударными волнами и отрывом потока от поверхности // Математическое моделирование, т.7, №8, 1995, 36-59.
43. Котов В.Е. О связи алгоритмических и архитектурных аспектов параллельных вычислений // Вычислительные процессы и системы.Вып. 2 -М.: Наука, 1985.
44. Кутепов В.П., Фальк В.Н. Функциональные системы: Теоретический и практический аспекты // Кибернетика. №1, 1979, 46-58.
45. Левин В.К. Отечественные суперкомпьютеры семейства МВС, http://parallel.ru/
46. Левин В.К. Многопроцессорная вычислительная система МВС-1000, http://parallel.ru/
47. Левин В.К. Российский массивно-параллельный суперкомпьютер на базе процессоров Alpha., http://parallel.ru/mvs/levin.html
48. В.Э. Малышкин. Сборочная технология параллельной реализации численных моделей большого размера // Труды Всероссийской научной конференции "Высокопроизводительные вычисления и их приложения", Черноголовка 30 октября -2 ноября 2000 г, с.50-51.
49. Мамедова И.Г., Серебряков В.А. Распараллеливание алгоритмов решения задач для уравнений Пуассона и Гельмгольца многосеточными методами // Программирование, 1995, №5, 3-23.
50. В.Г.Маслов, ЖСХ, 20 (1979) 761.
51. МВС-1000 Архитектура и системное ПО, http://parallel.ru/mvs/mvsl000.html.
52. Минц Г.Е., Тыугу Э.Х. Обоснование структурного синтеза программ // Автоматический синтез программ. Таллин, 1983, 5-40.
53. Нуриев P.M. Необходимые и достаточные условия существования распралаллелива-ния программ по циклам // Изв. АН СССР, Техническая кибернетика, №2, 105-111.
54. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем: Пер. с англ.-М. Мир, 1991
55. А.Т.Пилипенко, В.А.Заец, В.Д.Хаврюченко, Е.Р.Фалендыш, ЖСХ. 28 (1987) 155.
56. Т.П. Плакс Синтез параллельных программ на вычислительных моделях // Программирование. 1977, №4. С.55—63.
57. Столяров Л.Н. Векторно-конвейерные вычислительные системы и их операционные шаблоны // Организация вычислений на супер-ЭВМ. -М.МФТИ, 1985, Деп. 5934-85. 4-15.
58. ВТ. Султанов, М.Ф. Иванов, П.К. Берзигияров, И.Я. Гинзбург. Пространственное моделирование струйных течений: эволюция, структура, неустойчивост. // Тезисы XII Симпозиума по горению и взрыву, Черноголовка 2000.
59. Трахтенгерц Э.А. Параллельное программное обеспечение параллельных процессов. М.:Наука, 1987, 272с.
60. Труды института инженеров по электротехнике и радиоэлектронике т. 77. N 12. 1989.
61. Дж.Уилкинсон, КРайнш, Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра, М.: Машиностроение, 1976.
62. Хокни Р., Джессхоуп К. Параллельные ЭВМ. Архитектура, программирование и алгоритмы. М.: Радио и связь. 1986. 392 С.
63. Е. Ф.Шека, Е.А.Никитина, Доклады РАН, 2000 (в печати).
64. Виктор Шнитман Семейство высокопроизводительных серверов ЫМ600Е. http://www.citforum.ru/hardware/articles/rm600e00.shtml
65. M. Aldinucci. The META Transformation Tool for Skeleton-based Languages // In proceedings of CMPP'2000. Workshop held in conjunction with MPC'2000, July 2000, Pont-ede Lima, Portugal.
66. A. Agarwal. Limits on Interconnection Network Performance. // IEEE Transac- tions on Parallel and Distributed Systems, 2(4):398-412, October 1991.
67. T. Agerwala, J. L. Martin, J. H. Mirza, D. C. Sadler, D. M. Dias, and M. Snir. SP2 system architecture. // IBM Systems Journal, 34(2): 152-184,1995.
68. S. Ahuja, N. Carriero, and D. Gelernter. Linda and friends. // IEEE Computer, 19(8):26-34, August 1986.
69. C. Alexander. Notes on the Synthesis of Form. Harward University Press, 1964.
70. C. Alexander. The Oregon Experiment. Oxford University Press, 1975.
71. C. Alexander. A Pattern Language: Towns, Buildings, Constructions. Oxford University Press, 1977.
72. C. Alexander. The Timeless Way of Building. Oxford University Press, 1979.
73. Algorithms and Applications on Vector and Parallel Computers. // Ed. by H.J.Te Ride,Fh. I. Dekker and H.A.Van der Vorst. Elsevier Science Publishers B.V. 1987. P. 1-20.
74. G. Amdahl. The validity of the single processor approach to achieving large scale computing capabilities. // In AFIPS conference proceedings, Spring Joint Computing Conference, volume 30, pages 483-485, 1967.
75. S. Antonelli and S. Pelagatti. On the complexity of the mapping problem for massively parallel architectures. // International Journal of Foundations of Computer Science, pages 379-387, September 1992.
76. R. C. Armstrong and A. Chung. POET (parallel object-oriented environment and toolkit) and frameworks for scientific distributed computing. // In Hawaii International Conf. on System Sci., 1997.
77. AT. V. Arvind and D. E. Culler. Datafow architectures. // In Annual Reviews in Computer Science 1986, pages 225-253. Annual Reviews,, Palo Alto, CA, 1986.
78. The ASCI program: http://www.llnl.gov/asci/.
79. Bacci, B. Cantalupo, P. Pesciullesi, R. Ravazzolo, A. Riaudo, and L. Vanneschi. Skie user guide. // Technical report, QSW Ltd., Rome, December 1998.
80. B. Bacci, M. Danelutto, S. Pelagatti, and M. Vanneschi. Summarising an experiment in parallel programming language design. // Lecture Notes in Computer Science, 919-929, 1995.
81. Bacci, M. Danelutto, S. Pelagatti, and M. Vanneschi. SklE: An heterogeneous environment for HPC applications. // Parallel Computing, N13-14, vol.25, pages 1827-1852, December 1999.
82. John Backus. Can Programming Be Liberated From the von Neumann Style? A Functional Style and its Algebra of Programs. // CACM 21(8): 613-641 (1978)
83. John Backus: From Function Level Semantics to Program Transformation and Optimization.//TAPSOFT, Vol.1 1985:60-91
84. F. Bacon, S. L. Graham, and O. J. Sharp. Compiler transformations for high-performance computing. // ACM Computing Surveys, 26(4):345-420, December 1994.
85. J.CM. Baeten and J.W. Klop, Term rewriting systems with priorities, // LNCS, Vol. 256,1987,81-94.
86. H. E. Bal, J. G. Steiner, and A. S. Tanenbaum. Programming Languages for Distributed Computing Systems. // ACM Computing Surveys, 21(3): 261-322, September 1989.
87. H. E. Bal, A. S. Tanenbaum, and M. F. Kaashoek. Orca: A language for Distributed Programming. // SIGPLAN Notices, 25(5): 17-24, May 1990.
88. J.-P. Banatre, D. Le Metayer, "Programming by Multiset transformation", // Communications of the ACM, Vol. 36, No. 1,1993, pp. 98-111.
89. J.-P. Banatre, D. Le Metayer. The gamma model and its discipline of programming. // Science of Comput. Programming, vol. 15, 1990, pp.55-77.
90. J.-P. Banatre, D. Le Metayer. Programming by multiset transformation. // Commun. ACM, vol.36, 1993, pp.98-111.
91. U. Banerjee, S. Chen, D. J. Kuck, and R. A. Towle. Time and parallel processor bounds for FORTRAN-like loops //. IEEE Trans. Computers, C-28(9):660-670, September 1979.
92. G. H. Barnes, R. M. Brown, M. Koto, D. J. Kuck, D. L. Slotnick, and R. A. Stokes. The IL-LIAC IV computer. // IEEE Transactions on Computers, C- 17(8):746-757, August 1968.
93. Barret R., Dongarra J. at al. Templates for the solution of linear systems:Building bloks for iterative methods, // SIAM,1994, http://www.netlib.org/templates/templates.ps
94. Beguelin, J. Dongarra, A. Geist, R. Manchek, and V. Sunder am. Recent enhancememnts to pvm. // International Journal of Supercomputing Applications and High Performance Computing, 1995.
95. P.K.Berzigyarov, Y.P. Boglaev. On the formal derivation of efficient computational algorithms. // preprint N 8-390, IVTAN Russian Academy of Sciences, Moscow,1995,18p.
96. Berzigyarov P.K. Static Pipelines for Divide-and-Conquer Functions: Transformations and Analysis // preprint IVTAN N 8-391 ,-M.: 1995, 25p
97. P. Berzigyarov and Y. Boglaev. Logic derivation of parallel linear equation system solvers within elimination strategy. // Parallel Algorithms and Applicfnion.Vol.4, No. 1/2, 1994, pp 21-40.
98. P.Berzigijarov, V.A.Zayets, V.M.Razumov, and E.F.Sheka. MP-ZAVA Parallel Code for a Modified NDDO-method, Budapesht, 2000
99. Gerald Berry and Gerald Boudol. Chemical Abstract Machines. // Theoretical Computer Science, 96:217-248, 1992.
100. G. Bilardi, K.T. Herley, A. Pietracaprina, G. Pucci, and P. Spirakis. Bsp vs LogP. // In Proceedings of the 8th Annual ACM Symposium on Parallel Algorithms and Architectures, pages 25-32, June 1996.
101. G. Bilardi, A. Pietracaprina, and G. Pucci. A Quantitative Measure of Portability with Application to Bandwidth-Latency Models for Parallel Computing. // in Proceeding of Eu-ropar99.
102. G. Bilardi and F. P. Preparata. Horizons of parallel computation. // Journal of Parallel and Distributed Computing, 27(2): 172-182, June 1995.
103. L.S.Blackford at al. ScaLAPACK Users' Guide, http:://www.netlib.org/scalapack /slug/scalapackslug.html
104. Guy E. Blelloch "NESL: A Nested Data-Parallel Language" , // Technical report CMU-CS-93-129, Carnegie Mellon University, April 1993
105. G. Blelloch. Programming Parallel Algorithms. // Communications of the ACM, March 1996.
106. R.D. Blumofe M. Frigo, C.F. Joerg, C.E. Lieserson, and K.H. Randall. An analysis of dag consistent distributed shared-memory algorithms. // in proc. Of the8th annual ACM Symp. On Parallel Algorithms and Architectures, November 1994.
107. R.D. Blumofe and C.E. Leiserson. Scheduling Multithreaded Computations by Work Stealing. // In Proceedings of the 35th Annual IEEE Conference on Foundations of Computer Science, November 1994.
108. Yu.P. Boglaev. On the Parallel and Perpendicular Computations // Parallel Algorithms and Applications, Vol. 3, 1994, p. 89-107.
109. Boglaev, P. Berzigyarov, A. Karpenko, and S. Zybin. Block representations of computing algorithms adapting with architecture of transputer systems. // Mailshort, Feb. 1991, pp. 27-32.
110. G. H. Botorog and H. Kuchen. Using Algorithmic Skeletons with Dynamic Data Structures. // In A. Ferreira, J. Rolim, Y. Saad, and T. Yang, editors, Proceedings of Irregular '96, volume 1117 of LNCS, pages 263-276. Springer, 1996.
111. G. H. Botorog and H. Kuchen. Algorithmic Skeletons for Adaptive Multigrid Methods. // In Proceedings of Irregular'95, LNCS, Vol. 980, Bverlin, Springer Verlag, pp.27-41
112. G. H. Botorog and H. Kuchen. Efficient High-Level Parallel Programming. // Theoretical Computer Science, 196(1-2):71-107, April 1998.
113. Brandt. Multilevel Computations: Review and Recent Developments. // In S. F. McCor-mick, editor, Multigrid Methods: Theory, Applications and Super-computing, pages 35-62 (of xiv + 644), New York, NY, USA, 1988. Marcel Dekker.
114. T. A. Bratvold. A Skeleton-Based Parallelising Compiler for ML. // In R. Plasmeijer and M. van Eekelen, editors, Implementation of Functional Languages, pages 23-32. Univer-siteit Nijmegen, September 1993. Technical Report 93-21.
115. T.A. Bratvold. Skeleton-based Parallelisation of Functional Programs. // PhD thesis, Dept. of Computing and Electrical Engineering, Heriot-Watt University, 1994.
116. S. Brock, and G. Ostheimer "Process Semantics of Graph Reduction" , 11 Technical report CS/95/2, University of St Andrews, March 1995.
117. K.D.Bromer, M.Needels, B.E.Larson, J.D.Joannopoulos, Phys. Rev. Letts., 68 (1992) 1355.
118. M. Brosgol. Ada. // Communications of the ACM, 35(11):41-42, November 1992.
119. C.G.Broyden, J. Inst. Mathem. Appl., 6 (1970) 222; R.Fletcher, Comput. Journ., 13 (1970) 317; D.Goldfarb, Mathem. Computns., 24 (1970) 23; D.F.Shanno, Mathem. Computns., 24 (1970) 647; D.F.Shanno, J. Opt. Theor. Applns., 46 (1985) 87.
120. Helmar Burkhart, Carlos Falco Korn, Stephan Gutzwiller, Peter Ohnacker, and Stephan Waser "BACS: Basel Algorithm Classification Scheme" , // Technical report 93-3, Department for Computer Science, University Basel, Switzerland, March 1993
121. A. Burns. Programming in Occam2. Addison-Wesley, Reading, Mass., 1988.
122. R. Bur stall and J. Darlington. A transformational system for developing recursive programs // J. of the ACM 24, 1 (1977), 44-67.
123. K.Y.Burstein, A.N.Isaev, Theor. Chim. Acta, 64 (1984) 397.
124. T.Qagin, J.Che, Y.Qi, Y.Zhou, E.Demiralp, G.Gao, W.A.Goddard III, Journ.Nanopart. Research, 1 (2000) 51.
125. W. Cai and D. B. Skillicorn. Calculating recurrences using the bird-meertens formalism. // Parallel Processing Letters, 1995.
126. K. G. Campbell. CLUMPS: a candidate model of effcient, general purpose parallel computation. PhD thesis, Department of Computer Science, University of Exeter, October 1994.
127. K. G. Campbell. Further Results with Algorithmic Skeletons for the CLUMPS Model of Parallel Computation. // Technical Report YCS 275, Department of Computer Science, University of York, December 1996.
128. K. G. Campbell. Towards the Classification of Algorithmic Skeletons. // Technical Report YCS 276, Department of Computer Science, University of York, 1996.
129. K. G. Campbell. A Survey of Models of Parallel Computation. // Technical Report YCS-278, Department of Computer Science University of York, 1997.
130. B. Carpentieri and G. Mou, Compile-time transformations and optimizations of parallel divide-and-conquer algorithms, // ACM SIGPLAN Notices 26, 10(1991), 19-28.
131. N. Carriero, D. Gelernter, "Linda in Context", // Communications of the ACM, Vol. 32, No. 4, 1989, pp. 444-458.
132. Nicholas Carriero. Implementation of Tuple Space Machines. Ph.D. Dissertation, Technical Report 567, Yale University Department of Computer Science, Oct. 1987.
133. Nicholas Carriero and David Gelernter. How to Write Parallel Programs: A First Course. The MIT Press, 1990.
134. Chailloux, M. Danelutto, R. Di Cosmo, X. Leroy, and S. Pelagatti. Ocamlp31. WWW site, 1997. http://qui.di.unipi.it/ocamlp31.html.
135. KM. Chandy and J. Misra, Parallel Program Design: A Foundation, Prentice-Hall, Englewood Cliffs, NJ,1988
136. S. Ciarpaglini, M. Danelutto, L. Folchi, C. Manconi, and S. Pelagatti. ANACLETO: a Template-based p31 Compiler. // In Proceedings of the Seventh Parallel Computing Workshop (PCW '97), Australian National University, Canberra, August 1997.
137. T.A.Clark, Handbook of Computational Chemistry, John Wiley and Sons, New York, 1985.
138. K. Clark and S. Gregory. Parlog: Parallel Programming in Logic. // ACM Transactions on Programming Languages and Systems, 8(1): 1-49, January 1986.
139. W.F. Closkin. A technique for translating clausal specifications of numerical methods into efficient programs, // Journal of Logic Progarmming 5 (1988), 231-242.
140. W.F. Closkin and C.S. Melish, Programming in Prolog, Springer-Verlag, New-York, 1984.
141. R. Cok. Parallel Programs for the Transputer. Prentice-Hall, 1991.
142. M. I. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. // The MIT Press, Cambridge, Massachusetts, 1989.
143. M. I. Cole. A Skeletal" Approach to Exploitation of Parallelism. // In C. R. Jesshope and K. D. Reinartz, editors, CONPAR 88, British Computer Society Workshop Series. Cambridge University Press, 1989.
144. Computational Chemistry. Molecules, Visualization and Simulation, Hypercube Inc., 1994.
145. T. H. Cormen, C. E. Leiserson, cindR. L. Rivest. Introduction to algorithms. MIT Press and McGraw-Hill Book Company, 6th edition, 1992.
146. Cray Research Inc. Cray T3D System Architecture Overview Manual, 1993. HR-04033.
147. M. D. Cripps, J. Darlington, et al. The design and implementation of ALICE: A parallel graph reduction machine. // In Proceedings of the Workshop on Graph Reduction, New York, NY, 1987. Springer-Verlag.
148. D. Culler, R. Karp, D. Patterson, A. Sahay, K.E. Schauser, E. Santos, R. Subramonian, and von T. Eicken. Logp: Towards a Realistic Model of Parallel Computation. // In Proceedings of the 4th ACM SIGPLAN, May 1993.
149. D. E. Culler, J. P. Singh, and A. Gupta. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, 1998.
150. L. Dagum and R. Menon. OpenMP: An industry-standard API for shared-memory programming. // IEEE Computational Science & Engineering, 5(l):46-55, January/March 1998.
151. W. Dally. Network and Processor Architecture for Message-Driven Computers. // In R. Suaya and G. Birtwhistle, editors, VLSI and Parallel Computation, pages 140-222. Morgan Kaufmann, 1990.
152. W.J. Dally. The j-machine: A fine grain concurrent computer. // In Proceedings of the IFIP Congress, pages 1147-1153, August 1989.
153. W.J. Dally. Performance Analysis of k-ary n-cube Interconnection Networks. // IEEE Transactions on Computers, 39(6), June 1990.
154. M. Danelulto. Web site. http://www.di.unipi.it/marcod/MdCluster/index.html, 1999.
155. M. Danelutto, F. Pasqualetti, and S. Pelagatti. Skeletons for Data Parallelism in P3L. // Lecture Notes in Computer Science, 1300:619-627, 1997.
156. M. Danelutto and S. Pelagatti. Parallel implementation of FP using a template-based approach. // In 5th international workshop on the implementation of functional languages, pages 7-21, September 1993.
157. M. Danelutto and S. Pelagatti. Parallel Implementation of fp using Template-based Approach. // Technical report, Department of computer Science University of Pisa, 1993.
158. M. Danelutto, S. Pelagatti, and M. Vanneschi. Restricted parallel models. // In G. Balbo and M. Vanneschi, editors, General Purpose Parallel Computers: Architectures, Programming Environments, and Tools, pages 155-208. ETS, Pisa, 1995.
159. Darlington, A.J. Field, P.G. Harrison, P.H.J. Kelly, D.W.N. Sharp, Q. Wu, andR.L. While. Parallel programming Using Skeleton Functions. // In Parallel Architectures and Languages Europe. Springer-Verlag, June 93.
160. John Darlington, Yike Guo, Hing Wing To and Jin Yang. SPF: Structured parallel Fortran. // PCW'96 Proceedings of the Sixth Parallel Computing Workshop, Kawasaki, Japan, November 1996.
161. J. Darlington, Y. Guo, H. W. To, and J. Yang. Skeletons for structured parallel composition. // In Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming; Santa Barbara; California USA, 1995.
162. J. Darlington, Y.-K. Guo, Ring Wing To, and J. Yang. Functional skeletons for parallel coordination. // Lecture Notes in Computer Science, 966:55-67, 1995.
163. J. Darlington, Y.-K. Guo,. Parallel Problem solving, 1999.
164. Greg Davis and Berna Massingill; "The Mesh-Spectral Archetype"; Caltech CS-TR-96-26.
165. P. De La Torre and C. P. Kruskal. Submachine locality in the bulk synchronous setting. Lecture Notes in Computer Science, 1124:352-360, 1996.
166. N. Dershowitz. Functional Programming, Concurrency, Simulation and Automated Reasoning, // Lecture Notes in Computer Science 693, 199-228 (1993)
167. N. Dershowitz and J.-P. Jouannaud. Rewrite Systems // Chap. 6 of Handbook of Theoretical Computer Science B: Formal Methods and Semantics, J. van Leeuwen, ed., North-Holland, Amsterdam (1990) 243-320
168. M. DeSimone. Active expressions: A Language-Based Model for expressing Concurrent Patterns. Master's thesis, University of Waterloo, 1997.
169. M. DeSimone and G. V. Wilson. Programmer's toolchest: The Active Expressions library: Parallel programming with C++ operator overloading. // Dr. Dobb's Journal of Software Tools, 23(8):76, 78-79, 92-94, August 1998.
170. M.J.S.Dewar, The Molecular Orbital Theory of Organic Chemistry, MsGraw-Hill, New York, 1969.
171. M.J.S.Dewar, W.Thiel, J.Am.Chem.Soc., 99 (1977) 4899.
172. M.J.S.Dewar E.G.Zoebisch, E.F.Healy, J.J.P.Stewart, J.Am.Chem.Soc., 107 (1985) 3902.
173. M.J.S.Dewar, C.Jie, J.Yu, Tetrahedron, 49 (1993) 5003.
174. Dewar Research Group and J.J.P.Stewart, AMPAC: Austin Method I Package, QCPE program 506 (1986), see QCPE Bull. 6 (1986) 24.
175. Jack.J. Dongarra, H. W. Meuer, E. Strohmaier. TOP500, www.TOP500.org
176. W.J. Paul F. Abolhassan, J. Keller. On the Cost-Effectiveness of PRAAs. // In IEEE Comp. Soc., editor, SPDP, pages 2-9,1991.
177. D.J. Evans. Block partitioned matrix algorithms for VLSI systolic arrays. // In. Parallel and Distributed Algorithms, M. Cosnard et al., eds, Elsevier, North-Holland, Amsterdam, 1989, 55-65.
178. D.J. Evans and M. Hhatzopoulos. A parallel linear system solvers, // Intern. J. Computer Math. 7 (1977), 227-238.
179. Fagin and A. Despain. The performance of parallel Prolog programs. // IEEE Transactions on Computers, 39(12):1434-1445, December 1990.
180. M. Feng and C. Leiserson. Effcient detection of determinacy races in cilk programs. // MST: Mathematical Systems Theory, 32, 1999.
181. Fernandez-Baca. Allocating Modules to Processors in a Distributed System. // IEEE Transactions on Software Engeneering, 15(11): 1427-1436, November 1989.
182. J. Ferrari. JPVM: Network parallel computing in java. // Technical Report CS-97-29, Department of Computer Science, University of Virginia, December 8 1997. Fri, 12 Dec 1997
183. G.D. Fletcher, M.F. Guest, A.P. Rendell and P. Sherwood, Parallelisation of GAMESS-UK CCLRC Daresbury Laboratory Interactive // Molecular Modelling through Parallelism, EUROPORT 2 Consortium, IMMP
184. R.Fletcher, FORTRAN Subroutines for Minimization by Quasi-Newton Methods, U.K Atom Energy Auth. Res. Group, NAERE R7125, 1972, p.29.
185. S. Fortune and J. Wyllie. Parallelism in random access machines. // In Conference Record of the Tenth Annual ACM Symposium on Theory of Computing, pages 114-118, San Diego, California, 1-3 May 1978.
186. Ian Foster, Designing and Building Parallel Programs, Home Page: http:// www. mcs .anl. gov/dbpp
187. Fox, G. Software for HPCC Petaflops Architectures-A White Paper. // Technical Report SCCS-783, Syracuse University, NPAC, Syracuse, NY, December 1996.
188. MP I Forum. MPI2 standard, http://www.mpi-fomm.org/docs/mpi-20.ps, May 1998.
189. M.A. Franklin. VLSI Performance Comparison of Banyan and Crossbar Communications Networks. // IEEE Transactions on Computers, 1981.
190. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: Abstraction and reuse of object-oriented design. // In Oscar M. Nierstrasz, editor, ECOOP '93 Object-Oriented
191. Programming 7th European Conference, Germany, July 1993. Proceedings, number 707 in Lecture Notes in Computer Science, pages 406-431. Springer-Verlag, New York, N.Y., 1993.
192. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software // Addison-Wesley, 1995.
193. D. Gelernter and N. Carriero. Coordination languages and their signicance. // Communications of the ACM, 35(2):97-107, February 1992.
194. A. V. Gerbessiolis and F. Petrini. Network performance assessment under the bsp model. // In S. Gorlatch, editor, CMPP98 First International Workshop on Constructive Methods for Parallel Programming, number 9805 in MPI. Universität Passau, May 1998.
195. A. V. Gerbessiotis and C.J. Siniolakis. Primitive Operations on the BSP Model. // Technical Report PRG-TR-23-96, Oxford Unversity Computing Laboratory, October 1996.
196. V. Getov, S. Flynn-Hummel, and S. Mintchev. High-performance parallel programming in Java: Exploiting native libraries. // In ACM Workshop on Java for High-Performance Network Computing, Palo Alto, California, 1998.
197. P. B. Gibbons. A more practical PRAM model. // In ACM-SIGACT; ACM- SIGARCH, editor, Proceedings of the 1st Annual ACM Symposium on Parallel Algorithms and Architectures, pages 158-168, Santa Fe, NM, June 1989. ACM Press.
198. Giloi W. K. Towards a Taxonomy of Computer Architecture Based on the Machine Data Type View // Proc. of 10th Ann. Int'l Symp. Computer Architecture. 1983. P.6-17.
199. A.Goldblum, J.Comp.Chem., 8 (1987) 835.
200. S. Gorlatch, H. Bischof. A Generic MPI Implementation for a Data-Parallel Skeleton: Formal Derivation and Application to FFT // Information Processing, Letters, 1998, 12p.
201. Dhrubajyoti Goswami. Ajit Singh and Bruno R. Preiss, "Using Object-Oriented Techniques for Realizing Parallel Architectural Skeletons", // In proceedings of the third International Symposium on Computing in Object-oriented Parallel Environments (75
202. COPE'99), San Francisco, California, December 1999. Appeared in Lecture Notes in Computer Science, Vol. 1732, pp. 130-141.
203. Grama, V. Kumar, and A. Sctmeh. Scalable Parallel Formulations of the Barnes-Hut Method for n-body Simulations. // Parallel Computing, 24(5- 6):797-822, June 1998.
204. GrebenjukA.G., Zaets V.A., Gorlov Yu. ¡.//React. Kinet. Catal. Lett. 50, № l/2-(1993) 257.
205. D. Gris, The Science of Programming, Springer-Verlag, New-York, 1981.
206. W. Gropp, S. Huss-Ledermann, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir, M. Snir, MPI: The Complete Reference, Vol. 2, The MPI Extensions // MIT Press, Boston, 1998.
207. M.F. Guest and P. Sherwood, A. Nichols Massive Parallelism: The Hardware for Computational Chemistry.
208. J. L. Gustafson. Reevaluating Amdahl's law. // Communications of the ACM, 31, 5:532533, 1988.
209. De Guzman I.P., P.G. Harrison, E. Medina, Pipelines for divide-and-conquer functions // Computer Journal, v.36,(3),pp.254-268. 1993.
210. Gaetan Hains, and Christian Foisy "The Data-Parallel Categorical Abstract Machine" // In Parallel Architectures & Languages Europe, Springer LNCS, 1993
211. K Hammond. Parallel functional programming: An introduction (invited paper). // In PASCO'94: First International Symposium on Parallel Symbolic Computation. World Sci-entic Publishing Company, September 94.
212. F.E.Harris, J.Chem.Phys., -1969.-51,No.ll.-p.4770-4778.
213. P.G. Harrison A higher-order approach to parallel algorithms, // The Computer Journal, Vol. 35, No 6,1992, 555-564
214. K A. Hawick, D. A. Grove, and F. A. Vaughan. Beowulf A New Hope for Parallel Computing? // In Proceedings of the 6th IDEA Workshop, Rutherglen, January 1999. Also available as DHPC Technical Report DHPC-061.
215. W.J.Hehre , L.Radom, P.v.R.Schleyer, J.A.Pople, Ab Initio Molecular Orbital Theory, John Wiley and Sons, New York, 1986.
216. J. L. Hennessy and D. A. Patterson. Computer Architecture a Quantitative Approach. Morgan Kaufmann, 2nd edition, 1996.
217. J. G. Hey. Experiments in MIMD parallelism. // In PARLE 1989. LNCS 365, SpringerVerlag, 1989.
218. T. HeywoodandC. Leopold. Models of Parallelism. // Technical Report CSR- 28-93, Department of Computer Science University of Edinburgh, 1993.
219. T. Heywood and S. Ranka. A Practical Hierarchical Model of Parallel Computation. // Journal of Parallel and Distributed Computing, 1(16(3)):212-232, 1992.
220. Higbie L. C. Supercomputer architecture // Computer. 1973. V.6. N 12. P.48-56.
221. High Performance Fortran Forum. High Performance Fortran language specication. // Scientic Programming, 2(1-2): 1-170, 1993.
222. J. M. D. Hill, B. McColl, D.-C. Stefanescu, M. W. Goudreau, K. Lang, S. B. Rao, T. Suel, T. Tsantilas, and R. H Bisseling. BSPlib: The BSP programming library. // Parallel Computing, 24(14), 1998.
223. W. D. Hillis. The Connection Machine. The MIT Press, 1985.
224. R. G. Hintz and D. P. Tate. Control data STAR-100 processor design. // In Proc. Compcon 72, pages 1-4, New York, 1972. IEEE Computer Society Conf. 1972, IEEE.
225. A. R. Hoare. Communicating sequential processes. // Communications of the ACM, 21(8), 1978.
226. C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, London, 1985.
227. Hockney R. Parallel Computers: Architecture and Performance // Proc. of Int. Conf. Parallel Computing'85. 1986. P.33-69.
228. R.W. Hockney, C. Jesshope, Parallel Computers II: Architecture, Programming and Algorithms, Adam Hilger, Ltd., Bristol, United Kingdom, 1988.
229. R. Hockney. Performance parameters and benchmarking of supercomputers. // Parallel Computing, 17(10-11):1111-1130, December 1991.
230. G.J. Hogger, Derivation of logic programs, // J. Of the ACM 28, (1981), 372-392.
231. G.J. Hogger, Inroduction to Logic Programming, Academic Press, 1984.
232. A.J.Holder, R.D.Dennington, C.Jie, Tetrahedron, 50 (1994) 627.
233. P. Hudak. Para-Functional programming in Haskell. // In B. K. Szymansky, editor, Parallel Functional Language and Compilers, chapter 5, pages 159- 195. Addison-Wesley, 1989.
234. K. Hwang. Advanced Computer Architecture Paralelism, Scalability, Programmability. McGraw-Hill, New York, 1993.
235. K. Hwang and F. A. Briggs. Computer Architecture and Parallel Processing. McGraw-Hill International, 1985.
236. INMOS limited. Occam Programming Manual, 1984.
237. Paragon XP/Sproduct overview. Intel Corporation, 1991.
238. D.V. James, A.T. Laundrie, S. Gjessing, and G.S. Sohi, Scalable Coherent Interface, // IEEE Computer, 23, 6, (1990), 74-77. See also: Scalable Coherent Interface, http://sunrise.scu.edu/.
239. B. Jay and M. Sekanina. Shape checking of array programs. // In Computing: the Australasian Theory Seminar, Proceedings, 1997, volume 19 of Australian Computer Science Communications, pages 113-121, 1997.
240. C.F. Joerg. The Cilk System for Parallel Multithreaded Computing. PhD thesis, MIT, January 1996
241. M. Joy, and Tom H. Axford "A Parallel Graph Reduction Machine" // In Proceedings of the 4th Int. Workshop on the Parallel Implementation of Functional Languages, 92
242. Jouppi N.P. Superscalar vs. Superpipelined Machines // Computer Architecture News. V.16. N2. P.71-81.
243. S. L. Peyton Jones. The implementation of functional programming languages. Prentice Hall International, 1987. C.A.R. Hoare Series Editor.
244. B.H. Juurlink and A.G. Wijsho. The E-BSP model: Incorporating General Locality and Unbalanced Communication into the BSP Model. In EUROPAR: // Parallel Processing, 2nd International EURO-PAR Conference. LNCS, 1996.
245. H. Juurlink and A.G. Wijsho. A Quantitative Comparison of Parallel Computation Models. // ACM Transactions on Computer Systems, 16(3):271- 318, August 1998.
246. Kavi K., Gragon H. A Conceptual Framework for the Description and Classification of Computer Architecture // Proc. IEEE Int'l Workshop Computer Systems Organization. 1983. N464. P.10-19.
247. V.Khavryutchenko, E.Sheka, D.-Huang, M.Aono, Phys.Low-Dim.Struct., 1 (1995) 1; V.Khavryutchenko, E.Sheka, M.Aono, D.-Huang, Phys.Low-Dim.Struct., 9/10 (1996) 15; ibid. 11/12 (1996) 1; ibid. 3/4 (1998) 81.
248. J. W. Klop. Term Rewriting Systems, // Report CS-R9073, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, 1990.
249. J. W. Klop. Term Rewriting Systems // Chap. 1 in Handbook of Logic in Computer Science, vol. 2, S. Abramsky, D. M. Gabbay, and T. S. E. Maibaum, eds., Oxford University Press, Oxford (1992) 1-117.
250. E. Kohen, Programming in the 1990s: An Introduction to the Calculus of Programs, Springer-Verlag, New-York, 1990.
251. R. Kowalski, Logic for Problem Solving, Elsevier, North Holland, Amsterdam, 1979.
252. R. Kowalski, The relation between logic programming and logic specification, // Phil. Trans. R. Soc. Lond. A 312 (1984), 345-361.
253. M.Kraeva, V.Malyshkin. Title Implementation of PIC Method on MIMD Multicomputers with Assembly Technology. // In Proceed, of HPCN'Europe 1997 (High Performance
254. Computing andNetworking) International Conference, LNCS, Vol.1255, Springer Verlag, 1997. pp. 541-549.
255. R. Kremer, Software Reuse, University of Calgary, 1999, http:// sern.ucalgary.ca/courses/CPSC/451/W99/reuse.html
256. P. Kruskal and M. Snir. The performance of multistage interconnection networks for multiprocessors. // IEEE Transactions on Computers, C-32, Dec 1983.
257. V. Kumar and A. Grama et.al, Introduction to Parallel Computing: Design and Analysis of Algorithms, http://www.cs.purdue.edu/homes/ayg/publications/work.html
258. T. Kung. Why systolic architectures? // IEEE Computer, 15(l):37-46, January 1982.
259. T. Kung. Computational models for parallel computers. In Scientic applications of multiprocessors. Prentice Hall, 1989.
260. Lastovetcky A.L. mpC: A Multi-Paradigm Programming Language for Massively Parallel Computers // ACM SIGPLAN Notices, 31(2): 13-20, February 1996.
261. Laudon and D. Lenoski. The SGI Origin: A ccNUMA Highly Scalable Server. Silicon Graphics, Inc., 1997.
262. E. Leiserson and D.J. Berg . Multithreaded programming with pthreads // Sun Microsystems, 2550, Garcia Avenue, Mountain View, CA 94043, USA, 1998.
263. Lewis and D. J. Berg. Multithreaded programming with pthreads. // Sun Microsystems, 2550 Garcia Avenue, Mountain View, CA 94043, USA, 1998.
264. Z. Li, P. H. Mills, and J. H. Reif. Models and resource metrics for parallel and distributed computation. // Parallel Algorithms and Applications, 8:35-59, 1996.
265. Lin, T.-H., Haupt, T., and Fox, G. '' Parallel ization of MOP AC." Technical Report SCCS-744, Syracuse University, NPAC, Syracuse, NY, 1995.
266. Lnmos Ltd. Occam Reference Manual. // Series in Computer Science. Prentice Hall, 1984.
267. S. MacDonald, D. Szafron, J. Schaeffer, and S. Bromling "Generating Parallel Program Frameworks from Parallel Design Patterns", // accepted at Euro-Par 2000, August 2000.
268. S. MacDonald, D. Szafron, J. Schaejfer, and S. Bromling "From Patterns to Frameworks to Parallel Programs", // submitted to IEEE Concurrency, August 1999.
269. S. MacDonald. "Parallel Object-Oriented Pattern Catalogue", // draft, November 1998.
270. S. MacDonald "Design Patterns in Enterprise", // In CASCON '96 CD-ROM Proceedings, Toronto, Ontario, Canada, November 1996.
271. M. Danelutto, R. Di Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi A methodology for the development and the support of massively parallel programs. // Future Generation Computer System, l(8):205-220, August 1992.
272. M.E. Mace. Storage Patterns in Parallel Processing. Kluwer Acedemic Press, 1987.
273. Maggs. A critical look at three of parallel computing's maxims. I! In ISPAN: Proceedings of the International Symposium on Parallel Architectures, Algorithms, and Networks (I-SPAN). IEEE Computer Society Press, 1996.
274. M. Maggs, L. R. Matheson, and R. E. Tarjan. Models of parallel computation: a survey and synthesis. // In Proceedings of the 28th Hawaii International
275. L. C. Mclnnes and B. F. Smith PETSc 2.0: A case study of using MPI to develop numerical software libraries. // This was our contribution to the 1995 MPI Developers Conference, held at the University of Notre Dame, June 22-23, 1995.
276. Berna L. Massingill and K. Mani Chandy "Parallel Program Archetypes" // Techical Report CS-TR-96-28, California Institute of Technology, 1996
277. Berna L. Massingill; "A Structured Approach to Parallel Programming" (Ph.D. thesis); Caltech CS-TR-98-04.
278. Berna Massingill; "The Mesh Archetype"; // Caltech CS-TR-96-25.
279. Berna L. Massingill, Timothy G. Mattson, and Beverly A. Sanders; "A Pattern Language for Parallel Application Programming"; // UF CISE TR 99-022 http://www.cise.ufl.edu/research7ParallelPatterns.
280. T.M. Mattson, G. Henry, An Overview of Intel TFLOPS Supercomputer, 1998,12p.
281. May, R. Stepherd, and C. Keane. Communicating Process Architecture: Transputers and Occam. // In P.Treleaven and M.Vanneschi, editors, Future Parallel Computers, volume 272 of LNCS, pages 35-81. Springer-Verlag, 1987.
282. W. F. McColl. The bsp approach to architecture independent parallel programming. // Technical report, Oxford University Computing Laboratory, December 1994.
283. W F McColl. General Purpose Parallel Computing. // In A M Gibbons and P Spirakis, editors, Lectures on Parallel Computation. Proc. 1991 ALCOM Spring School on Parallel Computation, pages 337-391. Cambridge University Press, 93.
284. MEIKO. Computing surface 2 overview. // Technical report, MEIKO, 1993.
285. Jill P. Mesirov Very Large Scale Computation in the 21st Century, http://www.amazon.eom/exec/obidos/ASIN/0898712793/qid%3D939116682/002-3875462-0861814
286. P. Messina, D. Culler, W. Pfeier, W. Martin, J. T. Oden, and G. Smith. Architecture. // Communications of the ACM, 41(ll):36-44, November 1998.
287. P. C. Messina, T. A. Sterling, and P. H. Smith. Enabling Technologies for PetaFlops Computing. MIT Press, 1995.
288. Zhijing G. Mou, and Paul Hudak "An Algebraic Model for Divide-and-Conquer and Its Parallelism" // Journal of Supercomputing , 2:257-278, 1988.
289. T. Mikkonen. Formalizing design patterns. // In Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan, pages 115-124, Los Alamitos, California, April 1998. IEEE.
290. J. Miklosko(Ed.), Fast algorithms and their implementation on specialised parallel computers // Special Topics in Supercomputing, Vol. 5, 1989.
291. R. Miller. Two approaches to architecture-independent parallel computation. PhD thesis, Oxford University Computing Laboratory, 1994.
292. R. Milner, M. Tofte, and R. Harper. The Denition of Standard ML. MIT Press, 1990. Cambridge, Mass.
293. R. Milner. A Calculus of Communicating Systems, // LNCS, Vol. 92, Springer-Verlag, 1980.
294. Robin Milner. A complete inference system for a class of regular behaviors. // Journal of Computer and System Sciences, 28(3):439-466, June 1984.
295. Robin Milner. Calculi for synchrony and asynchrony. // Theoretical Computer Science, 25(3):267-310, July 1983. Fundamental study.
296. R. Milner. Process constructors and interpretations. // in H. J. Kugler (ed.), Information Processing 86, pp. 507-518, Elsevier Science Publishers B. V. (North-Holland), IFIP, 1986
297. Robin Milner. Communication and Concurrency. // International Series in Computer Science. Prentice Hall, 1989.
298. Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, I. // Information and Computation, 100(l):l-40, September 1992.
299. Robin Milner "Action Structures for the Pi-Calculus" , // LFCS report ECS-LFCS, Department of Computer Science, University of Edinburgh, 1993 JCMB, The Kings Buildings, Mayfield Road, Edinburgh
300. S. Mintchev and V. Getov. Towards portable message passing in Java: Binding MPI. // Lecture Notes in Computer Science, 1332:135-145, 1997.
301. Oaks andH. Wong. Java Threads. 0 Reilly, Sebastopol, CA, USA, 1997.
302. O'Donnell and G. Runger. A methodology for deriving parallel programs with a family of parallel abstract machines. // In Proceedings of Europar 97, LNCS Springer, 1997.
303. S. Orlando and R. Per ego. A coordination layer for exploiting task parallelism with HPF. // Lecture Notes in Computer Science, 1511:386-394, 1998.
304. J.M.Ortega in Articles in Mathematics for Digital Computers, vol.2. Eds. Ralston and Wilf, Wiley: London, 1967, p.94.
305. F.O. Osoba and F.A. Rabhi. A Parallel Multigrid Skeleton using BSP. // In Proceeding of EuroPar98, LNCS Springer, 1998.
306. Parsytec. The PARIX pregramming environment. // In A. Allen, editor, Transputer Systems ongoing Research, pages 218-230, Amsterdam, 1992. IOS Press.
307. Pasetto and M. Vanneschi. Machine independent analytical models for cost evaluation of template-based programs. // Technical Report TR-96-08, Dipartimento di Informatica, April 16 1996. Sat, 20 Apr 1996 14:10:19 GMT.
308. A. Patterson, D. E. Culler, and T. E. Anderson. A case for NOW (networks of workstations) abstract. // In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, page 17, Ottawa, Ontario, Canada, 2-23 August 1995.
309. M Pease, The C (2,in) Algorithm for matrix inversion, Stanford Research Institute, Menlo Park, CA, 1974.
310. S. Pelagatti Structured Development of Parallel Programs. Taylor & Francis, 1997.
311. S. Pelagatti A methodology for the development and the support of massively parallel programs. PhD thesis, Dipartimento di Informatica Universita' di Pisa, 1993.
312. P. Pepper. Deductive Derivation of Parallel Programs. // In Robert Paige, John Reif, and Ralph Wachter, editors, Parallel Algorithm Derivation and Program Transformation, pages 1-53, 1993.
313. S. L. Peyton-Jones. Parallel Implementation of Functional Programming Languages. // The Computer Journal, 32(2): 175-186, 1989.
314. G. Plotkin. A structural approach to operational semantics. // Technical Report DAIMI FN-19, Aarhus University, Department of Computer Science, Aarhus, 1981.
315. J.A.Pople, D.L.Beveridge, Approximate Molecular Orbital Theory, McGraw-Hill, New York, 1970.
316. J.A.Pople, R.K.Nesbet, J. Chem. Phys., 22 (1954) 571.
317. G.F. Pster, W.C. Brantley, D.A. George, S.L. Harvey, W.J. Klein/elder, K.P. McAulife, E.A. Melton, V.A. Norton, and J. Weiss. Research parallel processor prototype (RP3): Introduction and architecture. 11 IEEE Transactions on Computers, 1985.
318. D.J. Pritchard, C.R. Askew, D.B. Carpenter, A. J. G. Hey, and D. A. Nicole. Pratical parallelism using transputer arrays. // In PARLE 1987, volume 258 of LNCS, pages 28-42. Springer-Verlag, 1987.
319. Michael J. Quinn, Parallel Computing: Theory and Practice,http://www.cs.orst.edu/~quinn
320. A. Rabhi. A Parallel Programming Methodology Based on Paradigms. // In P. Nixon, editor, Transputer and Occam Developments, pages 239-252. IOS Press, 1995.
321. A. Rabhi and J. Schwarz. POPE: A Paradigm-Oriented parallel Programming Environment for SIT Algorithms. // In J.G.W. Glauert, editor, 6th Workshop on the Implementation of Functional Languages, Norwich, September 1994. University of East Anglia.
322. Ramanathan and J. Oren. Survey of commercial parallel machines. // ACM Computer Architecture News, 21, 3:13-33, 1993.
323. R. Rangaswami. Compile-time cost analysis for parallel programming. // Lecture Notes in Computer Science, 1124:417-??, 1996.
324. R. Rangaswami. A Cost Analysis for a Higher-order Parallel Programming Model. PhD thesis, University of Edinburgh, 1996.
325. Reddi S.S., Ferstel E.A. A Conceptual Framework for Computer Architecture // Computing Surveys. 1976. V.8. N 2. P.277-300.
326. V. W. Reynders et al. POOMA: A Framework for Scientific Simulations on Parallel Architectures, // in Parallel Programming using C++, MIT Press, Cambridge, MA, 1996.
327. J.R. Rose and G.L. Steele Jr. C*: An extended c language for data parallel programming. // In Proceedings Second International Conference on Supercomputing, volume 2, pages 216, May 1987.
328. R. M. Russell. The CRAY-1 computer system. // Communications of the ACM, 21(1):63-72, January 1978.
329. V.R.Saunders, I.H.Hillier, Int.Journ.Quant.Chem., 4 (1973) 699
330. M. Seager, W. Hanson, The ASCI Blue Pacific System,//UCRL-IC-129063, 1997,
331. C.L.Seitz. The Cosmic Cube. // ACM, 1985.
332. S. L. Scott. Synchronization and communication in the T3E multiprocessor. // In Proc. ASPLOS VII, Cambridge, MA, Octobe 1996.
333. E. Shapiro. Concurrent Prolog: A progress report. // In IEEE Computer, August 1986.
334. Sibeyn and Kaufmann. BSP-like external-memory computation. // In CIAC: Italian Conference on Algorithms and Complexity, 1997.
335. D. Sharp, M. Grips and J. Darlington, Parallel-architecture-directed program transformation,// Parallel Computing 18 (1992), 1362-1380.
336. N.M. Schmidt at al., J. Comput. Chem. 14(1993), 1347-1363
337. Schwartz J. A Taxonomic Table of Parallel Computers, Based on 55 Designs. Courant Institute, NYU, New York. 1983.
338. Schwartz J. Ultracomputers // ACM Trans. Prog. Lang, and Syst. 1980. N 2. P.484-521.
339. E.Sheka, V.Khavrytchenko, E.Nikitina, J.Chem.Vap.Dep., 5 (1996) 1; Phys.Low-Dim.Struct., 11/12 (1996) 65.
340. E.F.Sheka, V.D.Khcivryutchenko, I.Markichev, Russ.Chem.Rev., 64 (1995) 389.
341. E.F.Sheka, V.D.Khavryutchenko, V.A.Zaets, Phys.Low-Dim.Struct., 2/3 (1995) 59.
342. E.F.Sheka, V.D.Khavryutchenko, V.A.Zaets, Int.Journ.Quant.Chem., 57 (1996) 741.
343. D.M.Sielver, J.Math.Phys., 12(1971) 1937.
344. SiewiorekD., BellC.G., Newell A. Principles of Computer Structure. McGraw-Hill. 1980.
345. Ajit Singh, Jonathan Schaeffer and Duane Szafron. Views on Template-Based Parallel Programming , // CASCON '96 , paper on CDROM, 1996.
346. Stephen Siu Openness and Extensibility in Design-Pattern-Based Parallel Programming Systems, // Master of Applied Science Thesis, University of Waterloo, Ontario, Canada, 1996, 102p.
347. Stephen Siu, Mauricio De Simone, Dhrubajyoti Goswami and Ajit Singh "Design Patterns for Parallel Programming", // In Proc. of Parallel and Distributed Processing Techniques and Applications, California, Aug. 1996.
348. D.B. Skillicorn. Architectures, costs and transformations. // In S. Gorlatch, editor, Proceedings of CMPP98, number 9805 in MPI, pages 1-15, 1998.
349. D.B. Skillicorn. A New Framework for Software Development, // Queen's TR1999-432,1999
350. D.B. Skillicorn, J. Hill, and B. McColl Questions and Answers about BSP. // Scientific Programming, 6(3):249-274, Fall 1997.
351. B. Skillicorn Models for Practical Parallel Computation. // International Journal of Parallel Programming, 20(2): 133-158, April 1991.
352. B. Skillicorn. Foundations of Parallel Programming. Cambridge University Press, Cambridge, 1994.
353. D.B. Skillicorn and D. Talia. Models and Programming Languages for Parallel Computation. // Computing Surveys, 30(2): 123-169, June 1998.
354. M. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. Dongarra MPI: The Complete Reference Vol. 1, The MPI Core, MIT Press, Boston, 1998.
355. Aad J. van der Steen, JackJ. Dongarra. Overview of Recent Supercomputers, www.phys.uu.nl//overw99-web/overwiew99.html
356. L. Sterling and E. Shapiro. The Art of Prolog, Advanced Programming Techniques, MIT Press
357. J.J.P.Stewart, J.Comp.Chem., 10 (1989) 209, 221.
358. J.J.P.Stewart, MOP AC, A Semiempirical Molecular Orbital Program, J.Computer-Aided Molecular Design, 4 (1990), 1. MOP AC: A General Molecular Orbital Package, QCPE program 455 (1983), see QCPE Bull. 3 (1983) 43; Program MOPAC93, Release 2 (1995).
359. V. Strassen. Gaussian elimination is not optimal. // Numerische Mathematik, 13, 969, 354-356.
360. E. Slrohmaier, J.J. Dongarra, H. W. Metier, H.D. Simon. The marketplace of highperformance computing // Parallel Computing 25, 1999,1517-1544
361. B. Stroustrup. The C++ Programming Language: Third Edition. Addison Wesley Publishing Co., Reading, Mass., 1997.
362. Sun Microsystems. The Java Language Specication, release 1.0 alpha 3 edi- tion, 1995.
363. Takeuchi and K. Furukawa. Parallel Logic Programming Languages. // In Ehud Shapiro, editor, Third International Conference on Logic Programming, pages 242-254, London, July 1986.
364. H.Tamaki and T. Sato, Unfold/fold transformation of logic programs, // Proc. Of the 2nd Int. Logic Programming Conference, Uppsala, 1984.
365. W.Thiel, J.Am.Chem.Soc., 103 (1981) 1413.
366. W.Thiel, A.A. Vojtyuk, J.Phys.Chem., 100 (1996) 616.
367. W. Thiel, Program MND094, Version 4.1, Zürich (1994).
368. C.-E. Thole, K. Stuben. Industrial simulation on parallel computers // Parallel Computing 25, 1999,2015-2037
369. H. W. To. Optimising the Parallel Behaviour of Combinations of Program Components. PhD thesis, University of London Imperial College of Science, Technology and Medicine, Department of Computing, 1995.
370. Thurber K. J. Large Scale Computer Architecture // Hayden Book Company, Rochelle Park, New Jersey, 1976.
371. J. D. Ullman, Alfred V. Aho, and John E. Hopcrofl. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, 1974.
372. L.G. Valiant. A Bridging Model for Parallel Computation. // Communications of the ACM, 33(8): 103-111, August 1990.
373. M. Vanneschi. Heterogeneous HPC environments. // Lecture Notes in Computer Science, 1470:21-34, 1998.
374. M. Vanneschi. Pqe2000 project: HPC Tools for Industrial Applications. IEEE Concurrency, 6(4):68-74, October/December 1998.
375. V-Class server architecture, Second Edition, 1998, http://docs.hp.com/ dy-naweb/hpuxl l/hwdgenla/varcenla/@GenericBookView.
376. G.Wilson. Chronology of major developments in parallel computing and supercomputing, 1999,www.unipademborn.de/fachbereich/AG/agmadh/WWW/GI/History /history.txt.gz
377. G. Wilson, R. Irvin, and A. Sukul. Assessing and Comparing the Usability of Parallel Programming Systems. // Technical Report CRSI-321, Department of Computer Science University of Toronto, March 1995.
378. T.L. Windus, M.W. Schmidt and M.S. Gordon, "Parallel Implementation of the Electronic Structure Code GAMESS", // ACS Symposium Series on Parallel Computing in Chemistry (# 592), T. Mattson, Ed., Chapter 2, 1995 (INVITED).
379. N. Wirth, Program development by Stepwise Refinement // CACM, 14,1971,221-227.
380. D. Womble at al. Massively parallel computing: A Scandia perspective, // Parallel Computing, 25 (1999), 1853-1876.
381. M. Wolfe. Parallelizing Compilers. // ACM Computing Surveys, 28(1 ):261-262, March 1996.
382. P.R. Woodward. Perspectives on supercomputing // Computer 29(10), 1996, 99-111
383. Y abe T., Ishikawa T., Wang P.Y. A universal solver for hyperbolic equations by cubic-polynomial interpolation II. Two- and three-dimensional solvers // Computer Physics Communications. 1991. № 66. P. 233-242.
384. V. R. Yakhnis, J. A. Farrell, S. S. Shultz: Deriving Programs Using Generic Algorithms. // IBM Systems Journal 33(1): 158-181 (1994)
385. J.Yang. Co-ordination Based Structured Parallel Programming. PhD thesis, University of London Imperial College of Science, Techology and Medicine Department of Computing, 1997.
386. Zavanella. Skeletons and BSP: Performance Portability for Parallel Programming, PhD thesis, Dipartimento di Informática Universita' di Pisa, 1999, 188 pp.
387. Zavanella and A. Milazzo. Predictability of Bulk Synchronous Programs Using MPI. // to appear in Proceedings of Euromicro 2000, 2000.
388. Zavanella and S. Pelagatti. Using BSP to Optimize Data-Distribution in Skeleton Programs. // In P. Sloot, M. Bubak, A. Hoekstra, and B. Hertzberger, editors, Proceedings of HPCN99, volume 1593 of LNCS, pages 613-622, 1999.
389. Andrea Zavanella, "The Skel-BSP Global Optimizer: Enhancing Performance Portability in Parallel Programming", // Proceedings of Europar 2000.
390. V.A.Zayets, CLUSTER-Z1 Quantum-Chemical Software. Institute of Surface Chemistry" Nat. Ac. Sci. of Ukraine, Kiev (1990).
391. V.A.Zayets, CLUSTER-Z2 Quantum-Chemical Software (spd-basis). Institute of Surface Chemistry' Nat. Ac. Sci. of Ukraine, Kiev (1990).
392. V.A.Zayets, Parametrization Of Atomic Species in the NDDO-WF Approximation, Kiev, 1990.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.