COMP3019 Coursework: Overview and Mgrid - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

COMP3019 Coursework: Overview and Mgrid

Description:

To equip students to drive a lightweight grid implementation to solve a problem ... Compiles and packages applet with input parameters file into a jar file ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 21
Provided by: stephen200
Category:

less

Transcript and Presenter's Notes

Title: COMP3019 Coursework: Overview and Mgrid


1
COMP3019 CourseworkOverview and M-grid
  • Dr Stephen Crouch
  • s.crouch_at_omii.ac.uk
  • 26/02/09

2
Objectives
  • To equip students to drive a lightweight grid
    implementation to solve a problem that can
    benefit from using grid technology.
  • To develop an understanding of the basic
    mechanisms used to solve such problems.
  • To develop a general architectural and
    operational understanding of typical
    production-level grid software.
  • To develop the programming skills required to
    drive typical services on a production-level grid.

3
Overview
  • Part 1 m-grid
  • A lightweight grid to illustrate grid concepts in
    use
  • Develop a program, submit it to m-grid with input
    data, collect results
  • Part 2 Workflows in OMII
  • Install an OMII Client (Linux/Windows)
  • Develop a simple workflow using Grimoires
    (service discovery) and GridSAM (job execution)
    APIs

4
Coursework Materials
  • See
  • http//www.ecs.soton.ac.uk/stc/COMP3019/

5
  • Background

6
The Grid - a Reminder
  • The grid many definitions!
  • Grid computing offers a model for solving
    massive computational problems by making use of
    the unused CPU cycles of large numbers of
    disparate, often desktop, computers treated as a
    virtual cluster embedded in a distributed
    telecommunications infrastructure Wikipedia
  • A service for sharing computer power and data
    storage capacity over the Internet. CERN
    (European Organisation for Nuclear Research)
  • Two components of grid computing
  • Computational/data resource e.g. computational
    cluster, supercomputer, desktop machine
  • Infrastructure for externalising that resource to
    others

7
The Idea - as a Provider
  • Goal I want others to access my resources
    applications
  • I want to provide secure controlled access to
  • My applications
  • Specify who can access which applications
  • My computational resources
  • I can limit external usage of my resources
  • Provides an interface that allows remote users to
    access my resources
  • Enable collaboration with other partners

8
The Idea - as a User (or Client)
  • Goal I want to use other resources
    applications
  • Through a network of service providers I can
  • Gain access to applications that I do not have
    installed locally
  • Use remote machines larger resource with more
    CPU, memory or storage
  • Process larger problem sizes
  • Transparently switch between different service
    providers
  • No exposure to underlying OS, queuing policy,
    disk layout etc.

9
  • M-grid

10
Computational Grids - in General

  • Users supply tasks to be performed via client
  • Execution nodes contribute processing power
  • Coordinator node sends tasks to execution nodes,
    ensuring results returned
  • Existing grid tech. sophisticated -gt significant
    complexity
  • To what extent can this be reduced?

11
Java Applets
  • How about Java applets as a program unit?
  • Browsers could act as execution nodes
  • Security concerns?
  • Web browsers execute foreign code
  • Java applets executed within a sandbox virtual
    machine
  • Stringent security restrictions imposed
  • In-built security configuration in browsers
  • Applet can only contact originating server
  • Risk significantly reduced

12
M-grid A Lightweight Grid I

  • M-grid
  • Execution node Java-applet enabled browser
  • Client browser
  • Coordinator web server
  • Tasks distributed as Applets in web pages
  • Execution node browser opens web page on server
  • Runs task applet
  • Uploads results to server

13
M-grid Overview
  • Implemented on
  • Microsofts IIS (Internet Information Server)
    using ASP
  • Apache Tomcat
  • Client
  • Develops applet class as extension to MGridApplet
    class
  • Can run applet locally in appletviewer for
    testing
  • Compiles and packages applet with input
    parameters file into a jar file
  • Submits jar to web server via JobSubmit web page
  • Eventually collects results via ViewJobs web page
  • Execution node
  • Requests a job via JobRequest page
  • Applet submits results from job using
    SubmitResults page
  • Security provided by session authentication

14
Architecture
15
Pre-requisites
  • Pre-requisites
  • Windows recommended
  • JDK 1.5.0_01 1.5.0_14 (not Java 6)
  • Browser with 1.5.0 (or above) JDK plugin and
    applets enabled
  • Internet Explorer recommended
  • If on own Linux machine and need to install a
    Java plugin into Mozilla, go to
    http//plugindoc.mozdev.org/faqs/java.html
  • Linux undergrad machines not suitable execution
    nodes

16
Installing your Own Server
  • Highly recommended!
  • Windows only (Linux wont return results yet)
  • Install Apache Tomcat v5.5 recommended (7MB)
  • Can be got from http//tomcat.apache.org/
  • Undergrad Windows machines download and unpack
    zip (non-service Windows install) binary
  • Undergrad Win boxes dont allow service installs
  • Ensure it picks up JDK 1.5.0_01 or above
  • Firewall may prevent external machine connections
  • Go to coursework resources web page
  • Download M-grid server webapp (mgrid.zip),
  • Rename as mgrid.war
  • Copy into Tomcat-5.5/webapps
  • Ensure Tomcat is running
  • Go to http//localhost8080/mgrid
  • Thats it

17
Installing Client Development Kit
  • Go to coursework resources web page
  • Download and unpack Client developers kit
  • Ensure JAVA_HOME set correctly and on PATH e.g.
  • Linux export JAVA_HOME/usr/local/jdk1.5.0_01
  • Linux export PATHPATH/binPATH
  • Win set JAVA_HOMEC\Program Files\Java\jdk1.5.0_
    01
  • Win set PATHJAVA_HOME\binPATH
  • Thats it

18
Compile, Package and Test
  • e.g. the Time example
  • Compile
  • javac -classpath . examples\time\Time.java
  • Package
  • jar -cf Time.jar examples\time\.
  • Test locally with appletviewer
  • appletviewer TimeTestWithJar.html
  • Trivial applet web page that uses Time.jar
  • Use GMT-8 as input output in window
  • Ensure you compile it first!!!

19
Submitting to m-grid
  • Optional open Java 1.5.0 plugin-enabled
    browser, select Volunteer your CPU on m-grid
    server homepage
  • Submit to m-grid
  • Go to http//serverport/mgrid (e.g.
    http//localhost8080/mgrid) and login
  • Username guest Password guest
  • Going to use mgridclient/timeParams.txt
  • 3 inputs to Time, one per line 3 jobs will be
    created
  • Select Submit a Job
  • Enter your user name as a job name prefix
  • Job Jar File browse, find and select Time.jar
  • Parameters File browse, find and select
    timeParams.txt
  • Select Next -gt
  • NB locations of public servers can be found on
    coursework resources web page

20
Monitor and Download Results
  • Monitor job
  • Select View Jobs
  • Look for your chosen Job Name
  • Valid job states Uploaded -gt Allocated -gt
    Completed or Failed
  • Download results
  • Can View Results (or Error Details) for each
    submitted job once complete
  • Remove your jobs (only your job!)
Write a Comment
User Comments (0)
About PowerShow.com