Co-allocation Using HARC IV. ResourceManagers HARC Workshop University of Manchester.

Slides:



Advertisements
Similar presentations
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Advertisements

Parasol Architecture A mild case of scary asynchronous system stuff.
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
MIT iCampus iLabs Software Architecture Workshop June , 2006.
The Apache Web Server  Started in April 1996 as an open source multiplatform web server (Windows, FreeBSD, UNIX, and Linux compatible).  Now the world’s.
From Class Diagrams to Databases. So far we have considered “objects” Objects have attributes Objects have operations Attributes are the things you record.
27-Jun-15 Rails. What is Rails? Rails is a framework for building web applications This involves: Getting information from the user (client), using HTML.
Lane Medical Library & Knowledge Management Center Essential UNIX Skills for Biologists Yannick Pouliot, PhD Bioresearch Informationist.
CS1020: Intro Workshop. Topics CS1020Intro Workshop Login to UNIX operating system 2. …………………………………… 3. …………………………………… 4. …………………………………… 5. ……………………………………
Russell Taylor Lecturer in Computing & Business Studies.
Tomcat Configuration A Very, Very, Very Brief Overview.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Nikto LUCA ALEXANDRA ADELA. Nikto  Web server assessment tool  Written by Chris Solo and David Lodge  Released on December 27, 2001  Stable release:
Zach Miller Condor Project Computer Sciences Department University of Wisconsin-Madison Securing Your Condor Pool With SSL.
Struts 2.0 an Overview ( )
Web server and web browser It’s a take and give policy in between client and server through HTTP(Hyper Text Transport Protocol) Server takes a request.
1 Spidering the Web in Python CSC 161: The Art of Programming Prof. Henry Kautz 11/23/2009.
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 24 – Web Servers (PWS, IIS, Apache, Jigsaw) Outline 24.1Introduction 24.2Microsoft Personal.
Erlware For Managing Distribution and Build Erlang User Conference 2007.
Apache Server The Apache Server Apache is a WWW server that implements the HTTP protocol. Apache runs as a daemon. This means that it is a resident.
MODELLER hands-on Ben Webb, Sali Lab, UC San Francisco Maya Topf, Birkbeck College, London.
Working Out with KURL! Shayne Koestler Kinetic Data.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
WEB API: WHY THEY MATTER ECOL 453/ Nirav Merchant
1 In the good old days... Years ago… the WWW was made up of (mostly) static documents. –Each URL corresponded to a single file stored on some hard disk.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Set 13: Web Servers (configuration and security) (Chapter 21) IT452 Advanced Web and Internet Systems.
University of Maryland The DPCL Hybrid Project James Waskiewicz.
Step By Step Windows Server 2003 Installation Guide Step By Step Windows Server 2003 Installation Guide.
Chapter 3 Servlet Basics. 1.Recall the Servlet Role 2.Basic Servlet Structure 3.A simple servlet that generates plain text 4.A servlet that generates.
XMPP Concrete Implementation Updates: 1. Why XMPP 2 »XMPP protocol provides capabilities that allows realization of the NHIN Direct. Simple – Built on.
Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop The Future of THtml Plans and Status of ROOT’s documentation facility.
AEgir Maintain your Drupal sites. The name: AEgir “In Norse mythology, AEgir was the god of the oceans and if Drupal is a drop of water, AEgir is the.
August 13, 2003Eric Hjort Getting Started with Grid Computing in STAR Eric Hjort, LBNL STAR Collaboration Meeting August 13, 2003.
1 Kuali Nervous System (KNS) Part 2 Presented by: Jerry Neal – KFS Development Manager Geoff McGregor – KC Lead Developer Brian McGough – KRice Project.
Grid Security in a production environment: 4 years of running Andrew McNab University of Manchester.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Guide to Linux Installation and Administration, 2e1 Chapter 11 Using Advanced Administration Techniques.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
National Center for Supercomputing ApplicationsNational Computational Science Grid Packaging Technology Technical Talk University of Wisconsin Condor/GPT.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley.
CHEP ' 2003David Chamont (CMS - LLR)1 OVAL A testing tool for CMS software
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Rob Allan Daresbury Laboratory NW-GRID Training Event 26 th January 2007 Next Steps R.J. Allan CCLRC Daresbury Laboratory.
Highly available, Fault tolerant Co-scheduling System With working implementation.
15-Feb-02Steve Traylen, RAL WP6 Test Bed Report1 RAL/UK WP6 Test Bed Report Steve Traylen, WP6 PPGRID/RAL, UK
Client installation DIRAC Project. DIRAC Client Software  Many operations can be performed through the Web interface  Even more to come  However, certain.
Java Server Pages. 2 Servlets The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
GLAST Science Support Center June 29, 2005Data Challenge II Software Workshop User Support Goals For DC 2 James Peachey GSFC/L3.
Client installation Beijing, 13-15/11/2013. DIRAC Client Software Beijing, /11/2013 DIRAC Tutorial2  Many operations can be performed through the.
RI EGI-TF 2010, Tutorial Managing an EGEE/EGI Virtual Organisation (VO) with EDGES bridged Desktop Resources Tutorial Robert Lovas, MTA SZTAKI.
Maite Barroso – WP4 Workshop – 10/12/ n° 1 -WP4 Workshop- Developers’ Guide Maite Barroso 10/12/2002
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
The Common Gateway Interface (CGI) Pat Morin COMP2405.
Apache web server Quick overview.
How to open source your Puppet configuration
Progress on NA61/NA49 software virtualisation Dag Toppe Larsen Wrocław
How to connect your DG to EDGeS? Zoltán Farkas, MTA SZTAKI
z/Ware 2.0 Technical Overview
MapServer In its most basic form, MapServer is a CGI program that sits inactive on your Web server. When a request is sent to MapServer, it uses.
All the files in this directory are free files
Games Development 2 Entity / Architecture Review
Presentation transcript:

Co-allocation Using HARC IV. ResourceManagers HARC Workshop University of Manchester

Philosophy New types of RMs can be written by others Existing RMs can be customized Interfaces can be enhanced or changed None of this means changing the acceptor code API is extensible too Good community contribution model CCT keeps control of the acceptor code The acceptor code will become very stable (already less than one commit per month) The community evolves the system

Are RMs Easy to Install Harder than client software Much easier than Acceptors Complexity is in the right place: –Only a few people install and configure Acceptors (infrastructure), which is hard –Some people modify/write RMs, which is not too hard –More people install and configure RMs which is easy –Many people install and configure the Client software, which is trivial

Pre-installation - Perl RMs are written in perl, to make installation trivial However, they need a large number of CPAN modules to be installed Some of these, e.g. Net::SSLeay and Crypt::SSLeay are not trivial There is a document which contains things to watch out for –Lists previously seen problems, with solutions –Basically a list of exceptions –Now 7 pages of text! –There’s a lot of AIX content...

Pre-installation - Certificate HARC RM needs a certificate We don’t recommend re-using the host certificate Get a service certificate UK e-Science CA now supports: –harccrm for Compute RMs (CRMs) /C=UK/O=eScience/OU=Manchester/L=MC /CN=harccrm/man2.nw-grid.ac.uk/ Address=... –harcacceptor for Acceptors /C=UK/O=eScience/OU=Manchester/L=MC /CN=harcacceptor/man4.nw-grid.ac.uk/ Address=....

Installation Procedure There’s an installer which installs stuff from the CVS tree - this may change HARC environment variable points to the root of the repo (“negotiation” directory) You have a subdirectory in –$HARC/rm-service/config For example –$HARC/rm-service/config/nw-grid/man2

Installation Procedure 1. Create Contents –install.config - more shortly –grid-mapfile - GT-style mapfile for cert to username mapping (usually a sym-link to /etc/grid-security/grid- mapfile) –acceptor_mapfile - a list of the Acceptor DNs, and also their CA cert DNs –cacerts directory, containing CA Certs for your cert and the Acceptor certs, in PEM format, suffix.crt 2. Then a trivial Install –install-rm nw-grid/man2 /usr/local/man2-rm

install.config RM_INNER_TYPE=SimpleCompute RM_COMPUTE_NODENAME=man2.nw-grid.ac.uk RM_COMPUTE_BATCH_TYPE=TorqueMaui RM_COMPUTE_MEMORY_MB_PER_CPU=4096 RM_COMPUTE_CPUS=8 RM_MAUI_COMMAND_DIR=/usr/local/maui/bin RM_RESOURCE_DESCRIPTION='The Manchester NW-Grid node, a Dual AMD Opteron Linux cluster’ RM_HOST= RM_URL=man2-rm RM_PORT=9393

install.config RM_INNER_TYPE=SimpleCompute RM_COMPUTE_NODENAME=man2.nw-grid.ac.uk RM_COMPUTE_BATCH_TYPE=TorqueMaui RM_COMPUTE_MEMORY_MB_PER_CPU=4096 RM_COMPUTE_CPUS=8 RM_MAUI_COMMAND_DIR=/usr/local/maui/bin RM_RESOURCE_DESCRIPTION='The Manchester NW-Grid node, a Dual AMD Opteron Linux cluster’ RM_HOST= RM_URL=man2-rm RM_PORT=9393 man2.nw-grid.ac.uk

Installation Step Before Installing –Need PERL5LIB and LD_LIBRARY_PATH to be defined in your environment when you install –Or can add these to the config file –Don’t have to set these if you don’t need to Then a trivial Install –install-rm nw-grid/man2 /usr/local/man2-rm –Script is in $HARC/rm-service/scripts What does this do?

What happens? rm-service $ scripts/install-rm nw-grid/man2 /Users/jonmaclaren/man2-rm Makefile.crt... Skipped cct-ca.crt... 5fb2fc80.0 old-uk-escience-ca.crt uk-escience-ca.crt... adcbc9ef.0 uk-escience-root.crt c1cd.0 Notice: Don't forget to place your certificate and key files at: /Users/jonmaclaren/man2-rm/x509/server_cert.pem /Users/jonmaclaren/man2-rm/x509/server_key.pem Installs Source files Creates a crontab & scripts for restarting the RM Customizes some scripts for stopping/starting the RM Installs and hashes CA certificates Output:

What’s in /usr/local/man2-rm ? Some Perl Modules And OuterRM.pl which gets run commands - which configures and runs the RM (based on install.config, etc.) rerun - runs “commands” in the background from crontab crontab - crontab line which can be added directly to your crontab (don’t cut and paste!) start-rm, stop-rm - control whether rerun will actually start the RM, using a control file (.do_not_restart) –./stop-rm –./start-rm [ -w ] x509 - subdirectory containing all the CA certs, mapfiles, etc.

Perl Modules Just an overview here... There is a doc online which has some details on these

Key Modules OuterRM - just does the HTTP listening and Acceptor Cert authN/authZ MainLoop - handles each request TransactionManager - remembers what transactions (by TID) are running, and what their states are InnerRM - the main class for different types of RM –SimpleComputeRM –SimpleNetworkRM –Both inherit from InnerRM

SimpleComputeRM Handles batch queue systems Deals only with processors/memory To talk to the scheduler, a subclass of SCBatch is used –SCBatchTorqueMaui.pm –SCBatchTorqueMoab.pm –SCBatchLoadLeveler.pm - not in CVS yet... Chosen at runtime - RM_COMPUTE_BATCH_TYPE Simple modules –Less than 200 lines –Override initialize makeReservation cancelReservation getStatus

Customizing InnerRM Startup/shutdown –initialize/remove Parsing (validating) the XML –parseResourceElement –parseWorkElement –maybe parseScheduleElement Co-allocation –tryMakeAction –tryCancelAction –addResourceBookings –completeTransactionBookings Others for getTimetable/getStatus

Steps for creating a new RM 1.Design your XML Resource element Work element 2.Create a new subclass of InnerRM.pm Use the utility classes where possible 3.To extend the API, create subclasses of Resource.java Work.java

Caveats for RMs Need to restart to re-read grid-mapfile When restarted, they forget the bookings –Want to add persistence so that it’s trivial for RM developers to utilize Thread handling needs work (soon!)

What’s next? Discussion on MPIg... Beer?

But first......Any Questions?