Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005) (1186026), страница 35
Текст из файла (страница 35)
Необходимые предварительные требования к подготовке студентов включают знание ос171нов программирования на языке С или C++ , а также знание операционных систем Linux и Windows NT на уровне пользователя.Рис.1. Пример вызова электронной версии курса [2]Каждая лабораторная работа в курсе представляет собой взаимосвязанный модуль, состоящий из трех частей. В первой части лабораторной работы излагаются необходимые для выполнения заданий теоретические сведения, во второй части приведены контрольные вопросы, проверяющие усвоение теоретического материала, а в третьей, заключительной части, предложены упражнения. Часть упражненийпредлагается выполнить в качестве домашнего задания. Предполагается последовательное освоение каждого модуля: вначале следует изучить теорию, затем с помощью контрольных вопросов проверить вашепонимание и, наконец, выполнить практические задания – упражнения.Заметим, что в электронной версии работ исходные файлы в упражнениях можно свободно скачать, что освобождает значительное время отрутинной работы.172Студентам МФТИ в осеннем семестре требуется изучить первыевосемь лабораторных работ-модулей, выполнив и сдав практическиезадания, помещенные в заключительной части каждого модуля.
Наизучение каждого модуля, как правило, отводится две недели. До конца второй недели следует по электронной почте выслать преподавателю решение домашних заданий лабораторной работы и сдать в очномрежиме классные задания. При этом решение заданий по каждой лабораторной работе следует отправить отдельным электронным письмом,а в начале темы письма следует указать номер группы. Крайний срокотправки решений, после которого могут возникнуть трудности с получением зачета в срок: начало девятой, восьмой, седьмой, шестой,пятой, четвертой, третьей и второй недели до Нового года соответственно для 1–8 модуля.Выполнение лабораторной работы № 1 «Основы программирования в MPI», на изучение и сдачу которой студентам предоставлено четыре недели, дает допуск к выполнению всех последующих работ.Заметим, что практические упражнения могут быть выполнены нетолько на кластере ВЦ РАН, но и на виртуальной параллельной машине, устанавливаемой в Windows NT/2000 на вашем компьютере.
Дляэтого перед началом работы вам следует установить переносимую реализацию MPI – MPICH для Windows – на ваш компьютер (http://wwwunix.mcs.anl.gov/mpi/mpich/). Предварительно следует изучить руководство по установке MPICH (http://www.cluster.bsu.by/mpich_install.pdf)и руководство пользователя MPICH (http://www.cluster.bsu.by/mpich_userguide.pdf). Кроме того, полезно изучить руководство пользователя МВС 1000М Межведомственного суперкомпьютерного центра (http://www.jscc.ru/), с тем, чтобы вы знали ответы на следующиевопросы:• компиляция при использовании библиотек MPI;• использование команды mpirun;• создание файла;• понимание механизма выполнения MPI на двух узлах.Именно необходимость предварительной подготовки к курсу MPIувеличивает общее время выполнения лабораторной работы № 1 примерно в два раза.Студентам МФТИ в весеннем семестре требуется сдать шесть лабораторных работ и одну индивидуальную курсовую работу.Для выполнения индивидуальной курсовой работы студенту в начале семестра необходимо получить у своего научного руководителя173тему работы, которая могла бы быть использована как часть магистерской диссертации.
Требования к теме: должно существовать или бытьблизко к завершению решение задачи в виде последовательной версиипрограммы на языке С или С++. При отсутствии задачи на распараллеливание у научного руководителя можно взять тему курсовой работы упреподавателя. Крайний срок отправки решений, после которого будуттрудности с получением в срок дифференцированного зачета: началовосьмой, седьмой, шестой, пятой, четвертой, третьей и второй неделидо 1 июня, соответственно, для 9-14 модуля и курсовой работы.Распечатки ответов на контрольные вопросы по всем модулям оказываются востребованными при получении дифференцированного зачета. Итоговая оценка складывается из трех частей: 30% – оценка заосенний семестр, 30% – оценка за весенний семестр и 40% – оценка закурсовую работу.Изложение данного курса MPI ограничено использованием языкаС. Пользователи Фортрана могут изучить его самостоятельно, основываясь на пособиях [6-9] или на знании MPI для C/C++.Литература1.
Михайлов Г.М., Копытов М.А., Рогов Ю.П., Чернецов А.М., Аветисян А.И., Самоваров О.И. Вычислительный кластер ВЦ РАН // Высокопроизводительные параллельные вычисления на кластерных системах:Матер. IV Международ. научно-практического семинара и Всероссийскоймолодежной школы / Под ред. чл.-корр. РАН В.А. Сойфера. Самара. 2004.С. 193–199.2. Оленев Н.Н. Параллельное программирование в интерфейсе MPI //Сб. лабораторных работ, ВЦ РАН. 2003–2004 (электронная версия на правах рукописи): http://www.ccas.ru/mmes/educat/lab04k/.3.
Cornell Theory Center Topics: Message Passing Interface.http://www.tc.cornell.edu/ctc-Main/services/education/topics/.4. Оленев Н.Н. Основы параллельного программирования в системеMPI. М.: ВЦ РАН, 2005. 80 с.5. Оленев Н.Н. Параллельные вычисления для идентификации параметров в моделях экономики // Высокопроизводительные параллельныевычисления на кластерных системах. Матер.
IV Международ. научнопрактического семинара и Всероссийской молодежной школы / Под ред.чл.-корр. РАН В.А. Сойфера. Самара. 2004. С. 204–209.6. Немнюгин С.А., Стесик О.Л. Параллельное программирование длямногопроцессорных вычислительных систем. – СПб.: БХВ-Петербург,2002. – 400 с.7. Домашняя страница MPI в Argonne National Labs http://www174unix.mcs.anl.gov/mpi/.8. Часто задаваемые вопросы по MPI http://www.faqs.org/faqs/mpi-faq/.9. Практическое программирование в MPI на RS/6000: SP:http://www.redbooks.ibm.com/abstracts/sg245380.html?OpenЦИРКУЛЯНТНЫЕ СЕТИ СВЯЗИ ВЫЧИСЛИТЕЛЬНЫХСИСТЕМ: СТРУКТУРЫ И ОБМЕНЫЭ.А. МонаховаИВМ и МГ СО РАН, НовосибирскВведениеРассматриваются проблемы оптимизации структуры и организации обменов в циркулянтных сетях, используемых в качестве сетейсвязи вычислительных систем.
Циркулянтные сети (графы) [1-4] широко изучаются при проектировании и анализе вычислительных систем, в качестве топологий компьютерных систем и сетей. Эти графыреализованы как коммуникационные сети в системах Intel Paragon,Cray T3D, MPP, SONET и др. В настоящее время расширяются возможности практического применения циркулянтных сетей. В модели«малого мира» (small-world networks) [5] базовую основу структурысоставляют циркулянтные сети. В работе [6] изучается мультикластерная вычислительная система, построенная из копий циркулянтных сетей.Пусть 1 ≤ s1 ≤ … ≤ sn ≤ ⎣N/2⎦ – множество целых чисел (образующих). Циркулянтный граф размерности n, обозначаемый (N; s1,…, sn),имеет множество вершин V={0,1, ..., N – 1} и множество ребер A == {(v,v ± s i mod N) | v ∈ V, i=1,…,n}.
Диаметр графаd(N;S) = max u ,v∈V D(u,v),где D(u,v) – длина кратчайшего пути между вершинами u и v. Пусть d– натуральное число, S = {1, s 2 ,…, s n } – множество образующих, аm(d,S) = max{N | d(N;S) ≤ d}. Для любых натуральных d и n определим точную верхнюю границу M(d, n) = max{m(d, S) | ∃ множество S с|S| = n}, где |S| – мощность S.Эффективность алгоритмов основных схем обменов данными припараллельных вычислениях непосредственно зависит от топологии175сети связи, в том числе определяется диаметром графа межпроцессорных связей (максимумом минимальных расстояний между каждой парой процессоров).
Наиболее исследуемые проблемы оптимизации циркулянтных сетей – получение оптимальных графов с минимальнымдиаметром для заданного числа вершин и нахождение семейств оптимальных графов с максимальным числом вершин для любого диаметра. Оптимальные сети имеют высокие показатели отказоустойчивостии скорости коммуникаций, максимальную надежность и минимальнуюзадержку при передаче информации [2, 3]. Циркулянтные графы размерностей 2 и 3 являются наиболее изучаемыми циркулянтами благодаря их практическому применению.
В [7] получены трехмерные оптимальные циркулянтные сети с аналитическим описанием, которыеимеют максимальное число вершин для любого диаметра.При использовании циркулянтных графов в качестве коммуникационных сетей требуется эффективное решение проблем организациипарных и коллективных обменов данными. При парной маршрутизации сообщение должно быть передано из вершины-источника в вершину-приемник. При трансляционном обмене (broadcasting) процессор-источник посылает идентичные данные в сообщении всем другимпроцессорам системы. Рассматриваемые типы обменов изучаются приразличных коммуникационных моделях.