A Java Based Prototype Grid User Interface Janice Drohan Project Supervisor: Prof. Peter Clarke.

Slides:



Advertisements
Similar presentations
Three types of remote process invocation
Advertisements

GridPP Meeting, Cambridge, 15 Feb 2002 Paul Mealor, UCL UCL Testbed 1 status report Paul Mealor.
ATLAS/LHCb GANGA DEVELOPMENT Introduction Requirements Architecture and design Interfacing to the Grid Ganga prototyping A. Soroko (Oxford), K. Harrison.
Grid Resource Allocation Management (GRAM) GRAM provides the user to access the grid in order to run, terminate and monitor jobs remotely. The job request.
CERN LCG Overview & Scaling challenges David Smith For LCG Deployment Group CERN HEPiX 2003, Vancouver.
JNDI Java Naming Directory Interface JNDI is an API specified in Java that provides naming and directory functionality to applications written in Java.
Andrew McNab - EDG Access Control - 14 Jan 2003 EU DataGrid security with GSI and Globus Andrew McNab University of Manchester
A Computation Management Agent for Multi-Institutional Grids
USING THE GLOBUS TOOLKIT This summary by: Asad Samar / CALTECH/CMS Ben Segal / CERN-IT FULL INFO AT:
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Introduction to SQL Programming Techniques.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
GridScape Ding Choon Hoong Grid Computing and Distributed Systems (GRIDS) Lab. The University of Melbourne Melbourne, Australia WW Grid.
DataGrid Kimmo Soikkeli Ilkka Sormunen. What is DataGrid? DataGrid is a project that aims to enable access to geographically distributed computing power.
Grid Computing, B. Wilkinson, 20046c.1 Globus III - Information Services.
Grids and Globus at BNL Presented by John Scott Leita.
INFN experience with Globus GIS A. Cavalli - F. Semeria INFN Grid Information Services workshop CERN, March 2001.
LDAP LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL PRESENTATION BY ALAKESH APURVA DHAN AND ASH.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
The EU DataGrid – Information and Monitoring Services The European DataGrid Project Team
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
The gLite API – PART I Giuseppe LA ROCCA INFN Catania ACGRID-II School 2-14 November 2009 Kuala Lumpur - Malaysia.
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
A. Cavalli - F. Semeria INFN Experience With Globus GIS 1 A. Cavalli - F. Semeria INFN First INFN Grid Workshop Catania, 9-11 April 2001 INFN Experience.
QCDGrid Progress James Perry, Andrew Jackson, Stephen Booth, Lorna Smith EPCC, The University Of Edinburgh.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
Nadia LAJILI User Interface User Interface 4 Février 2002.
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
Resource Brokering in the PROGRESS Project Juliusz Pukacki Grid Resource Management Workshop, October 2003.
Andrew McNabETF Firewall Meeting, NeSC, 5 Nov 2002Slide 1 Firewall issues for Globus 2 and EDG Andrew McNab High Energy Physics University of Manchester.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
Ames Research CenterDivision 1 Information Power Grid (IPG) Overview Anthony Lisotta Computer Sciences Corporation NASA Ames May 2,
Java Commodity Grid (Java CogKit) Java CogKits allow developers to use commodity technologies such as Java or Python in programming the Grid based on Globus.
Part Five: Globus Job Management A: GRAM B: Globus Job Commands C: Laboratory: globusrun.
SAN DIEGO SUPERCOMPUTER CENTER Inca TeraGrid Status Kate Ericson November 2, 2006.
Globus Toolkit Massimo Sgaravatto INFN Padova. Massimo Sgaravatto Introduction Grid Services: LHC regional centres need distributed computing Analyze.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
SAN DIEGO SUPERCOMPUTER CENTER Inca Control Infrastructure Shava Smallen Inca Workshop September 4, 2008.
1 Grid2Win: porting of gLite middleware to Windows Dario Russo INFN Catania
AliEn AliEn at OSC The ALICE distributed computing environment by Bjørn S. Nilsen The Ohio State University.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
PPDG February 2002 Iosif Legrand Monitoring systems requirements, Prototype tools and integration with other services Iosif Legrand California Institute.
Linux Operations and Administration
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
The EU DataGrid – Information and Monitoring Services The European DataGrid Project Team
Data Management The European DataGrid Project Team
GIIS Implementation and Requirements F. Semeria INFN European Datagrid Conference Amsterdam, 7 March 2001.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Open Science Grid Build a Grid Session Siddhartha E.S University of Florida.
Site Authorization Service Local Resource Authorization Service (VOX Project) Vijay Sekhri Tanya Levshina Fermilab.
Grid Activities in CMS Asad Samar (Caltech) PPDG meeting, Argonne July 13-14, 2000.
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
A System for Monitoring and Management of Computational Grids Warren Smith Computer Sciences Corporation NASA Ames Research Center.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
Practical using C++ WMProxy API advanced job submission
Introduction to LDAP Frank A. Kuse.
The EU DataGrid – Information and Monitoring Services
What is RMI? Remote Method Invocation
gLite Information System
Globus Job Management. Globus Job Management Globus Job Management A: GRAM B: Globus Job Commands C: Laboratory: globusrun.
Bina Ramamurthy Chapter 9
EGEE Middleware: gLite Information Systems (IS)
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Presentation transcript:

A Java Based Prototype Grid User Interface Janice Drohan Project Supervisor: Prof. Peter Clarke

Overview Introduction Project Specification Grid Information Service (LDAP) –Search Code –Testing Globus Resource Allocation Manager (GRAM) –Job Submission Code –Testing Summary

A computational grid is a set of geographically distributed IT resources that can be mobilized by a single application using software services that tie them together Number of functional Grid Test-beds running Test-beds based on Globus Project Globus now developing ‘Commodity Grid Kits’ to aid in Grid Application Development Grid Computing

Java Well Suited to Grid Application Development: Has many features that are beneficial to large-scale engineering projects –Packages –Object-orientated approach –Single inheritance –Garbage collection Provides wide variety of additional class libraries –JAAS, JINI, JNDI Portable

European DataGrid (EDG) Aim is to provide a computational and data- intensive grid of resources for the analysis of data coming from the next generation of scientific experiments Test-bed 1was released in October last year UCL has an EDG grid cluster of three machines

Project Specification Build a Graphical User Interface or ‘Portal’ to access Grid Services provided by the EDG Testbed Provide means to access the Grid Information Service and submit jobs to a CE Should be independent of an EDG/Globus install

Grid Information Service Based on Lightweight Directory Access Protocol (LDAP) –Designed for fast-responses to high volume look-ups or searches –Directories use client/server model of communication –Runs over TCP/IP GIIS publishes site data on two separate ports: –(2135) Globus MDS –(2171) Using fTree - this is a backend module designed to be a flexible memory-based directory-like tree structure

LDAP Entry = Basic unit of information Entries are collection of attributes Each attribute has a type and one or more values Entries stored in tree-like structure - Directory Information Tree (DIT) Position of entry in tree based on Distinguished Name (DN) Suffix = Highest Entry stored by server Servers can support multiple suffixes Referrals act like pointers O=Grid Mds-vo-name = ucl, o=grid Mds-vo-name = local, o=grid In = siteinfo, Mds-vo-name = local, o=grid Attribute Entry Attribute Value Attribute Type

LdapSearch Written using Java Swing and JNDI classes Main Class Search Class DisplayResultTree Class JTree Naming Enumeration Context Connection Scope time filter Actual Search code quite simple: Hashtable env = new Hashtable( 5, 0.75f); env.put (Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put (Context.PROVIDER_URL, connection); env.put (Context.REFERRAL, "follow"); DirContext ctx = new InitialDirContext(env); NamingEnumeration results = ctx.search(context, filter, constraints);

Brief explanation of code cont. Search Result of form: DisplayResultTree class loops through the attributes and values Creates object of form NodeData (String, Vector) Stores NodeData objects in JTree TreeWillExpandListener registered on JTree –Before a node is expanded, this listener performs searches on the node’s children TreeSelectionListener registered on JTree –Retrieves the Vector of Data stored in the NodeData object and displays it in the JTable Search Result Attribute Name Object Basic Attribute ID Value Naming Enumeration

Testing Tested using UCL GIIS and CERN GIIS Works well when using EDG fTree Schema Returns extra entries when using Globus MDS (port 2135) that look to be an LDAP URL –LDAP server can have a default reference that points to superior server for names that cannot be resolved These also returned by another LDAP program written in Java

UCL GIIS Result o=grid Rttpacketsize =100 Mds-vo-name=ucl, o=grid In =siteinfoIn=netmonSeId=pc18.hep.ucl.ac.ukHn=pc23.hep.ucl.ac.uk SeProtocol=gridftpSeProtocol=rfio SeProtocl=fileIn=status Rou=localhost Tool=pingER Rttpacketsize =1000 Losspacketsize =100 Losspacketsize =1000 CeId=pc23.hep.ucl.ac.uk:2119 jobmanager-pbs-short CeId=pc23.hep.ucl.ac.uk:2119 jobmanager-pbs-long

GRAM Globus Resource Allocation Manager Provides an API for submitting, monitoring, and terminating remote jobs Basic Operation –GRAM Gatekeeper runs on CE –Gatekeeper handles requests and creates job manager for the job –Job Manager starts and monitors the remote program –Job Manager sends status updates to the user –Job Manager terminates when application terminates

Java CoG Kit Java Commodity Grid Kit Provides Java APIs, components and beans which supply Grid client and selected Grid server functionality Currently provides a full implementation of the GRAM client API Also provides implementations of –GSI, MDS, GASS, GSIFTP, among others Provides various command line tools eg grid- proxy-init

Job Submission GRAM uses GSI Provides methods to create Proxy or load in the one created by grid-proxy-init Job Specified by Resource Specification Language eg & ( executable = /pc23homes/bjw/test.exe) (arguments = “10”) (directory = /pc23homes/jgd/) (stdout = output.txt) (sterr = err.txt) (count = 1)

Brief Explanation of Code cont. The lines of code dealing with job submission are as follows: GramJob newJob = new GramJob( myProxy, thisRSL); newJob.addListener(gramListener); try { myGram.request(hostName_field.getText(), newJob); }catch errors Listener –Provides method to append the new job status to a text area –Checks if the status is DONE, UNSUBMITTED, or FAILED. Removes the job from the active list if any of these are returned

Testing Limited to UCL CE –Need to be included in the map file to use resource Started with simple linux command (/bin/ls) Ben West wrote simple C++ program –Takes an argument of the number of loops to perform –Writes to the standard out and standard error stream Unable to gather data about completed jobs –Specific job manager information only stored if there is a problem with the job

Summary LDAP Search program returns same results as tool currently being used Able to submit jobs remotely to UCL CE Program can be used independently of Globus install, however it needs the CoGKit libraries to be present Plenty of ways to extend the program eg GSIFTP etc by using more of the Java Globus API

Screen Grabs

End