zhChinese    enEnglish
  ПМ-ПУ  » Поступающим  » Высокопроизводительные вычисления (ВВ) на факультете ПМ-ПУ

Высокопроизводительные вычисления (ВВ) на факультете ПМ-ПУ

Что такое ВВ, чем ВВ отличаются от инженерных расчетов?

В каком-то смысле можно считать высокопроизводительными такие программы, для выполнения которых не хватает ресурсов обычных персональных компьютеров. Чаще всего такими ресурсами являются процессорное время, объем требуемой оперативной или дисковой памяти. Такое нестрогое определение используется потому, что мощность современных персональных компьютеров постоянно растет (закон Мура гласит, что мощность процессоров примерно удваивается каждые полтора года), и поэтому те задачи, которые еще несколько лет назад можно было считать только на мощных мэйнфреймах, сегодня с легкостью пропускаются на ноутбуке. На настоящий момент условной границей между инженерными и высокопроизводительными расчетами являются:

Инженерные задачи обычно носят разовый характер - посчитал, построил график и забыл, поэтому для них характерно стремление экономить время пользователя. Для их решения типичным является использование универсальных пакетов (Matlab, Mathematica, LabView, Grapher) и главным критерием выбора является удобство применения.

Для решения ресурсоемких задач главным критерием является выбор наиболее оптимального метода решения. Если это возможно, используются специализированные пакеты (MatCad, Gaussian, GAMESS), в противном случае приходится писать собственные программы, используя библиотеки программ.

Высокопроизводительные расчеты практически никогда не ведутся в интерактивном и графическом режиме. Наиболее популярная операционная система для этих вычислений - Linux.

Кластер факультета ПМ-ПУ
Рис. 1. Кластер факультета ПМ-ПУ

Где используются ВВ?

Все больший объем в высокопроизводительных вычислениях занимает математическое моделирование, когда реальные испытания на физических моделях заменяются расчетами математических моделей. Это возможно только когда физика процесса известна, поэтому математическое моделирование часто используется при расчетах конструкций (проверка зданий на сейсмостойкость, выбор формы кузова автомобиля или планера самолета, краш-тесты автомобилей).

Высокопроизводительные вычисления активно используются в киноиндустрии при создании мультфильмов и прорисовке спецэффектов, без которых невозможно представить себе ни один блокбастер. Если в фильме 1968 года "Космическая одиссея 2001 года" виды звездного неба и космических аппаратов снимались в павильоне, то уже в "Звездных войнах", не говоря об "Аватаре" они реализовывались на компьютерах. Интересно, что выбирая между визуальными эффектами и компьютерным моделированием, режиссеры все чаще предпочитают компьютер. Типичный пример - в первых (4, 5, 6) эпизодах магистра Йоду играл загримированный человек, а в новых (1, 2, 3) эпизодах он уже был полностью нарисован.

Космическая одиссея 2001 года. Павильонная съемка.
Звездные войны. Компьютерная графика.
Рис. 2. Космическая одиссея 2001 года. Павильонная съемка. Рис. 3. Звездные войны. Компьютерная графика.

Без компьютерного моделирования невозможны прогнозы погоды (один из крупнейших компьютерных центров создан при Росгидромете - 13 место в списке 50 крупнейших центров СНГ).

В СПбГУ наиболее высокопроизводительные вычисления применяются для решения широкого круга вопросов, таких, как определение свойств кристаллов и молекул, расчет ускорителей элементарных частиц, и магнитных головок дисковых накопителей, обработка данных Большого Адронного Коллайдера в ЦЕРНе.

Пути повышения эффективности выполнения программы.

Программы для высокопроизводительных расчетов пишутся тщательно, часто коллективами авторов и, иногда, на протяжении нескольких лет. Это объясняется тем, что экономия даже нескольких процентов процессорного времени в условиях многосуточного счета приносит экономическую выгоду. Основными способами повышения эффективности работы программы являются:

Однако, самым эффективным способом сокращения времени счета является распараллеливание программы.

Что такое распараллеливание.

Выше уже говорилось о законе Мура, который подтверждается уже несколько десятилетий. Однако, возможности повышения производительности процессора постепенно исчерпываются, поэтому создатели компьютеров пошли по пути создания сначала многопроцессорных, а теперь и многоядерных систем. Например, формально восьмиядер-ная система в 8 раз производительнее однопроцессорной, однако, проблема заключается в том, что для использования всех 8-ми процессоров требуется кардинальное изменение алгоритма. Идея распараллеливания заключается в том, что выделяются ветви программы, которые могут выполняться одновременно на различных процессорах, или, даже, машинах, а результаты расчетов использоваться сообща всеми ветвями. Эту процедуру крайне трудно автоматизировать, поэтому наилучший результат дает ручное программирование. Мало того, эффективность процедуры распараллеливания зависит от времени передачи данных между ветвями программы. Ясно, что время передачи данных минимально для многоядерных систем, а в многомашинных комплексах ограничивается пропускной способностью каналов связи. В любом случае это время ограничено скоростью света, поэтому чаще всего многомашинные комплексы делаются в виде кластеров, т.е. компьютеров с одинаковым аппаратным и программным обеспечением, соединенных минимальными по длине линиями связи. Чаще всего кластеры оформляются в виде стойки, обеспечивающей удобный доступ к каждому узлу. Именно такого рода комплексом является кластер ПМ-ПУ (48 восьмиядерных узлов), являющийся самым мощным кластером в северо-западном регионе. Он находится (к настоящему моменту) на 43 месте в списке высокопроизводительных систем СНГ. Кстати, тест Linpack, по которому оценивается производительность кластеров, представляющий собой процедуру обращения матрицы (в нашем случае 130000x130000), выполнялся на 384 ядрах кластера примерно 11 минут.

Еще более широкие возможности для использования предоставляет реализация т.н. метакомпьютера, когда компьютеры, принадлежащие разным организациям, соединенные сетью ИНТЕРНЕТ разрешают использовать свои ресурсы людям, входящим в состав утвержденных виртуальных организаций. Типичным образчиком такого метакомпьютера является GRID - система, разработанная ЦЕРН для обработки экспериментов на Большом Адронном Коллайдере. С помощью метакомпьютера решаются очень большие задачи типа расшифровки генома человека, поиска внеземных цивилизаций или подбор пароля зашифрованного архива.

Что надо знать и уметь, чтобы эффективно применять высокопроизводительные вычисления?

В идеале, желательно знать все ниже перечисленные пункты, или хотя бы иметь о них представление.

Что предоставляет факультет для освоения ВВ.

Поступив на факультет ПМ-ПУ, студент прослушает теоретические курсы по всем затронутым аспектам (языки и методы программирования, численные методы), но и практически применить знания в учебных классах факультета и 3-х вычислительных кластерах для защиты бакалаврских и магистерских дипломов.

Последние изменения: 23.04.2010 14:48