190 likes | 283 Views
Software Cataloging Support for PRAGMA: Where is my app?. Somsak Sriprayoonskul, Nopparat Nopkuat, Putchong Uthayopas, Sugree Phatanapherom ThaiGrid, Thailand Cindy Zheng, SDSC. Motivation for software cataloging. Challenges Which machines install software you want to use?
E N D
Software Cataloging Support for PRAGMA:Where is my app? Somsak Sriprayoonskul, Nopparat Nopkuat, Putchong Uthayopas, Sugree Phatanapherom ThaiGrid, Thailand Cindy Zheng, SDSC
Motivation for software cataloging • Challenges • Which machines install software you want to use? • Which software has been installed on one machine
Software Cataloging • Requirement • Single point of access to software cataloging information • Automatic update for a known software with minimal administrative effort • Presentation of software availability status that is easy to access • Website • http://goc.pragma-grid.net/scmsweb/ • Section Monitoring > SWCatalog
Software Catalog Application (SCMS Web) Software Information Repository Management Software Information Collection Mechanism Local Software Information Local Software Information Local Software Information
Software Cataloging process Probe Globus job submission Grid Grid Software Catalog
Software Cataloging process • Master software cataloging service on GOC. • Globus is used as a software information collection mechanism • Use globus-job-run to invoke the client probe. • Probe investigate the setup on each system dynamically • Return information using name:version:path format . • Storing software information in GOC • Provide service to access all the collected data • In CSV and XML format
Information provided • List of machine that install one software • List of software on one system
Available software probes • Amber • Autodock • Intel C/C++/Fortran compiler • NAMD • Ninf
Alert Service • Alert checks probe information everyday to find failure on grid service. • Send message to cluster admin when grid service is not available. • send message to admin for 3 days then stop to prevent the spam.
Bandwidth Monitoring • Measuring bandwidth among sites in PRAGMA • Use Iperf to measure current bandwidth • Iperf probe provided by SCMSWeb • Probe information in XML format will distributed to every node
Bandwidth Section on Probe XML <probe bandwidth_mbps="0.009091796875" bandwidth="9.31" bandwidth_unit="Kbits/sec" bandwidth_kbps="9.31" bandwidth_bps="9533.44" return_code="0" last_timed_out="1204546516.4" last_fail="0.0" num_fail="0" last_pass="1205140448.58" num_pass="216" num_timed_out="7" return_string="PASS" src_name="ABAC" src_org="AU_TH" dest_name="SutGrid" dest_org="" name="sutgrid.sut.ac.th" target="sutgrid.sut.ac.th" objectclass="SceObject,SceProbe,Iperf" subobjtype="Iperf" command="iperf -c sutgrid.sut.ac.th -p 15001" >
Bandwidth Measurement Output • Bandwidth Matrix URL • http://goc.pragma-grid.net/scmsweb/ • Section Monitoring > Bandwidth • Bandwidth Graph • Show current bandwidth and history • Display graph, chart and radar chart • Not install on PRAGMA yet
Software Probe Example • Ninf-g probe NAMD_PATH=`which namd2 2> /dev/null` if [ "$?" = 0 ]; then NAMD_VERSION=`namd2 2> /dev/null | egrep "^Info: NAMD" | sed \ "s/Info: NAMD \([0-9.]*\) for.*/\1/g"` echo "namd:$NAMD_VERSION:$NAMD_PATH" fi • Intel C Compiler probe ICC_PATH=`which icc 2> /dev/null` if [ "$?" = 0 ]; then ICC_VERSION=`icc -V 2>&1| egrep "Version" | sed \ "s/.*Version[[:space:]]*\([0-9.]*\)[[:space:]]*Build.*/\1/g"` echo "intel_c_compiler:$ICC_VERSION:$ICC_PATH" fi
Formats for SW catalog data • XML • <SoftwareCatalog> • <Host name="ASGC"> • <Software name="intel_c_compiler"> • <Path version="8.1">/prj/intel/00/bin/icc</Path> • </Software> • <Software name="intel_fortran_compiler"> • <Path version="8.1">/prj/intel/00/bin/ifort</Path> • </Software> • <Software name="ninf-g"> • <Path version="2.4.0">/prj/ng-2.4.0/bin</Path> • </Software> • </Host> • </SoftwareCatalog> • CSV Host\Softwares,amber,namd,autodock4,intel_c_compiler,intel_fortran_compiler,ninf-g ASGC,X,X,X,8.1;/prj/intel/00/bin/icc,8.1;/prj/intel/00/bin/ifort,2.4.0;/prj/ng-2.4.0/bin Syntagma,X,X,X,9.0;/opt/intel/cc/9.0/bin/icc,9.0;/opt/intel/fc/9.0/bin/ifort,2.4.0;/opt/ng/bin ...