110 likes | 285 Views
Реализация тестовой базы данных для поддержки оптимизации сложных вычислительных приложений. студент: Григорий Чёрный ( cgsm@rambler.ru ) 3 курс; ММФ; НГУ руководители: Александр Леонидович Семёнов; Павел Манкевич 10 .11.2006. Вычислительные программы.
E N D
Реализация тестовой базы данных для поддержки оптимизации сложных вычислительных приложений студент: Григорий Чёрный (cgsm@rambler.ru) 3 курс; ММФ; НГУ руководители: Александр Леонидович Семёнов; Павел Манкевич 10.11.2006
Вычислительные программы Используются при моделировании всевозможных процессов, явлений и систем: • физики атмосферы (в частности погодные приложения) • аэрогидродинамики • химических процессов • экономических систем • социологии • …
Погодные приложения Сложные вычислительные приложения моделирования атмосферных явлений. Многие такие программы занимают десятки и сотни часов вычислительного времени. Для уменьшения времени работы необходимо рассматривать возможность: • изменения алгоритма вычислений • проведения низкоуровневой оптимизации для различных архитектур
Оптимизация времени исполнения • требует большого числа тестовых прогонов (прогоны ведутся на кластере с узлами, работающими под управлением ОС Linux) • каждый прогон может включатьизменение: • опций компиляции • входных данных • исходного кода А также работу с профилирующими инструментами
Появляется необходимость автоматизации процесса сбора и доступа к используемым данным и полученным результатам
Цель проекта • разработка и реализация базы данных, хранящей все входные параметры и результаты прогонов • написание программ автоматического сбора данных о прогонах (скриптов) • реализация web-интерфейса – доступа к базе данных. т.е. разработка инфраструктуры поддержки оптимизации вычислительных приложений
Web-интерфейс БД System - данные - взаимодействие
Реализация В результате анализа набора средств было принято следующее решение: • реализовать БД при помощи MySQL • реализовать скрипты ввода параметров при помощи Python (при необходимости Perl) • реализовать web-интерфейс к БД с использованием PHP (при необходимости Python)
Этапы проекта • Ознакомление с ОС Linux и языком программирования Fortran • Выбор средств реализации требуемых приложений • Прогон тестового приложения – WRF, включая настройку и построение самого приложения и требуемого инструментария (предполагается запустить приложение в распределенном режиме на кластере, предварительно настроив кластер с помощью mpich на машинах терминального класса лаборатории) • Реализация БД и интерфейсов к ней • …
Требуемые знания • Знание вычислительных алгоритмов и способов их реализации • Владение параллельным и распределенным программированием с использованием OpenMP и MPI • Знание архитектур IA32, IA64 • Знание языков С/С++ и Fortran • Умение работать c операционной системой Linux • Владение интерпретируемыми языками PHP/Python/Perl • Умение работать с БД MySQL