Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A Java Based Prototype Grid User Interface Janice Drohan Project Supervisor: Prof. Peter Clarke."— Presentation transcript:

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

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

3 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

4 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

5 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

6 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

7 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

8 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

9 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);

10 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

11 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

12 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

13 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

14 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

15 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)

16 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

17 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

18 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

19 Screen Grabs

20 End


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

Similar presentations


Ads by Google