14 Апреля 2011
Применение суперкомпьютерных вычислений в научной деятельности и учебном процессе
В настоящее время студенты и преподаватели ЮТИ ТПУ могут использовать вычислительный кластер (суперкомпьютер) ТПУ "СКИФ-политех".
Вычислительный кластер - это набор компьютеров (вычислительных узлов), объединенных некоторой коммуникационной сетью. Каждый вычислительный узел имеет свою оперативную память и работает под управлением своей операционной системы. Наиболее распространенным является использование однородных кластеров, то есть таких, где все узлы абсолютно одинаковы по своей архитектуре и производительности.
Доступ к кластеру производится в удаленном режиме (через Интернет). Кластер можно использовать для реализации научных и инженерных проектов. Также доступ на кластер может быть организован из компьютерных классов ЮТИ ТПУ в рамках учебных дисциплин, связанных с высокопроизводительным вычислениям.
В данный момент в ТПУ установлены и введены в эксплуатацию два кластера:
- на основе технологии SuperBlade и 4-х ядерных процессоров Nehalem (2,93 GHz) пиковой производительностью 3 Tflops под управлением ОС SUSE 11.
Конфигурация кластера:- Количество вычислительных узлов: 39
- Количество процессоров: 78 (Nehalem 4C X5570 2.93GHz 8M 6.4G)
- Количество вычислительных ядер: 320 (2.9Ghz)
- Общий объем оперативной памяти: 479ГБ
- Пиковая производительность: 3.01ТФЛОПС
- на основе процессоров Intel Xeon 515 с пиковой производительностью 1 Tflops
Конфигурация кластера:- Количество вычислительных узлов: 24
- Количество процессоров: 48 (Intel XEON 5150)
- Количество вычислительных ядер: 96 (2.66Ghz)
- Общий объем оперативной памяти: 192ГБ
- Пиковая производительность: 1.02ТФЛОПС
- Количество вычислительных узлов: 24
На обоих кластерах ТПУ установлены Windows Server HPC 2008 и Linux SLES 11 версии.
На кластере используется следующее программное обеспечение:
MathWorks Matlab & Simulink r2008a (матрицы и линейная алгебра, многочлены и интерполяция, математическая статистика, дифференциальные уравнения, обработка графики, математическое моделирование);
Wolfram Mathematica 8 (аналитические преобразования, численные расчеты, теория чисел, линейная алгебра, графика и звук);
Comsol Multiphysics 4.1a (импорт всех основных форматов файлов САПР, COMSOL Script - язык технического моделирования, имитация взаимодействий жидкостей и параметрических геометрий, имитация динамики распространения электромагнитных волн);
OriginLab Origin 8 (быстрое преобразование Фурье, аппроксимация полиномами 1-9 степени, нелинейная аппроксимация (подбор моделей), техническая графика 2D и 3D);
Intel Math Kernel Library 10 (набор функций линейной алгебры, быстрого преобразования Фурье и векторной математики для разработки научного, инженерного и финансового ПО);
Visual Studio 2008/2010 Professional (программирование на любом из интегрированных языков программирования);
3dsMAX Design 2010 (3D-моделирование);
OpenCascade Technology (продукт, сочетающий в себе набор библиотек и средств разработки ПО, ориентированного на 3D-моделирование, в особенности систем автоматизированного проектирования);
ParaView (свободно-распространяемая программа для визуализации научных данных);
OpenCascade Technology (продукт, сочетающий в себе набор библиотек и средств разработки ПО, ориентированного на 3D-моделирование, в особенности систем автоматизированного проектирования).
Преподавателями ЮТИ ТПУ кластер используется для расчетов в рамках следующих научных проектов:
- Моделирование газодинамических потоков при сварке.
- Моделирование полей напряжений и расчеты на статическую прочность конструкций горных машин.
- Запускать множество однопроцессорных задач. Это может быть разумным вариантом, если нужно провести множество независимых вычислительных экспериментов с разными входными данными, причем срок проведения каждого отдельного расчета не имеет значения, а все данные размещаются в объеме памяти, доступном одному процессу.
- Запускать готовые параллельные программы. Для некоторых задач доступны бесплатные или коммерческие параллельные программы, которые можно использовать на кластере. Как правило, для этого достаточно, чтобы программа была доступна в исходных текстах, реализована с использованием интерфейса MPI на языках С/C++ или Фортран. Примеры свободно распространяемых параллельных программ, реализованных с помощью MPI: GAMESS-US (квантовая химия), POVRay-MPI (трассировка лучей).
- Вызывать в своих программах параллельные библиотеки. Также для некоторых областей, таких как линейная алгебра, доступны библиотеки, которые позволяют решать широкий круг стандартных подзадач с использованием возможностей параллельной обработки. Если обращение к таким подзадачам составляет большую часть вычислительных операций программы, то использование такой параллельной библиотеки позволит получить параллельную программу практически без написания собственного параллельного кода. Примером такой библиотеки является SCALAPACK. Информацию о других параллельных библиотеках и программах, реализованных с помощью MPI, можно найти по адресу http://www-unix.mcs.anl.gov/mpi/libraries.html.
- Создавать собственные параллельные программы. Это наиболее трудоемкий, но и наиболее универсальный способ. Существует два основных варианта: вставлять параллельные конструкции в имеющиеся параллельные программы или создавать "с нуля" параллельную программу.
Использованы материалы сайта http://cluster.tpu.ru/
Руководитель Центра информатизации ЮТИ ТПУ А.В. Воробьев