1 / 37

Использование вычислительного кластера Кемеровского государственного университета

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

benson
Download Presentation

Использование вычислительного кластера Кемеровского государственного университета

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Порядок предоставления доступа к кластеру КемГУ • Ознакомиться с правилами для пользователей вычислительного кластера Кемеровского государственного университета • Заполнить бланк заявки и отнести на подпись проректору по научной работе и информатизации КемГУ • 3. Получить логин и пароль учетной записиу Власенко Андрея (2140 каб.) или Андреева Никиты (2129 каб.)

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

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

  9. Программирование для кластерной вычислительной системы • OpenMP – стандарт де-факто при программировании многопроцессорных (многоядерных) систем с общей памятью. С его помощью можно загрузить 8 ядер на одном узле. • 1. http://developers.sun.ru/content/view/7/6/ • 2. http://www.citforum.ru/hardware/arch/lectures/6.shtml • UPC (Unified Parallel C) – подходит для программирования как систем с общей, так и с распределенной памятью. • TarekEl-Ghazawi, WilliamCarlson, ThomasSterling, KatherineYelick: «UPC: DistributedSharedMemoryProgramming» • http://upc.mtu.edu/tutorials.html • http://upc.gwu.edu/downloads/Manual-1.2.pdf

  10. Вход на кластер Необходимо осуществить ssh-соединение (Secure Shell). Для этого требуется ssh-клиент. Один из самых популярных и удобных клиентов – Putty http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

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

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

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

  14. Командная строка Приглашение командной строки в ОС Linux. • Материалы по ОС Linux: • http://rus-linux.net/MyLDP/BOOKS/inst-322/node5.htm • http://fencingural.narod.ru/linux/index.htm

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

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

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

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

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

  20. Переименование/перемещениефайловПереименование/перемещениефайлов В Midnight commander нажать комбинацию Ctrl+O mv pbsjob1_vlas pbsjob1_stud{i} Кнопку «вверх» - появится предыдущая набранная строка mv pbsjob2_vlas pbsjob2_stud{i} Кнопку «вверх» - появится предыдущая набранная строка mv pbsjob3_vlas pbsjob3_stud{i} Кнопку «вверх» - появится предыдущая набранная строка mv pbsjob4_vlas pbsjob4_stud{i} ls – выводит содержимое каталога 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 srail@master или#PBS -q mrail@master #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 srail@master - Имя сервера и очереди #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 srail@master или#PBS -q mrail@master #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. Постановка задачи в очередь [ testuser@master ~]$ qsub pbsjob1_vlas Отслеживание состояния задачи в очереди [ testuser@master ~]$ qstat Job id Name User Time Use S Queue ------------------- ---------------- --------------- 146.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 [ testuser@master ~]$ g++ -fopenmp c_openmp_prog.cpp –o c_openmp_prog.out Компиляция openmp-программына Fortran [ testuser@master ~]$gfortran -fopenmp fortran_openmp_prog.f –o fortran_openmp_prog.out

  32. Создание скрипта запуска для openmp-программы pbsjob3_vlas #PBS -l walltime=00:01:00,nodes=1:ppn=8 #PBS -q mrail@master #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. Постановка задачи в очередь [ testuser@master ~]$ qsub pbsjob3_vlas Отслеживание состояния задачи в очереди [ testuser@master ~]$ qstat

  34. Компиляция UPC программы [ testuser@master ~]$ 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 mrail@master #PBS -N vlasjob5 #PBS -o /home/testuser/out_vlasjob5.txt #PBS -e /home/testuser/err_vlasjob5.txt #!/bin/sh /opt/bupc-runtime-2.10.0/bin/upcrun -n 32 /home/vlas/programs_for_study/upc_prog.out

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

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

More Related