Введение к работе
Актуальность темы. Разработка и эффективная эксплуатация принципиально новых технологий получения научных знаний требуют наличия ЭВМ, быстродействие которых позволяет отнести их к классу суперЭВМ, а также специального системного и прикладного математического обеспечения (СМО).
Один из путей создания таких высокопроизводительных систем- использование крупноблочного подхода, который позволяет:
в сжатые сроки строить проблемно-ориентированные иерархические распределенные комплексы из модулей., представляющих, собой специализированные процессоры (СП), блоки многопортовой памяти, малые машины и даже универсальные ЭВМ;
благодаря преимущественному использовнию серийно выпускаемых модулей, достигать для этих систем высоких экономических показателей,
иметь возможность для аккумулирования и интегрированного использования СМО, разработанного для различных модулей.
Примеры таких систем - высокопроизводительный геофизический комплекс EC-I068.I7, параллельная машина EC-S7I0 (НРБ), многопроцессорные комплексы ИКИ РАН и EC-I766 (Украина), высокопроизводительная вычислительная система (ВВС) "Сибирь", разработанная в ВЦ СО РАН, -Ссар и lepics (США) и другие. Крупноблочный подход разрешает наращивать вычислительную мощность путем введения дополнительных уровней иерархии и формирования мультикластеров.
Среди проблем, которые'возникают при работе таких комплексов, принципиальной является использование совокупности параллельно действующих модулей для решения одной сложной задачи в условиях разнородности модулей и межмодульных интерфейсов, в условиях динамически изменяемого числа доступных модулей и "естественного" выхода их из строя. При этом весьма важной является, с одной стороны, проблема приемственности существующих методов и средств программирования, а с другой -проблема "прозрачности", "упрятывания" внутренней архитектуры комплекса при сохранении достаточной эффективности использования его ресурсов.
Целью работы является создание системы- параллельного программирования (СПП) для крупноблочных многопроцессорных.вычислительных комплексов (МВК), собранных . из серийных-средств вычислительной техники. Достижение этой цели предполагает:
разработку языка параллельного программииования как . средства описания больших, и сложных задач в виде системы, параллельно протекающих и 'взаимодействующих процессов;
создание алгоритмов исполнения новых операторов языка, обеспечивающих порождение, синхронизацию и обменные взаимодействия процессов, их взаимное исключение на общих ресурсах, а так же специальную разметку процессов;-
;- реализацию на ВВС "Сибирь" средств автоматизации параллельного программирования на базе этого языка.
Научная новизна диссертационной работы состоит в создании системы автоматизации параллельного программирования, обладающей следующими свойствами:
адаптируемостью параллельных программ к доступным ресурсам системы путем изменения'числа порождаемых процессов и/или порядка их исполнения;
распределением параллельных процессов по нескольким уровням иерархии, соответствующим многоуровневой структуре базового МВК, и предопределяющим, таким образом, в целом поэтапный и иерархический стиль сборочного программирования, параллельной и макроконвейерной обработки данных;
-,возможностью варьирования временем решения задачи путем изменения степени ее параллелизма, то есть числа порождаемых подчиненных процессов, специальной разметки этих процессов' и выбора средств их взаимодействий;
- управлением разнородными процессорными элементами,
межпроцессорными интерфейсами и системами программирования,
входящими в состав вычислительного комплекса.
Практическая ценность работы состоит:
в разработке системы параллельного программирования "Иня" для МВК EC-I068.I7 и ВВС "Сибирь";
в обеспечении определенной мобильности системы, позволяющей использовать идеи и фрагменты программного комплекса в МВК, базирующихся на другие вычислители, например, ПЭВМ;
в предоставлении пользователю средств, позволяющих из-
менять степень детализации программирования, - использование внутренних особенностей спецпроцессоров и МВК в целом для достижения максимальной эффективности вычислений;
- в организации эволюционного перехода от методов традиционного последовательного' программирования к идеологии и методам параллельного программирования.
Реализация результатов исследования. Разработанная СПП внедрена и используется для разработки параллельных программ в КЦИИТ (София, Болгария), ЦГЭ Миннефтепрома (Москва).
Публикации и апробация работы. По теме диссертации опубликовано 10 работ. Основные результаты докладывались на Всесою-. зном научно-техническом семинаре "Программное обеспечение многопроцессорных систем" (Калинин, 1988), 8-м Всесоюзном семинаре "Параллельное программирование и высокопроизводительные структуры" (Киев, 1988), на 19-й Региональной Северо-Кавказской школе по системному программированию "Современные супер-ЭВМ: Архитектура и программное обеспечение" (Ростов-на-Дону, 1988), Всесоюзном семинаре "Методы и инструментальные средства генерации программ" (Киев,1989), 8-й Сибирской школе по пакетам прикладных программ (Иркутск, 1989), на Всесоюзной конференции "Высокопроизводительные вычислительные системы для КЩМ" (Новосибирск, 1989), на 22-й Региональной Северо-Кавказской школе по системному программированию "Сборочное программирование" (Ростов-На-Дону,. 1990), Всесоюзной школе-семинаре "Многоуровневое структурное проектирование программных систем" (Киев, 1991), на Международной конференции "Параллельные компьютерные технологии" (Новосибирск, 1991), на 23-й региональной Северо-Кавказской школе по системному программированию "Параллельное программирование и автоматическое распараллеливание программ" (Ростов-на-Дону, 1991).
Структура и объем работы. Диссертация .состоит. из введения, трех глав, заключения, приложений и списка литературы из 83 наименований. Общий объем работы 126 страниц.