БЭЛиЗПА 3/4.1 Рудаков С.А. «Программно-аппаратная платформа реализации проекта» или «Выбор суперкомпьютера» Зависит от: задач, решаемых на суперкомпьютере; приложений, решающих задачу; операционной системы, под которой могут работать приложения; программного обеспечения межпроцессорного обмена; аппаратной части. 10.10.2003 Проект БЭЛиЗПА 1 Задачи, решаемые на суперкомпьютере делят на два класса Задачи массового обслуживания - все задачи, где критично время отклика системы на внешние запросы. Например, web-сервер, сервер баз данных, файловый сервер и пр. Для большинства из них могут быть применимы кластеры. Помимо высокой производительности при этом часто многократно повышается устойчивость системы к сбоям. Вычислительные задачи, главную роль при решении которых играют пропускная способность сети и ее латентность (задержки прохождения пакетов). 10.10.2003 Проект БЭЛиЗПА 2 Приложения, решающие задачу должны удовлетворять следующим требованиям Алгоритм должен быть разбит на относительно независимые, требующие примерно одинакового времени выполнения блоки (процессы). Параллельно работающие части алгоритма должны составлять бо’льшую по времени выполнения часть программы, а количество и объем передаваемых сообщений должны быть минимизированы (эффективность выполнения параллельных программ). Легкость сопровождения параллельных программ; Переносимость и повторное использование параллельных программ. 10.10.2003 Проект БЭЛиЗПА 3 Операционные системы, под которыми могут работать приложения Windows Достоинства: распространенность, графический интерфейс. Unix (Linux) Достоинства: под Linux доступно огромное количество серверного ПО, компиляторов, библиотек, средств отладки и пр (многое – бесплатно с исходными кодами и документацией!). Linux "прозрачен" для пользователя и системного администратора, что позволяет быстрее и проще разрешать все возникающие проблемы. 10.10.2003 Проект БЭЛиЗПА 4 Программное обеспечение межпроцессорного обмена POSIX-threads (нити) - интерфейс для организации так называемых нитей (Pthreads). Поддерживается практически всеми Unixсистемами. Не подходит для практического параллельного программирования, т.к. реализуется на слишком низком уровне. OpenMP - стандарт библиотек для написания приложений, работающих на общем поле памяти (SMP, NUMA), для распараллеливания использует POSIX-threads, имеет интерфейс как к С-, так и к Fortran-программам. PVM, MPI (MPICH, WMPI, LAM) - открытые пакеты библиотек и программ, реализующие модель передачи сообщений. Стандартом де-факто является коммуникационная библиотека MPI. Существуют коммерческие и бесплатные (LAM, mpich, WMPI) ее реализации для различных операционных систем. 10.10.2003 Проект БЭЛиЗПА 5 Программирование параллельных вычислений на неоднородных сетях компьютеров на языке mpC mpC - расширение языка Си, разработанное специально для программирования параллельных вычислений на обычных сетях разнородных компьютеров. Средства языка mpC позволяют программисту специфицировать требуемое для параллельного решения задачи число процессов, распределить вычисления между этими процессами и синхронизировать их работу в процессе выполнения параллельной программы. Основным средством языка mpC для описания сложных обменов данными являются подсети. Подсеть - это любое подмножество виртуальных процессоров некоторой сети. 10.10.2003 Проект БЭЛиЗПА 6 mpC mpC допускает в качестве операндов большинства операций множества скаляров (массивы или их части). mpC минимизирует время при отображении виртуальных процессоров сети на реальные процессы, основываясь на информации о конфигурации и производительности компонент параллельной вычислительной системы и на информации о сравнительном объёме вычислений выполняемых различными виртуальными процессорами. число процессов, вовлечённых в параллельное решение задачи, зависит от самой задачи или параллельного алгоритма её решения и определяется входными данными. 10.10.2003 Проект БЭЛиЗПА 7 mpC Средства mpC позволяют привязывать виртуальные процессоры любой сети к некоторой системе координат и выделять отдельный виртуальный процессор путем задания его координат. Каждая вновь создаваемая сеть в языке mpC имеет в точности один виртуальный процессор, общий с уже существующими на момент создания сетями. Этот виртуальный процессор называется родителем создаваемой сети является связующим звеном, через которое передаются результаты вычислений в случае прекращения её существования. Библиотечная функция MPCпозволяет синхронизировать работу виртуальных процессоров любой сети. 10.10.2003 Проект БЭЛиЗПА 8 Аппаратная часть Идеальный компьютер должен иметь следующие характеристики: Большая производительность Хорошая масштабируемость (позволять наращивать производительность с минимальными затратами на модернизацию) Надежность, простота устройства и низкая стоимость обслуживания Простота с точки зрения программирования 10.10.2003 Проект БЭЛиЗПА 9 Кластеры Вычислительный кластер – это мультикомпьютер, состоящий из множества отдельных компьютеров (узлов), связанных между собой единой коммуникационной системой. Каждый узел имеет свою локальную оперативную память и общая физическая оперативная память отсутствует. Кластер с узлами из мультипроцессорных компьютеров называется SMP-кластером. Взаимодействие узлов между собой происходит только посредством передачи сообщений. Вычислительный кластер с узлами одинаковой архитектуры и производительности, называют однородным вычислительным кластером. Иначе – неоднородным. 10.10.2003 Проект БЭЛиЗПА 10 Достоинства кластера Высокая производительность путем объединения микропроцессоров, которая недостижима в централизованном компьютере. Естественная распределенность (банк, поддержка совместной работы группы пользователей ). Надежность (выход из строя нескольких узлов незначительно снизит производительность). Наращиваемость производительности, возможность совместной работы без ощущения неудобства от географического и физического распределения людей, данных и машин. 10.10.2003 Проект БЭЛиЗПА 11 Недостатки кластера Проблемы ПО (приложения, языки, ОС). Проблемы коммуникационной сети (потери информации, перегрузка, развитие и замена). Секретность. 10.10.2003 Проект БЭЛиЗПА 12 Список литературы 1. 2. 3. 4. 5. Воеводин Вл.В., Параллельная обработка данных,Курс лекций А.Л.Ластовецкий, Программирование параллельных вычислений на неоднородных сетях компьютеров на языке mpC, Интерактивный учебный курс Михайленко Константин, Параллельный стиль, Компьютерра, 2002, №5 А. Кильпио, П. Кайгородов Параллельные системы, их создание и применение23.06.2003 http://www.parallel.ru/ Самый обширный российский сайт, посвященный суперкомпьютерам, параллельным вычислениям, кластерам. 10.10.2003 Проект БЭЛиЗПА 13 Список литературы 6. 7. 8. 9. 10. http://www.beowulf.org/ Проект, посвященный созданию высокопроизводительных массивно-параллельных выч. систем http://www.computerra.ru/offline/2002/430/15838/ Обзорная статья (Параллельные архитектуры и вычисления) http://www.computerra.ru/offline/2002/430/15844/ Обзорная статья (сборка простейшего кластера) В.А. Крюков РАЗРАБОТКА ПАРАЛЛЕЛЬНЫХ ПРОГРАММ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ И СЕТЕЙ, Информационные технологии и вычислительные системы http://koi.www.osp.ru/os/1995/06/33_print.htm./ СУПЕРКОМПЬЮТЕР 10.10.2003 Проект БЭЛиЗПА 14 Список литературы 11. 12. 13. 14. 15. Message-Passing Interface Forum, Document for a Standard MessagePassing Interface, 1993. Version 1.0. http://www.unix.mcs.anl.gov/mpi/ Message-Passing Interface Forum, MPI-2: Extensions to the MessagePassing Interface, 1997. http://www.unix.mcs.anl.gov/mpi/ OpenMP Consortium: OpenMP Fortran Application Program Interface, Version 1.0, October 1997. http://www.openmp.org/ DVM-система. http://www.keldysh.ru/dvm/ Коновалов Н.А., Крюков В.А., Любимский Э.З. Управляемая виртуальная память.Программирование, №1, 1977. 10.10.2003 Проект БЭЛиЗПА 15 Список литературы 16. 17. 18. 19. 20. Portland Group Debugger. http://www.pgroup.com Nupshot . http://www.mcs.anl.gov/mpi/mpich/ Pablo. http://www-pablo.cs.uiuc.edu Vampir. http://www.pallas.de/pages/vampir.htm Елизаров Г.С., Забродин А.В., Левин В.К., Каратанов В.В., Корнеев В.В., Савин Г.И., Шабанов Б.М. Структура многопроцессорной вычислительной системы МВС-1000М. Труды Всероссийской научной конференции "Высокопроизводительные вычисления и их приложения", г.Черноголовка, 30 октября - 2 ноября 2000 г., Изд-во Московского университета, 2000. 10.10.2003 Проект БЭЛиЗПА 16