Gridmake for GlueX software Richard Jones University of Connecticut GlueX offline computing working group, June 1, 2011.

Slides:



Advertisements
Similar presentations
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Advertisements

Introduction to Linux Recap Installing programs Introduction to Video Editing with Linux.
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Kyle Thurow, Kyle Neuschaefer, Alexander Matusiak, and Justin Carroll.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
BizTalk Deployment using Visual Studio Release Management
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
CVMFS: Software Access Anywhere Dan Bradley Any data, Any time, Anywhere Project.
Module 1: Installing Windows XP Professional. Overview Manually Installing Windows XP Professional Automating a Windows XP Professional Installation Using.
INTRODUCTION TO WEB DATABASE PROGRAMMING
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
Lecture Note 3: ASP Syntax.  ASP Syntax  ASP Syntax ASP Code is Browser-Independent. You cannot view the ASP source code by selecting "View source"
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Rsv-control Marco Mambelli – Site Coordination meeting October 1, 2009.
Terry Henry IS System Manager, SharePoint SME Micron Technology Inc.
Review Security Hardening IPTables SELinux. Today Installations and updates – Rpm command and packages Apache “Issue Ownership”
Integration and Sites Rob Gardner Area Coordinators Meeting 12/4/08.
10/5/2015CS346 PHP1 Module 1 Introduction to PHP.
Apache Web Server v. 2.2 Reference Manual Chapter 1 Compiling and Installing.
K. Harrison CERN, 20th April 2004 AJDL interface and LCG submission - Overview of AJDL - Using AJDL from Python - LCG submission.
03/27/2003CHEP20031 Remote Operation of a Monte Carlo Production Farm Using Globus Dirk Hufnagel, Teela Pulliam, Thomas Allmendinger, Klaus Honscheid (Ohio.
| nectar.org.au NECTAR TRAINING Module 9 Backing up & Packing up.
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
Distribution After Release Tool Natalia Ratnikova.
6 th Annual Focus Users’ Conference Manage Integrations Presented by: Mike Morris.
LCG Middleware Testing in 2005 and Future Plans E.Slabospitskaya, IHEP, Russia CERN-Russia Joint Working Group on LHC Computing March, 6, 2006.
Marcelo R.N. Mendes. What is FINCoS? A Java-based set of tools for data generation, load submission, and performance measurement of event processing systems;
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
1Offline Weekly Meeting May May 2006 AliRoot Build Integration and (Testing) System Peter Hristov Vagner Morais.
The european ITM Task Force data structure F. Imbeaux.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
Ant & Jar Ant – Java-based build tool Jar – pkzip archive, that contains metadata (a manifest file) that the JRE understands.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
What am I?. Translators Translators – Module Knowledge Areas Types of translators and their use Lexical analysis Syntax analysis Code generation and.
Setting up Cygwin Computer Organization I 1 May 2010 ©2010 McQuain Cygwin: getting the setup tool Free, almost complete UNIX environment emulation.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
An Introduction to Designing, Executing and Sharing Workflows with Taverna Katy Wolstencroft myGrid University of Manchester IMPACT/Taverna Hackathon 2011.
CS Capstone OS Tools for OpenBSD Overview Presentation Team Fugu.
Module 8: Managing Software Distribution. Collections Packages Programs Advertisements Collections Packages Programs Advertisements How Software.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
| nectar.org.au NECTAR TRAINING Module 9 Backing up & Packing up.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
15-Feb-02Steve Traylen, RAL WP6 Test Bed Report1 RAL/UK WP6 Test Bed Report Steve Traylen, WP6 PPGRID/RAL, UK
GlueX Computing GlueX Collaboration Meeting – JLab Edward Brash – University of Regina December 11 th -13th, 2003.
Microsoft ® Official Course Module 6 Managing Software Distribution and Deployment by Using Packages and Programs.
A GANGA tutorial Professor Roger W.L. Jones Lancaster University.
David Adams ATLAS AJDL: Abstract Job Description Language David Adams BNL June 29, 2004 PPDG Collaboration Meeting Williams Bay.
Geant4 GRID production Sangwan Kim, Vu Trong Hieu, AD At KISTI.
Five todos when moving an application to distributed HTC.
UNIX U.Y: 1435/1436 H Operating System Concept. What is an Operating System?  The operating system (OS) is the program which starts up when you turn.
PHP stands for …….. “PHP Hypertext Pre-processor” and is a server-side scripting language like ASP. PHP scripts are executed on the server PHP supports.
Parag Mhashilkar (Fermi National Accelerator Laboratory)
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Installation of the ALICE Software
Active Server Pages Computer Science 40S.
Pipeline Execution Environment
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
The ATLAS software in the Grid Alessandro De Salvo <Alessandro
Java programming lecture one
Offline software installation
Chap 10 Malicious Software.
Leigh Grundhoefer Indiana University
Download and Installation of code::blocks
Chap 10 Malicious Software.
Cygwin: getting the setup tool
Presentation transcript:

gridmake for GlueX software Richard Jones University of Connecticut GlueX offline computing working group, June 1, 2011

Richard Jones, Gluex offline computing working group, June 1, motivation run GlueX jobs in a grid environment  verify a minimal working environment (perl, wget, …)  specify minimal setup needed to accomplish a task  ability to discover steps already done and not redo them  target-based syntax (make this output file) preferred over procedure-based scripting (run this executable)  discover required components already installed on a site, and do a fresh install of any missing components  coordination across sites, integration with SRM automate a GlueX workflow for anyone  wget  wget ./gridmake dana_events_0.hddm

Richard Jones, Gluex offline computing working group, June 1, what gridmake does 1.starts the perl interpreter – no perl, no go 2.looks for a bunch of perl modules it needs (eg. XML::Xerces) if already installed, loads them into the runtime if not installed, downloads, builds, installs, and loads them 3.opens the gridmake.xml file (overridden by –f option) 4.validates it against the xml schema for gridmake 5.finds the target “dana_events_0.hddm” as something’s output 6.scans the dependency tree for this target (make heuristics) 7.determines if the target is stale (can be forced in config file) 8.remakes anything needed to freshen the target 9.cleans up intermediate files (config “keep” option saves them) example:./gridmake dana_events_0.hddm

Richard Jones, Gluex offline computing working group, June 1, what gridmake needs a basic unix environment (bash, gnu compilers, …) perl (tested with 5.8) wget (can be a symlink to curl) live connection to the internet, every time live connection to the internet, every time disk quota for any installs you might need, or for data files – current policy is to make it fit within a 10GB box for all jobs standard environment variables pointing to any preinstalled packages that you prefer not to see rebuilt for this job your xml config file (default:./gridmake.xml) make target for this job example:./gridmake dana_events_0.hddm

Richard Jones, Gluex offline computing working group, June 1, where gridmake does it./packages   setup  setup.env  installation area for arch_1  … any other architectures  … various bits leftover from the installer (eg. installer_log) example:./gridmake dana_events_0.hddm a complicated bash script able to discover, verify, install, and setup the environment for this package a simple list of environmental variables for the package where it was last found this part only present if a local install of this package was required

Richard Jones, Gluex offline computing working group, June 1, what packages gridmake supports xerces-c evio clhep cernlib geant4 jana sim-recon (includes hdds and calib) threePi hello example:./gridmake dana_events_0.hddm a simple package for testing gridmake, a c program that writes a file “hello_world”, example:./gridmake hello_world

Richard Jones, Gluex offline computing working group, June 1, how to add a package to gridmake edit your gridmake.xml and add the package add a processor to gridmake.xml that uses it setup not found on server try it out:./gridmake foo_bar_output – setup not found on server send package details, setup script to … any other require tags foo_bar_output #!/bin/bash $FOO_BAR_HOME/bin/foo_bar >foo_bar_output

Richard Jones, Gluex offline computing working group, June 1, status of gridmake this is an alpha release successfully tested on UConn, IU, ifarm machines currently being tested on other OSG sites groups can set up their own package distribution servers, independent of the UConn server for the future – is this scalable to 10,000 jobs? for the future – is this scalable to 10,000 jobs? ./gridmake three_pion_0.hddm currently generates 12 HTTP GETs to my web server, once installation is done.  120,000 HTTP GET connections in 24 hours for ~5kB files is not too bad, but most of these could be avoided. ongoing development expected, suggestions welcome