170 likes | 288 Views
Ab initio grid chemical software ports – transferring knowledge from EGEE to Polish NGI. M. Sterzel , P. Lasoń, Ł. Flis, K. Noga, Ł. Kitowski ACC CYFRONET AGH. EGEE User Forum 5 Uppsala, 13 March 2010. Outline. Aim of this talk
E N D
Ab initio grid chemical software ports – transferring knowledge from EGEEto Polish NGI M. Sterzel, P. Lasoń, Ł. Flis, K. Noga, Ł. Kitowski ACC CYFRONET AGH EGEE User Forum 5 Uppsala, 13 March 2010
Outline • Aim of this talk Share our experience concerning porting and installing scientific applications on Polish Grid Infrastructure • Parts of the talk topics • PL-Grid • EGEE – models of software installation • Our implementation • Modules package • SAM software tests • Final remarks
PL-Grid • Consortium: • Academic Computer Center Cyfronet AGH – Coordinator • Poznań Supercomputing and Networking Center • Wrocław Centre for Networking and Supercomputing • Interdisciplinary Center for Math. and Computat. Modelling • Academic Computer Center in Gdańsk • PL-Grid Project (2009-2012) • Got funded March 2, 2009 (via European Structural Funds) • Aims to provide the Polish scientific community with an IT platform based on Grid computer clusters, enabling e-science research in various fields. • Web page: www.plgrid.pl
EGEE – software installation models • A VO designated for software application • Gaussian • Turbomole • … • Storage of binaries in LFC catalogue • Direct installation of binaries in $VO_{VO-name}_SW_DIR • Direct compilation & execution • a package source file(s) sent to WN • compiled & executed on WN
Problems • A VO designated for software application • Only one software package accessible • Makes every admin headache when new application added • User has to belong to many VOs • Storage of binaries in LFC catalogue • More convenient but without care no protection for binaries • Direct installation of binaries in $VO_{VO-name}_SW_DIR • Convenient, but without care we can end up with several instances of the same software in many places • Direct compilation & execution • Useful for small program files only • requires working compiler on WN
Solution • Single VO – vo.plgrid.pl • Software installed on each site in admin’s favourite location • ACL for better permission control • Access to each scientific application via Modules package – software environment management • $VO_VO_PLGRID_PL_SW_DIR/scripts contains a series of shell related Modules configuration files: • modules.{bash,tcsh,csh,zsh} • Site which installs software package for the first time provides a module file and SAM test for it • Extensive use of VOMS roles in special cases
Modules ... Modules – Software Environment Management • Package allows dynamic modification of a user's environment via modulefiles • Each modulefile contains the information needed to configure the shell for a given application • Once the Modules package is initialized, the environment can be modified on a per-module basis using the module command which interprets modulefiles • Modules can be loaded and unloaded dynamically • All popular shells are supported • System is useful in managing different versions of application(s)
modulefile proc ModulesHelp { } { puts stderr "\tName: Turbomole” puts stderr "\tURL http://www.turbomole.com" puts stderr "\tProvides: dscf,grad,ridft,rdgrad,mpgrad,...” puts stderr "\tLocal docs: file:\$TURBODIR/DOK” } module-whatis "Turbomole computational chemistry package, v6.1” set TURBODIR /software/local/Turbomole/6.1/TURBOMOLE setenv TURBODIR $TURBODIR set TURBOARCH em64t-unknown-linux-gnu setenv TURBOARCH $TURBOARCH prepend-path PATH $TURBODIR/bin/$TURBOARCH:$TURBODIR/scripts prepend-path LD_LIBRARY_PATH $TURBODIR/lib/$TURBOARCH set curMod [module-info name] if { [ module-info mode load ] } { puts stderr " '$curMod' load complete." } if { [ module-info mode remove ] } { puts stderr " '$curMod' unload complete." }
module command • Load/unload program module: • module add adf/adf2009 • module rm adf • List all loaded modules: • module list • List all available modules: • module avail • Remove all loaded modules • module purge • and other usefull commands • More information at: http://modules.sourceforge.net/
Parallel execution • Modules enables easy support for parallel execution: # # check for PBS environment, load appropriate arguments ... # if { [info exists ::env(PBS_ENVIRONMENT)] } { set PBSFILE $env(PBS_NODEFILE) set NPROC [exec wc -l < $PBSFILE] setenv NSCM $NPROC } else { set NPROC 1 setenv NSCM $NPROC }
Monitoring • Software packages are tested on each site supporting vo.plgrid.pl • Why automated tests? • to avoid common mistakes (network drive not mounted, expired license, wrong permissions, etc.) • save time • Each test contains a short, application program specific, input file • Tests are checked frequently by First Line Support • At any time user can check current status of the tests • Currently SAM tests are implemented • A migration from SAM to PL-Grid Nagios is planned for near future
Monitoring • Typical test
Monitoring • Other tests
Summary • We have provided a unified solution for porting and installing software applications in grid environment • The solution does not enforce any major changes in site’s politics' concerning software installation • Solution is convenient for users as they can access their software using just one command • Automated software tests help site administrators keep track of software packages operation