Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и разработка языковых средств описания неоднородных вычислительных систем и их реализация в системе программирования mpC Ледовских, Илья Николаевич

Диссертация, - 480 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Ледовских, Илья Николаевич. Исследование и разработка языковых средств описания неоднородных вычислительных систем и их реализация в системе программирования mpC : диссертация ... кандидата физико-математических наук : 05.13.11.- Москва, 2000.- 128 с.: ил. РГБ ОД, 61 00-1/420-0

Введение к работе

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

Актуальность темы.

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

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

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

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

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

Научная новизна.

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

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

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

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

Личный вклад соискателя:

На основе теоретических разработок А.Л.Ластовецкого и Т.Льюиса разработаны синтаксис и семантика средств описания неоднородных абстрактных вычислительных систем языка mpC.

Разработана LALR-грамматика языка mpC.

Спроектировано и реализовано внутреннее представление трС-нрограммы.

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

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

Разработана и реализована не имеющая аналогов интерактивная подсистема компилятора mpC Adviser, облегчающая разработку и понимание сложных параллельных программ на языке трС.

Основные научные и практические результаты диссертационной работы приводятся в заключении.

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

Апробация работы и публикации. Система программирования трС была опробована созданием ряда приложений из различных областей науки и техники. Результаты работ по созданию системы программирования трС, равно как и результаты ряда экспериментов с приложениями, были представлены на 4-й международной конференции Parallel Architectures and Compilation Techniques (PACT'96) в октябре 1996 года в США, на семинаре но новым технологиям в NASA Ames в ноябре 1996 года, США, на научных семинарах в ряде университетов США (University of Nebraska at Omaha, California Institute of Technology, Oregon State University, Naval Postgraduate School) в октябре-ноябре 1996 года на 30-й международной конференции Hawaii International Conference on System Sciences (HICSS'30) в январе 1997 года, США, на 2-м международном симпозиуме Aizu International Symposium on Parallel Algorithms/Architectures Synthesis (pAs'97) в марте 1997 года, Япония, на 11-ом международном симпозиуме International Parallel Processing Symposium (IPPS'97) в рамках 7м Heterogeneous Computing Workshop (HCW'97) в апреле 1997 года, Швейцария, на 5-м международном симпозиуме International Symposium on Solving Irregularly Structured Problems in Parallel (IRREGULAR'98), в августе 1998 года, США, на международной конференции EUROMICRO'98 в августе 1998 года, Швеция. По результатам исследования и реализации имеется 6 печатных работ. Список публикаций по теме работы приведен в конце автореферата.

На зашиту выносятся следующие результаты:

!. Средства описания абстрактных неоднородных вычислительных систем языка трС.

  1. Анализирующая компонента компилятора с языка трС, включающая фазы синтаксического анализа, атрибутного анализа и подсистему mpC Adviser.

  2. Модуль генерации топологических функций компилятора с языка трС.

Объем и структура диссертации. Диссертация состоит из введения, пяти глав, заключения и четырех приложений. Список литературы состоит из 42 наименований. Объем работы - 128 страниц, включая приложения. СОДЕРЖАНИЕ РАБОТЫ

Похожие диссертации на Исследование и разработка языковых средств описания неоднородных вычислительных систем и их реализация в системе программирования mpC