Использование компонентов Grid в конкретной вычислительной системе Open Source Forum Russia, Moscow, 27-29 April 2005, Anatoly.Oreshkin@pnpi.spb.ru 1 Что такое Grid Grid это инфраструктура, которая делает возможным совместное использование высокопроизводительных компьютеров, сетей, баз данных, которыми владеют и управляют различные организации. Приложения Grid часто требуют больших объемов данных и/или больших вычислительных ресурсов и также требуют безопасного разделения ресурсов через организационные барьеры, что непросто обеспечить с помощью Интернета и Web структур. Как предлагает Ian Foster в [1] Grid это система, которая: 1) Координирует ресурсы, которые не подлежат централизованному управлению. Grid интегрирует и координирует ресурсы и пользователей, которые находятся в областях под разным управлением, например, настольный компьютер пользователя и централизованный компьютинг; различные компании; и решает вопросы безопасности, политики, оплаты, членства и т.д. 2 Что такое Grid (продолжение) В противном случае мы имеем дело с системой с локальным управлением. 2) Использует стандартные, открытые протоколы и интерфейсы общего назначения. Grid строится на протоколах и интерфейсах общего назначения, которые решают такие основные вопросы как аутентификация, авторизация, поиск и доступ к ресурсам. Важно, что эти протоколы и интерфейсы стандартные, в противном случае мы имеем дело с системой, зависимой от приложений. 3) Предоставляет нетривиальное качество обслуживания. Grid позволяет использовать свои составные ресурсы для удовлетворения требований пользователей так, чтобы использование всей системы было значительно эффективнее использования суммы ее частей. 3 Области применения Grid • В физике высоких энергий собираются большие объемы данных, для обработки которых требуются большие вычислительные мощности и хранилища данных. • Для предсказания погоды в реальном времени требуется быстро анализировать погодные данные. • В биологии и медицине. Изучение генома человека и как работает мозг человека. Создание новых лекарств против рака. Моделирование больших биомолекулярных систем. • В технике. Например, реалистическое моделирование самолета нового проекта. • Коммерческий сектор так же уже интересуется Grid. • Вероятно, что со временем Grid будет влиять на образование, нашу повседневную жизнь. 4 Globus Toolkit Globus Toolkit является продуктом исследовательского проекта Globus Alliance [2], целью которого является дать возможность использовать концепции Grid в научных и инженерных вычислениях. Во всем мире Globus Toolkit используется для построения Grid и разработки Grid приложений и является де факто стандартом и продуктом с открытым исходным текстом. Globus Toolkit представляет собой набор компонентов, которые можно использовать независимо или вместе, чтобы разрабатывать grid приложения и средства программирования. 5 Сценарий демонстрационного примера • Имеются 2 вычислительных кластера: SUNY-NCG [3] и PNPI PCFARM [4]. • На обоих кластерах установлен Globus Toolkit 2.4 • На кластере SUNY-NCG установлен Torque [5] в качестве системы пакетной обработки, а на PCFARM Sun Grid Engine (SGE) [6]. • Кроме того на обоих кластерах установлена система мониторинга и учета заданий BOSS (Batch Object Submission System) [7]. Информация о заданиях записывается в базу данных, расположенную на сервере ram3.chem.sunysb.edu. • Для доступа пользователя к этой базе данных через webинтерфейс https://ram3.chem.sunysb.edu/BODE используется BODE ( BOss Database Explorer) [8]. • Тестовое задание запускается на обоих кластерах, а мониторинг заданий и результат их выполнения отображается на https://ram3.chem.sunysb.edu/BODE 6 Текст тестового задания #!/bin/bash # test job for GRID Demo # ( cat <<END This is test job which submitted to show some Grid functionality. Main aim of this job is to show how the jobs might be submitted to different clusters. Current hostname = '`hostname`' Current directory = '`pwd`' User login name = '$LOGNAME' User name = '$USER‘ Cluster name = '$GRIDVM_CLUSTER_NAME‘ Local job scheduler name = '$GRIDVM_BATCH_SYSTEM' Date/time = '`date`' -----END TEST --------END ) OUTPUTFILE=$HOME/BOSS_COMMAND_STORE/testoutput.$1 ERRFILE=$HOME/BOSS_COMMAND_STORE/testerr.$1 LOGFILE=$HOME/BOSS_COMMAND_STORE/testlog.$1 OUTPUTDIR=/home/$USER/BOSS_COMMAND_STORE scp $OUTPUTFILE $ERRFILE $LOGFILE ram3.chem.sunysb.edu:$OUTPUTDIR 7 Схема демонстрационного примера Нью-Йорк Гатчина SUNY-NCG Job submission PCFARM Job submission Москва BOSS Database Нью-Йорк Web Server BODE Web Browser 8 BODE страница мониторирования задания 9 Ссылки 1. What is the Grid ? A Three Point Checklist. I. Foster, GRIDToday, July 20, 2002. 2. http://www.globus.org The Globus Alliance 3. http://ram3.chem.sunysb.edu/ramdata SUNY-NCG cluster 4. http://hepd.pnpi.spb.ru/pcfarm PNPI PCFARM cluster 5. http://supercluster.org Torque 6. http://gridengine.sunsource.net SGE 7. http://boss.bo.infn.it BOSS 8. http://filine.home.cern.ch/filine/bode/doc/Contents.html BODE 10