1 Использование вычислительного кластера Кемеровского государственного университета Авторы: Власенко Андрей, Андреев Никита Докладчик: Власенко Андрей.

Презентация:



Advertisements
Похожие презентации
1 Использование вычислительного кластера Кемеровского государственного университета Авторы: Власенко Андрей, Андреев Никита Докладчик: Власенко Андрей.
Advertisements

1 Использование вычислительного кластера Кемеровского государственного университета Кафеда ЮНЕСКО по НИТ.
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ Работа с ОС GNU/Linux в терминальных классах Кафедры ВС Старший преподаватель Кафедры ВС, к.т.н. Поляков Артем.
Практическое занятие Вводное занятие Преподаватели: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ»
Enabling Grids for E-sciencE GILDA Grid Demonstrator Олешко Сергей Петербургский институт ядерной физики РАН.

Программное обеспечение серверов и клиентов. Программы-клиенты web-клиент ftp-клиент ssh-клиент mail-клиент.
Типовые расчёты Растворы
Кафедра ЮНЕСКО по НИТ1 Параллельное программирование MPI – message passing interface Власенко Андрей Юрьевич.
Help: настройка Visual Studio.Net для создания консоль-приложения на основе Intel C++ с применением OpenMP. Инструменты «Практическое параллельное программирование.
1 ГОУ ВПО Тульский государственный университет Начальник отдела информационной безопасности. Серегин Денис Витальевич.
Основы UNIX-подобных операционных систем на примере Debian GNU/Linux.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Системное программное обеспечение. Вычислительная система 2.
Введение в параллельное программирование Максим Городничев Летняя школа отдела МО ВВС ИВМиМГ СО РАН
Учитель информатики Трашков О.Л.. Для оперативного обмена информацией и совместного использования общих ресурсов компьютеры объединяют в сеть. Ресурсами.
Тест по информатике. 1. Что называется файлом? 1.программа, которая переводит язык программирования в машинный код 2.программа, которая служит для подключения.
Особенности технической подготовки аудиторий к КЕГЭ и его проведения 2 октября 2012 года.

26 декабря 2013г. attest.cro36.ru 1. * ПК или ноутбук с ОС Windows XP/Vista/7/8; MacOS; Linux/Unix * Разрешение экрана не менее 1200х768 * Веб-браузер.
Транксрипт:

1 Использование вычислительного кластера Кемеровского государственного университета Авторы: Власенко Андрей, Андреев Никита Докладчик: Власенко Андрей

2 Мотивация создания вычислительных кластеров Для получения численного решения многих задач механики, гидро- и газодинамики, ядерной физики и других областей физики с надлежащей точностью зачастую недостаточно вычислительных мощностей одного ПК. Выход: заставить работать над задачей несколько процессоров.

3 Архитектура кластера Вычислительный узел Вычислительный кластер Сеть передачи данных Оперативная память Кэш Ядро Оперативная память Кэш Ядро Процессор

4 Конфигурация кластера КемГУ 9 вычислительных узлов (4-старых, 5- новых) и 1 управляющий по 2 процессора Intel Xeon 5410 (2.33 Ггц) в каждом из 4 старых узлов по 2 процессора Intel Xeon 5630 (2.53Ггц) в каждом из 5 новых узлов по 4 ядра в каждом процессоре по 8 Гб памяти в каждом из 4 старых узлов по 24 Гб памяти в каждом из 5 новых узлов Gigabit Ethernet - управляющая сеть, Infiniband – вычислительная сеть 1,5 Тб дискового пространства операционная система Linux CentOS

5 Сайт поддержки пользователей кластера (icp.kemsu.ru) Данная презентация Бланк заявки на регистрацию пользователя Правила работы с вычислительным кластером КемГУ Полезные программы Учебные материалы (ссылки на литературу и интернет-ресурсы) Памятка пользователю Раздел «Университетский кластер»

6 Порядок предоставления доступа к кластеру КемГУ 1.Ознакомиться с правилами для пользователей вычислительного кластера Кемеровского государственного университета 2.Заполнить бланк заявки и отнести на подпись проректору по научной работе и информатизации КемГУ 3. Получить логин и пароль учетной записи у Власенко Андрея (2140 каб.) или Андреева Никиты (2129 каб.)

7 Программирование для кластерной вычислительной системы При запуске обычных последовательных программ на вычислительном кластере невозможно получить выигрыш в производительности. Вывод: требуется инструментарий для распараллеливания задачи на несколько процессоров. MPI (Message Passing Interface) – стандарт де-факто при программировании вычислительных кластеров. (Афанасьев К.Е., Стуколов С.В. «Многопроцессорные вычислительные системы и параллельное программирование») MPI сложен в освоении и требует изрядных навыков прикладного программирования.

8 MPI на кластере КемГУ Существует единственный стандарт MPI: report.pdf И множество реализаций стандарта (MPI Chameleon, Open MPI, MVAPICH, Intel MPI, HP MPI, Microsoft MPI и др.), которые содержат библиотеки функций и набор утилит и скриптов. На кластере КемГУ: MVAPICH2-1.6 rocks-openmpi 1.4.1

9 Программирование для кластерной вычислительной системы OpenMP – стандарт де-факто при программировании многопроцессорных (многоядерных) систем с общей памятью. С его помощью можно загрузить 8 ядер на одном узле UPC (Unified Parallel C) – подходит для программирования как систем с общей, так и с распределенной памятью. 1.Tarek El-Ghazawi, William Carlson, Thomas Sterling, Katherine Yelick: «UPC: Distributed Shared Memory Programming»

10 Вход на кластер Необходимо осуществить ssh-соединение (Secure Shell). Для этого требуется ssh-клиент. Один из самых популярных и удобных клиентов – Putty

11 Ввод IP-адреса или master.kemsu.ru

12 Выбор кодировки Translation UTF-8

13 Ввод логина Вместо vlas свой логин Ввод пароля При вводе пароль не отображается

14 Командная строка Приглашение командной строки в ОС Linux. Материалы по ОС Linux:

15 Смена пароля passwd

16 Файловый менеджер Midnight Commander Вызов файлового менеджера Midnight Commander (mc)

17 Копирование файлов на кластер / с кластера Используем программу WinSCP

18 Копирование файлов на кластер / с кластера или master.kemsu.ru

19 Копирование файлов на кластер / с кластера Скопировать папку programs_for_study в домашнюю директорию.

20 Переименование/перемещениефайлов Переименование/перемещение файлов 1.В Midnight commander нажать комбинацию Ctrl+O 2.mv pbsjob1_vlas pbsjob1_stud{i} 3.Кнопку «вверх» - появится предыдущая набранная строка 4.mv pbsjob2_vlas pbsjob2_stud{i} 5.Кнопку «вверх» - появится предыдущая набранная строка 6.mv pbsjob3_vlas pbsjob3_stud{i} 7.Кнопку «вверх» - появится предыдущая набранная строка 8.mv pbsjob4_vlas pbsjob4_stud{i} 9.ls – выводит содержимое каталога 10.Ctrl + O – возврат в mc

21 Написание исходного кода программы touch program.cpp – создает файл с названием program.cpp

22 Написание исходного кода программы Щелчком по кнопке F4 на имени файла program.cpp открываем его в режиме редактирования и набираем текст программы.

23 Выбор MPI-реализации Для этого необходимо воспользоваться утилитой mpi-selector mpi-selector --list (список всех установленных MPI- реализаций) mpi-selector --query (текущая MPI-реализация)

24 Выбор MPI-реализации mpi-selector --set mvapich2-1.6 (выбор другой MPI-реализации). После этого необходимо завершить сеанс и открыть новый. mpi-selector --query

25 Компиляция mpi-программы на C mpicxx c_mpi_prog.cpp –o c_mpi_prog.out

26 Компиляция mpi-программы на fortran mpif77 fortran_mpi_prog.f –o fortran_mpi_prog.out Или mpif90 fortran_mpi_prog.f –o fortran_mpi_prog.out

27 Создание скрипта запуска для MVAPICH2 pbsjob1_vlas #PBS -l walltime=00:01:00,nodes=4:ppn=1 #PBS -q или #PBS -q #PBS -N vlasjob1 #PBS -o /home/testuser/out.txt #PBS -e /home/testuser/err.txt #!/bin/sh /opt/mpiexec/bin/mpiexec –n 4 /home/testuser/fortran_mpi_prog.out где walltime – предполагаемое время выполнения, nodes - число вычислительных узлов, ppn – число вычислительных ядер на каждом узле. #PBS -q - Имя сервера и очереди #PBS -N job_name - имя задания #PBS -o /home/tester/out.txt– указание пути для записи файла потока вывода #PBS -o /home/tester/err.txt – указание пути для записи файла потока ошибок #!/bin/sh – командный интерпретатор mpiexec– команда запуска MPI-приложения

28 Создание скрипта запуска для OpenMPI pbsjob1_vlas #PBS -l walltime=00:01:00,nodes=4:ppn=1 #PBS -q или #PBS -q #PBS -N vlasjob1 #PBS -o /home/testuser/out.txt #PBS -e /home/testuser/err.txt #!/bin/sh /opt/openmpi/bin/mpiexec –n 4 –machinefile $PBS_NODEFILE /home/testuser/fortran_mpi_prog.out

29 Постановка задачи в очередь [ ~]$ qsub pbsjob1_vlas Отслеживание состояния задачи в очереди [ ~]$ qstat Job id Name User Time Use S Queue master my_job tester 0 R workq 147.master job_hpl tester 0 Q workq 148.master job_hpl tester 0 Q workq 149.master job_hpl tester 0 Q workq 150.master job_hpl tester 0 Q workq

30 Файлы с результатами работы Файл результатов (поток stdout): /home/testuser/out.txt Файл с ошибками (поток stderr): /home/testuser/err.txt

31 Компиляция openmp-программы на C [ ~]$ g++ -fopenmp c_openmp_prog.cpp –o c_openmp_prog.out [ ~]$gfortran -fopenmp fortran_openmp_prog.f –o fortran_openmp_prog.out Компиляция openmp-программы на Fortran

32 Создание скрипта запуска для openmp- программы pbsjob3_vlas #PBS -l walltime=00:01:00,nodes=1:ppn=8 #PBS -q #PBS -N vlasjob3 #PBS -o /home/testuser/out.txt #PBS -e /home/testuser/err.txt #!/bin/sh export OMP_NUM_THREADS=8 /home/testuser/c_openmp_prog.out где OMP_NUM_THREADS – команда запуска параллельного приложения

33 Постановка задачи в очередь [ ~]$ qsub pbsjob3_vlas Отслеживание состояния задачи в очереди [ ~]$ qstat

34 Компиляция UPC программы [ ~]$ upcc -network=udp -pthreads=8 upc_prog.c -o upc_prog.out

35 Создание скрипта запуска для UPC программы pbsjob5_vlas #PBS -l walltime=00:01:00,nodes=4:ppn=8 #PBS -q #PBS -N vlasjob5 #PBS -o /home/testuser/out_vlasjob5.txt #PBS -e /home/testuser/err_vlasjob5.txt #!/bin/sh /opt/bupc-runtime /bin/upcrun -n 32 /home/vlas/programs_for_study/upc_prog.out

36 Копирование файлов результатов на локальный компьютер Осуществляется при помощи программы WinSCP таким же образом, как и копирование с локального компьютера на кластер.

37 БЛАГОДАРЮ ЗА ВНИМАНИЕ!