1.2.3 Средства разработки и поддержки параллельных приложений
Message Passing Interface(MPI)-- программный интерфейс (API) для передачи информации, который позволяет обмениваться сообщениями между процессами, выполняющими одну задачу. Разработан Уильямом Гроуппом, Эвином Ласком и другими.
MPI является наиболее распространённым стандартом интерфейса обмена данными в параллельном программировании, существуют его реализации для большого числа компьютерных платформ. Используется при разработке программ для кластеров и суперкомпьютеров. Основным средством коммуникации между процессами в MPI является передача сообщений друг другу. Стандартизацией MPI занимается MPI Forum. В стандарте MPI описан интерфейс передачи сообщений, который должен поддерживаться как на платформе, так и в приложениях пользователя. В настоящее время существует большое количество бесплатных и коммерческих реализаций MPI. Существуют реализации для языков Фортран 77/90, Си и Си++.
В первую очередь MPI ориентирован на системы с распределенной памятью, то есть когда затраты на передачу данных велики, в то время как OpenMP ориентирован на системы с общей памятью (многоядерные с общим кэшем). Обе технологии могут использоваться совместно, дабы оптимально использовать в кластере многоядерные системы.
MPICH -- самая распространённая бесплатная реализация, созданная в Арагонской национальной лаборатории (США). Существуют версии этой библиотеки для всех популярных операционных систем. К тому же, она бесплатна. Перечисленные факторы делают MPICH идеальным вариантом для того, чтобы начать практическое освоение MPI. MPICH2 соответствует стандарту MPI 2.0, отсюда и название.[3]
- 1.1 Вводная часть
- 1.2 Анализ кластерных технологий в контексте лабораторного практикума
- 1.2.1 Типы кластеров
- 1.2.2 Показатели эффективности параллельного алгоритма
- 1.2.3 Средства разработки и поддержки параллельных приложений
- 1.2.4 Принципы работы среды MPICH
- 1.2.5 Кластер МИИТ Т-4700
- 1.3 Обоснование целесообразности разработки
- 1.4 Требования разработке
- 1.4.1 Требования к кластерной системе
- 1.4.2 Требования к методическому обеспечению
- 1.4.3 Требования к документации
- 1.4.4 Требования к техническому обеспечению
- 1.4.5 Требования к рабочим станциям
- 1.4.6 Требования к разрабатываемому ПО
- 1.4.7 Требования к показателям назначения
- 1.5 Анализ исходных данных
- 2. РАЗРАБОТКА ЛАБОРАТОРНОГО КОМПЛЕКСА «КЛАСТЕРНЫЕ СИСТЕМЫ»
- 2.1 Разработка методического обеспечения для лабораторного комплекса
- 2.2 Содержание лабораторных работ
- 2.2.1 Рабочее задание для лабораторной работы №1
- 2.2.2 Рабочее задание для лабораторной работы №2
- 2.2.3 Рабочее задание для лабораторной работы №3
- 2.3 Разработка программного обеспечения для лабораторного комплекса
- 2.4 Подготовка рабочих мест и описание хода выполнения лабораторных работ
- 2.3.1 Лабораторная работа №1
- 2.3.1.1 Подготовка рабочего места для выполнения лабораторной работы №1
- 2.3.1.2 Описание хода лабораторной работы №1
- 2.3.2.2 Описание хода лабораторной работы №2