A Java Based Prototype Grid User Interface - PowerPoint PPT Presentation

About This Presentation
Title:

A Java Based Prototype Grid User Interface

Description:

Globus now developing Commodity Grid Kits' to aid in Grid Application Development ... Entries stored in tree-like structure - Directory Information Tree (DIT) ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 21
Provided by: janice89
Category:

less

Transcript and Presenter's Notes

Title: A Java Based Prototype Grid User Interface


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
Grid Computing
  • 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

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

9
LdapSearch
  • Written using Java Swing and JNDI classes
  • 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 nodes children
  • TreeSelectionListener registered on JTree
  • Retrieves the Vector of Data stored in the
    NodeData object and displays it in the JTable

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
13
GRAMGlobus 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 KitJava 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.e
    xe)
  • (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
Write a Comment
User Comments (0)
About PowerShow.com