Р. К. Газизов , С. Ю. Лукащук , С. Д. Тулебаев - Основы параллельного программирования с использованием MPI: учебное пособие
Название: | Основы параллельного программирования с использованием MPI: учебное пособие | |
Автор: | Р. К. Газизов , С. Ю. Лукащук , С. Д. Тулебаев | |
Жанр: | Учебники и самоучители по компьютеру, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Параллельное и распределенное программирование | |
Изадано в серии: | неизвестно | |
Издательство: | УГАТУ | |
Год издания: | 2004 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Основы параллельного программирования с использованием MPI: учебное пособие"
В пособии излагаются основополагающие моменты разработки параллельных программ для кластерных вычислительных систем с использованием интерфейса передачи сообщений MPI. Рассматриваются вопросы оценки эффективности параллельных программ.
Пособие предназначено для студентов и аспирантов инженерных специальностей технических вузов, а также инженерных и научных работников, интересующихся параллельным программированием для кластерных вычислительных систем.
Читаем онлайн "Основы параллельного программирования с использованием MPI: учебное пособие". [Страница - 2]
коммуникационной средой с относительно небольшой пропускной способностью (100-1000 Мбит в секунду) однотипные персональные компьютеры или рабочие станции, физически собранные в одну или несколько стоек, и работающие как единая вычислительная система. Назначение таких кластеров может быть самым разнообразным: обработка больших потоков информации в режиме реального времени (крупные корпоративные базы данных); проведение расчетов, требующих производительности и объемов памяти, недостигнутых еще на данный момент персональными компьютерами; обработка высококачественного видеоизображения и многое другое. При этом цена кластера может составлять всего 10-20 тысяч долларов.
Однако существуют факторы, сдерживающие повсеместное внедрение МВС кластерного типа. Наиболее существенными из них следует, пожалуй, признать малое количество прикладного программного обеспечения и его высокую стоимость. Дело в том, что программы, выполняющиеся на МВС, являются в большинстве своем программами параллельными, осуществляющими обработку различных данных одновременно на нескольких (часто всех) процессорах системы. Написание таких программ – процесс значительно более трудоемкий, чем программирование для обычных однопроцессорных компьютеров, поэтому и стоимость параллельного программного обеспечения оказывается значительно выше. Но стоимость профессиональных параллельных пакетов определяется не только и не столько стоимостью их разработки, сколько теми целевыми группами, на которые они ориентированы. А именно, основными потребителями такого программного обеспечения являются крупные корпорации, способные заплатить десятки и даже сотни тысяч долларов за одну лицензию. Поэтому и цена параллельных пакетов оказывается соответствующей. Например, если пакет конечно-элементного моделирования ANSYS, широко используемый в промышленности при разработке новой техники, для однопроцессорных систем стоит порядка десяти тысяч долларов, то цена его параллельной версии приближается к ста тысячам. Естественно, что использовать такой пакет может позволить себе только достаточно крупная компания. Поэтому нередко возникает ситуация, когда многопроцессорная система есть, а программного обеспечения для нее очень мало и большую часть времени система простаивает.
Выход из сложившегося положения может быть только один: снижение стоимости параллельного программного обеспечения. А для этого необходимо, чтобы параллельных программных продуктов было много, чтобы была здоровая конкуренция. В свою очередь, это требует как большого количества профессиональных программистов, владеющих навыками параллельного программирования, так и еще большего количества квалифицированных пользователей, способных грамотно использовать параллельный программный продукт. Именно на подготовку таких пользователей и ориентировано, прежде всего, настоящее пособие.
Первая глава данного пособия посвящена основам параллельного программирования. На примере простейшей параллельной программы рассматриваются основные принципы программирования для многопроцессорных вычислительных систем. В этой же главе рассматриваются наиболее важные вопросы, касающиеся оценки эффективности параллельной программы, и приводятся факторы, влияющие на эту эффективность.
Во второй главе пособия излагаются базовые принципы параллельного программирования с использованием технологии передачи сообщений MPI (Message Passing Interface), ставшей в настоящее время стандартом параллельного программирования для кластерных систем. Приводится синтаксис и описание ряда основных функций MPI, а также простейшие примеры их использования.
Третья глава содержит примеры стандартных учебных параллельных программ, написанных с использованием MPI. Программы снабжены необходимыми комментариями и будут, на наш взгляд, весьма полезны для людей, приступающих к изучению параллельного программирования.
Наконец, в приложениях собраны практические рекомендации по работе с конкретной МВС – Alpha-кластером Башкирского регионального центра высокопроизводительных вычислений, установленным в Уфимском государственном авиационном техническом университете, а также приведены некоторые наиболее часто используемые команды операционной системы Linux.
Пособие не требует каких-либо специальных знаний в области многопроцессорной техники или программирования. Однако поскольку при --">
Однако существуют факторы, сдерживающие повсеместное внедрение МВС кластерного типа. Наиболее существенными из них следует, пожалуй, признать малое количество прикладного программного обеспечения и его высокую стоимость. Дело в том, что программы, выполняющиеся на МВС, являются в большинстве своем программами параллельными, осуществляющими обработку различных данных одновременно на нескольких (часто всех) процессорах системы. Написание таких программ – процесс значительно более трудоемкий, чем программирование для обычных однопроцессорных компьютеров, поэтому и стоимость параллельного программного обеспечения оказывается значительно выше. Но стоимость профессиональных параллельных пакетов определяется не только и не столько стоимостью их разработки, сколько теми целевыми группами, на которые они ориентированы. А именно, основными потребителями такого программного обеспечения являются крупные корпорации, способные заплатить десятки и даже сотни тысяч долларов за одну лицензию. Поэтому и цена параллельных пакетов оказывается соответствующей. Например, если пакет конечно-элементного моделирования ANSYS, широко используемый в промышленности при разработке новой техники, для однопроцессорных систем стоит порядка десяти тысяч долларов, то цена его параллельной версии приближается к ста тысячам. Естественно, что использовать такой пакет может позволить себе только достаточно крупная компания. Поэтому нередко возникает ситуация, когда многопроцессорная система есть, а программного обеспечения для нее очень мало и большую часть времени система простаивает.
Выход из сложившегося положения может быть только один: снижение стоимости параллельного программного обеспечения. А для этого необходимо, чтобы параллельных программных продуктов было много, чтобы была здоровая конкуренция. В свою очередь, это требует как большого количества профессиональных программистов, владеющих навыками параллельного программирования, так и еще большего количества квалифицированных пользователей, способных грамотно использовать параллельный программный продукт. Именно на подготовку таких пользователей и ориентировано, прежде всего, настоящее пособие.
Первая глава данного пособия посвящена основам параллельного программирования. На примере простейшей параллельной программы рассматриваются основные принципы программирования для многопроцессорных вычислительных систем. В этой же главе рассматриваются наиболее важные вопросы, касающиеся оценки эффективности параллельной программы, и приводятся факторы, влияющие на эту эффективность.
Во второй главе пособия излагаются базовые принципы параллельного программирования с использованием технологии передачи сообщений MPI (Message Passing Interface), ставшей в настоящее время стандартом параллельного программирования для кластерных систем. Приводится синтаксис и описание ряда основных функций MPI, а также простейшие примеры их использования.
Третья глава содержит примеры стандартных учебных параллельных программ, написанных с использованием MPI. Программы снабжены необходимыми комментариями и будут, на наш взгляд, весьма полезны для людей, приступающих к изучению параллельного программирования.
Наконец, в приложениях собраны практические рекомендации по работе с конкретной МВС – Alpha-кластером Башкирского регионального центра высокопроизводительных вычислений, установленным в Уфимском государственном авиационном техническом университете, а также приведены некоторые наиболее часто используемые команды операционной системы Linux.
Пособие не требует каких-либо специальных знаний в области многопроцессорной техники или программирования. Однако поскольку при --">
Книги схожие с «Основы параллельного программирования с использованием MPI: учебное пособие» по жанру, серии, автору или названию:
Бьерн Страуструп - Программирование. Принципы и практика с использованием C++ Жанр: C, C++, C# Год издания: 2016 |
Евгения Дмитриевна Карепова - Основы многопоточного и параллельного программирования Жанр: Параллельное и распределенное программирование Год издания: 2016 |