appdeSDe (1158394)

Файл №1158394 appdeSDe (Раздаточные материалы)appdeSDe (1158394)2019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

11


Keldysh Institute of Applied Mathematics

Russian Academy of Sciences

The Advanced Parallel Programming Developing Environment

(APPDE)

System design

1999

Contents

1 Requirements to System 3

1.1 Simplicity of parallel program development 3

1.2 Portability onto different architecture computers 3

1.3 Reusability 4

1.4 High efficiency of program execution 4

2 The Content and Functions of APPDE 4

3 Approach and Principles of System Implementation 5

3.1 Languages. 5

3.2 Compilers 6

3.3 Lib-DVM 7

3.4 DVM-debugger 7

3.5 Performance Analyser 8

3.6 Predictor of DVM-program execution 8

4 General Structure and Organization of the System 9

Advanced Parallel Programming Developing Environment is designed to support development of portable and efficient parallel computational applications for different architecture computers.

1Requirements to System

The main requirements to APPDE are follows:

  • Simplicity of parallel program development.

  • Portability of parallel program onto different architecture computers (serial, workstation cluster, MPP).

  • Reusability (composition of parallel applications from standard parallel modules).

  • High efficiency of program execution

1.1Simplicity of parallel program development

The programming languages (Norma, Fortran DVM, C-DVM) provide:

  • global name space;

  • programming in terms of the system behavior as a whole (in contrast of message passing program which is defined in terms of behaviors of individual parallel tasks);

  • programming without low level details of communication and synchronization;

  • using the only version of the program both for sequential and parallel execution.

The following possibilities of debugging on a workstation are provided:

  • debugging DVM-program as usual sequential program;

  • automatic checking of parallelism specifications;

  • pseudo-parallel execution with comparison of intermediate results with reference results (the results of sequential execution);

  • trace data accumulation and browsing;

  • prediction of performance characteristics of parallel execution.

The following possibilities of debugging on parallel computer are provided:

  • comparison of intermediate results with reference ;

  • trace data accumulation and browsing;

  • browsing of performance characteristics of parallel execution.

1.2 Portability onto different architecture computers

Serial computers:

The parallelism specifications in Fortran DVM and C-DVM languages are transparent for standard C and Fortran compilers.

Parallel computers:

  1. schema of compiling:

Fortran DVM = > Fortran 77 + Lib-DVM

C-DVM = > C + Lib-DVM

Lib-DVM library bases on communication libraries MPI or PVM.

  1. automatic transformation: Fortran DVM = > HPF or HPF2

1.3Reusability

  • DVM-program can be dynamically (without recompilation) customized to application parameters (the number and size of arrays) and parallel computer configuration;

  • DVM-subprogram can be dynamically customized to distributed actual arguments and processor subset of parallel computer, where the subprogram is running

1.4High efficiency of program execution

High efficiency of program execution is achieved in the following way:

  • A programmer has a possibility to specify parallel execution of his program exactly;

  • The features for overlapping calculation and communication on distributed memory systems are provided;

  • The means to support load balancing are provided.

2The Content and Functions of APPDE

APPDE includes following software packages:

  • Fortran-DVM compiler

  • C-DVM compiler

  • LIB-DVM library

  • DVM debugger

  • Predictor of DVM-program execution on MPP and workstation cluster

  • Parallel Program Performance Analyser (PPPA)

  • NORMA compiler

These packages must satisfy the following requirements:

  • Fortran-DVM compiler must support data parallelization and task parallelization, dynamic data mapping, distributed virtual memory and dynamic load balancing. Its implementation should support the enhanced subset of High Performance Fortran (HPF). The subset should include all features of Fortran 77, dynamic data mapping (REALIGN, REDISTRIBUTE, DYNAMIC) and other features of HPF defined by Both Sides. Programs written in enhanced subset of HPF can be compiled and executed under the APPDE. Programs written in Fortran DVM can be compiled and executed under the standard Fortran 77 environments as usual sequential programs. The output of Fortran-DVM compiler is Fortran 77 program (SPMD model) expanded by LIB-DVM function calls, or HPF1 program or HPF2 program.

  • C-DVM compiler must support data parallelization and function parallelization, dynamic data mapping, distributed virtual memory and dynamic load balancing. Programs written in C-DVM can be compiled and executed under the standard C environments. The output of C-DVM compiler is ANSI C program (SPMD model) expanded by LIB-DVM function calls.

  • LIB-DVM library is a run-time system to support execution of Fortran-DVM and C-DVM programs. LIB-DVM functions should use two communication systems – MPI and PVM.

  • DVM debugger is used for debugging DVM-program (written in Fortran-DVM or C-DVM languages). For debugging a DVM program the following approach is used. On the first stage the program is debugged on a workstation as a sequential program using ordinary debugging methods and tools. On the second stage the program is executed at the same workstation in the special mode of checking DVM-directives. On the third stage the program may be executed on a parallel computer in the special mode, when intermediate results of its execution are compared with reference results (for example, the results of sequential execution).

  • PPPA is a browser of parallel DVM-program performance. Upon parallel program termination, PPPA gives a performance information of specified detail degree in correspondence with the user’s requests. The performance information includes execution times, times of waiting for messages or synchronization, number of executed DVM-directives.

  • Predictor is a toolkit for prediction of performance characteristics of DVM-programs on MPP and workstation clusters. It allows to obtain characteristics of a DVM-program executed on a workstation, and to use them to predict the program performance on workstation clusters and on NCI-MPP with given parameters (configuration and performance of processors and communication channels).

  • NORMA-compiler translates NORMA-programs to Fortran-DVM programs. Norma is a non-procedural language designed for numerical algorithms of solving mathematical physics problems using difference methods. The basic idea of this language is to use the description of the problem in the form of computational formulae obtained by applied specialist as input information to run computations.

3Approach and Principles of System Implementation

3.1Languages.

Norma language

Norma is declarative specialized language created to specify generic grid-based solutions of problems in applied mathematics but the area of its applications turned out to be wider. The NORMA language formalizes the mathematical specifications resulting from discretization of continuous differential equations. Thus NORMA is the language of extremely high level and provides friendly interface with the user, because he can use the notions from the application domain that he knows very well. The specification of a computational task is turned into an executable program automatically by the translator synthesizer for this language. Automatic synthesis of the target program by the source NORMA program guarantees the correctness of the target program.

The process of programming in this case doesn’t need writing a program in the sense of traditional universal programming languages, therefore the approach “programming without programs” is based on the NORMA language application.

Note that the specification of a task solution in NORMA mentions only those rules (constraints) which must be met by the values of the variables and besides specification has no embedded memory representations and few of usual elements of programs (e.g., no control statements). It is important to note that there are no extra links in the NORMA specification though they are usually imposed in programming especially at the stage of algorithm optimization. These links often limit the possibilities of parallelising. From this point of view the NORMA language has one more advantage: it is the language with single assignment. This fact is known to be very important for automatic parallelising.

Fortran DVM language

DVM-directives in Fortran DVM program appear as special comments.

The language includes the following main features for parallelism description:

  • distribution of array elements over processors;

  • distribution of calculations over processors;

  • organization of efficient access to remote data (located on other processors) with high level array-based specifications;

  • organization of efficient execution of global operations with data located on different processors (for example, accumulation of the values of distributed array elements).

To simplify conversion of Fortran DVM program to the program in HPF1 or HPF2 languages, Fortran DVM directives are based on HPF directives. Fortran DVM includes DVM-HPF-directives (analogs of directives of HPF1 and HPF2) and additional DVM-directives, used to improve program performance. Fortran DVM data mapping directives are a subset of corresponding ones in HPF2.

C-DVM language

DVM-directives appear in C-DVM program as parameters of a special macro DVM(dvmdir) ignored in the sequential program (where it is replaced by an empty string).

The language includes the following main features for parallelism description:

  • distribution of array elements over processors;

  • distribution of calculations over processors;

  • organization of efficient access to remote data (located on other processors) with high level array-based specification;

  • organization of efficient execution of global operations with data located on different processors.

3.2Compilers

Norma compiler

Norma compiler converts a Norma-program to the program in Fortran DVM. Such compiling scheme allows to have common model of parallel program execution, common tools for debugging, performance analysis and performance prediction.

Norma compiler consists of as traditional components (lexical analyzer, syntax analyzer, code generator etc.), as specific components for computation order determination and parallelizing.

The scheme for parallelizing used during a NORMA translation is briefly as follows.

  1. A graph of data dependencies is built after program analysis.

  2. A level-parallel graph of the algorithm is constructed to satisfy all dependencies and reveal natural (ideal) parallelism.

  3. That graph is projected onto the architectural model of the target computer system. In constructing a projection, the memory model (NUMA or NORMA) and the number of the processors are taken into consideration. Different optimizations are performed.

Fortran DVM compiler

The output of Fortran-DVM compiler is a Fortran 77 program (SPMD model) expanded by LIB-DVM function calls, or a program in HPF1 or HPF2. A special debug compilation mode is provided.

Характеристики

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

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

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее