WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 24 |

1.3. Различие многозадачности, параллельных и распределенных вычислений.

1.4. Проблемы использования параллелизма.

2. Принципы построения параллельных вычислительных систем:

2.1. Пути достижения параллелизма.

2.2. Способы построения многопроцессорных вычислительных систем.

2.3. Виды параллельных вычислительных систем.

2.4. Классификация МВС.

2.5. Оценка производительности МВС.

3. Моделирование и анализ параллельных вычислений:

3.1. Модели параллельных вычислительных систем.

3.2. Модель алгоритма в виде графа «операнд – операции».

3.3. Модель параллельных вычислений в виде сети Петри.

3.4. Модель параллельных вычислений в виде графа «процессресурс».

4. Принципы разработки параллельных алгоритмов и программ:

4.1. Оценка эффективности параллельных вычислений.

4.2. Уровни распараллеливания вычислений.

4.3. Этапы построения параллельных алгоритмов и программ.

4.4. Технологические аспекты распараллеливания.

5. Системы разработки параллельных программ 5.1. Создание специализированных языков программирования.

5.2. Расширение существующих языков программирования.

5.3. Разработка специализированных библиотек.

6. Параллельные численные алгоритмы для решения типовых задач вычислительной математики:

6.1. Общие способы распараллеливания алгоритмов.

6.2. Организация параллельного исполнения рекурсивных вычислений.

6.3. Параллельные численные алгоритмы линейной алгебры.

6.4. Параллельные численные алгоритмы решения дифференциальных уравнений в частных производных.

6.5. Параллельные численные алгоритмы многомерной многоэкстремальной оптимизации.

Для проведения лекционных и практических занятий имеется полный комплект компьютерных презентаций в формате системы MS PowerPoint; информационное сопровождение курса обеспечивается ресурсом сети Интернет http://www.software.unn.ac.ru/ccam/teach.htm, в котором представлены лекционные презентации и результаты выполнения студенческих заданий.

Литература 1. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. Н.Новгород: Изд-во ННГУ, 2001.

2. Комолкин А.В., Немнюгин С.А. Программирование для высокопроизводительных ЭВМ. СПб: Изд-во НИИ химии СПбГУ, 1998.

3. Тихонов А.Н., Иванников А.Д.., Домрачев В.Г., Скуратов А.К., Ретинская И.В. Организационные и методические основы подготовки специалистов по высокопроизводительным вычислениям. // Труды Международной научной конференции» Телематика 2001».

СПб: Изд-во СПбГИТМО, 2001. С. 151–154.

4. Фурсов В.А. и др. Введение в программирование для параллельных ЭВМ и кластеров / Под редакцией В.А. Фурсова. Самара: Издво СНЦ РАН, СГАУ, 2000.

5. Якобовский М.В. Распределенные системы и сети. М.: Изд-во МГТУ «Станкин», 2000.

6. Barker, M. (Ed.) (2000). Cluster Computing Whitepaper at http://www.dcs.port.ac.uk/~mab/tfcc/WhitePaper/.

7. Buyya R. Editor, High Performance Cluster Computing, Vol. 1 System and Architecture, Vol. 2 Programming and Applications, Prentice Hall PTR, Upper Saddle River, 1998.

8. Kumar, V., Grama, A., Gupta, A., Karypis, G. Introducrion to Parallel Computing. – The Benjamin/Cummings Publishing Company, Inc., 1994.

9. Pfister, G. P. (1995). In Search of Clusters. Prentice Hall PTR, Upper Saddle River, NJ (2nd edn., 1998).

10. Sterling T., Salmon J., Becker D.J., Savarrese D.F. How to Build a Beowulf, The MIT Press, 1999.

11. Xu, Z., Hwang, K. Scalable Parallel Computing Technology, Architecture, Programming. McGraw-Hill, Boston, 1998.

12. Wilkinson B., Allen M. Parallel Programming Techniques and Applications Using Networked Workstations and Parallel Computers, Prentice Hall, Upper Saddle River, 1999.

ОЦЕНКА ЭФФЕКТИВНОСТИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ ДЛЯ INTEL-ПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ* В.П. Гергель Нижегородский государственный университет им. Н.И. Лобачевского 1. Широкое использование кластерных вычислительных систем (clusters) – современное состояние данного подхода отражено, например, в обзоре, подготовленном под редакцией Barker (2000), – является одним из стратегических направлений развития современной компьютерной техники. Под кластером обычно понимается (см., например, Xu and Hwang (1998), Pfister (1998)) множество отдельных компьютеров, объединенных в сеть, для которых при помощи специальных аппаратно-программных средств обеспечивается возможность унифицированного управления (single system image), надежного функционирования (availability) и эффективного использования (performance). Кластеры могут быть образованы на базе уже существующих у потребителей отдельных компьютеров, либо же могут быть сконструированы из новых типовых компьютерных элементов, что обычно не требует значительных финансовых затрат. Применение кластеров может в некоторой степени снизить проблемы, связанные с разработкой параллельных алгоритмов и программ, поскольку повышение вычислительной мощности отдельных процессоров позволяет строить кластеры из сравнительно небольшого количества (несколько десятков) отдельных компьютеров (lowly parallel processing). Это приводит к тому, что для параллельного выполнения в алгоритмах решения вычислительных задач достаточно выделять только крупные независимые части расчетов (coarse granularity), что, в свою очередь, снижает сложность построения параллельных методов вычислений и уменьшает потоки передаваемых данных между компьютерами кластера. Вместе с этим следует отметить, что организация взаимодействия вычислительных узлов кластера при помощи передачи сообщений обычно приводит к значительным временным задержкам, что накладывает дополнительные ограничения на тип разрабатываемых параллельных алгоритмов и * Проведение исследований, по результатам которых была подготовлена данная работа, было поддержано грантом компании Intel.



программ (минимальность информационных потоков передачи данных).

2. Решение проблемы разнообразия архитектур параллельных вычислительных систем и обеспечение возможности создания мобильных (переносимых между различными компьютерными платформами) программ лежит на пути разработки стандартизованного базового системного программного обеспечения для организации параллельных вычислений. Основным стандартом, широко используемым в настоящее времени в практических приложениях, является интерфейс передачи сообщений (message passing interface – MPI) – см., например, Group и др. (1994). Наличие такого стандарта позволило разработать стандартные библиотеки программ (MPI-библиотеки), в которых оказалось возможным скрыть большинство архитектурных особенностей параллельных вычислительных систем и, как результат, существенно упростить проблему создания параллельных программ. Более того, стандартизация базового системного уровня позволила в значительной степени обеспечить мобильность параллельных программ, поскольку в настоящее время реализации MPI-стандарта имеются для большинства компьютерных платформ.

Близкой по назначению и также имеющей широкое распространение в практических приложениях является библиотека PVM (Parallel Virtual Machine) – см., например, Geist и др. (1994) (следует отметить, что спецификация библиотеки PVM не регламентируется каким-либо из общепринятых стандартов).

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

3. Использование передачи сообщений для организации параллельных вычислений ориентировано, прежде всего, на многопроцессорные компьютерные системы с распределенной памятью. Уменьшение времени расчетов (ускорение) при таком подходе может быть достигнуто только для тех научно-технических проблем, в которых объем вычислений превалирует над уровнем необходимых межпроцессорных взаимодействий (т.е. для вычислительно-трудоемких задач с низкой коммуникационной сложностью). Эффективность же параллельных вычислений для задач с высокой интенсивностью передач данных может быть достигнута при использовании другого актуального в настоящее время способа построения параллельных компьютеров – многопроцессорных систем с общей памятью (symmetric multiprocessors – SMP), для которых взаимодействие процессоров обеспечивается использованием общей памяти для хранения совместно-обрабатываемых данных. Для унификации параллельных программ для такого типа систем также предпринимаются попытки стандартизации; одним из основных результатов в этом направлении является стандарт OpenMP – см., например, Chandra, R. аnd etc. (2000). Следует отметить, что системы с общей памятью имеют, как правило, ограниченное количество процессоров (порядка нескольких десятков), что определяет характер использования таких компьютеров от автономно функционирующих быстродействующих рабочих станций до применения в качестве вычислительных серверов в высокопроизводительных кластерных системах.

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

• http://parallel.ru/tech/tech_dev/par_libs.html;

• http://www.erc.msstate.edu/labs/hpcl/projects/mpi/tools_libraries.html;

• http://sal.kachinatech.com/C/3/index.shtml;

• http://www.mhpcc.edu/training/workshop/parallel_libs/MAIN.html и др.

В числе широко используемого программного обеспечения:

• Библиотека параллельных программ ScaLAPACK (Scalable LAPACK – http://www.netlib.org/scalapack) для решения систем линейных уравнений, обращения матриц, поиска собственных значений и др.

• Пакет параллельных процедур линейной алгебры PLAPACK (Parallel Linear Algebra Package – http://www.cs.utexas.edu/users/ plapack) включает параллельные версии процедур решения систем линейных уравнений с помощью LU и QR-разложений, разложения Холецкого и др.

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





На проведение исследований в рамках данной значимой проблемы и были направлены исследования, выполненные в Нижегородском университете в последние годы (см., например, Гергель, Стронгин (2000, 2001)). В рамках выполненных работ были исследованы вычислительные схемы основных алгоритмов, использованных в библиотеках научных расчетов, проведена оценка производительности таких схем на многопроцессорных вычислительных системах кластерного типа и определены пути для повышения эффективности параллельных способов решения задач.

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

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

• Эксперименты по сравнению двух реализаций MPI для ОС Windows: Argonne National Lab MPICH и RWTH Aachen MP-MPICH с целью выявления наилучшей из них, по таким показателям, как латентность и скорость передачи данных;

• Эксперименты для сравнения наилучшей реализации MPI для ОС Windows (MP-MPICH) с широко распространенной реализацией MPI для ОС Unix Argonne National Lab MPICH;

• Эксперименты для оценки производительности (тест LINPACK) кластерной системы при использовании двух разных операционных систем (Windows и Linux);

• Эксперименты для оценки масштабируемости теста LINPACK при использовании Windows для различных конфигураций кластера.

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

6. Для проведения вычислительных экспериментов использовался вычислительный кластер Нижегородского университета, оборудование для которого было передано в рамках Академической программы Интел в 2001 г. В состав кластера входят:

• 2 вычислительных сервера, каждый из которых имеет 4 процессора Intel Pentium III 700 Мгц, 512 MB RAM, 10 GB HDD, 1 Гбит Ethernet card;

• 12 вычислительных серверов, каждый из которых имеет 2 процессора Intel Pentium III 1000 Мгц, 256 MB RAM, 10 GB HDD, 1 Гбит Ethernet card;

• 12 рабочих станций на базе процессора Intel Pentium 4 1300 Мгц, 256 MB RAM, 10 GB HDD, CD-ROM, монитор 15», 10/100 Fast Etherrnet card.

Важной отличительной особенностью кластера является его неоднородность (гетерогенность). В состав кластера входят рабочие места, оснащенные новейшими процессорами Intel Pentium 4 и соединенные относительно медленной сетью (100 Мбит), а также вычислительные 2- и 4- процессорные сервера, обмен данными между которыми выполняется при помощи быстрых каналов передачи данных (Мбит). В результате кластер может использоваться не только для решения сложных вычислительно-трудоемких задач, но также и для проведения различных экспериментов по исследованию многопроцессорных кластерных систем и параллельных методов решения научнотехнических задач.

7. В качестве системной платформы для построения кластера выбраны современные операционные системы семейства Microsoft Windows (отдельные эксперименты проводились с использованием ОС Unix). Выбор такого решения определяется рядом причин, в числе которых основными являются следующие моменты:

• операционные системы Microsoft Windows (так же, как и ОС Unix) широко используются для построения кластеров; причем, если раньше применение ОС Unix для этих целей было преобладающим системным решением, в настоящее время тенденцией является увеличение числа создаваемых кластеров под управлением ОС Microsoft Windows (см., например, www.tc.cornell.edu/ac3/, www.windowclusters.org и др.);

• выполненные в ходе проекта эксперименты показали преимущество решений с применением библиотеки PLAPACK, реализованной для ОС Microsoft Windows, перед решениями, использующими ScaLAPACK для ОС Unix (см. раздел 2). Исследования системного программного обеспечения (библиотеки MPI) не выявили существенного преимущества реализаций, выполненных для ОС Unix (Linux), перед реализациями для ОС Microsoft Windows (см. раздел 1).

• разработка прикладного программного обеспечения выполняется преимущественно с использованием ОС Microsoft Windows;

• корпорация Microsoft проявила заинтересованность в создании подобного кластера и передала в ННГУ для поддержки работ все необходимое программное обеспечение (ОС MS Windows Professional, ОС MS Windows 2000 Advanced Server и др.).

В результате принятых решений программное обеспечение кластера является следующим:

• вычислительные сервера работают под управлением ОС Microsoft Windows 2000 Advanced Server; на рабочих местах разработчиков установлена ОС Microsoft Windows Professional;

• в качестве сред разработки используются Microsoft Visual Studio 6.0;

Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 24 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.