Title: Nimrod/G and GriddLeS: Grid Programming with Ease
1Nimrod/G and GriddLeS Grid Programming with Ease
- David Abramson
- Monash University
- DSTC
2This is how it all began ...
3Air pollution modelling circa 1990
- Want to control Ozone
- What happens if we reduce NOx?
- What happens if we reduce ROC?
4But, Ozone chemistry is non-linear
5Distributed computing comes to the rescue .
For each scenario Generate input files Copy
them to remote node Run SMOG model Post-process
output files Copy results back to root
6Its just too hard!
- Doing by hand
- Nightmare!!
- Programming with (say) MPI
- Overkill
- No fault tolerance
- Codes no longer work as stand alone code.
- Scientists dont want to know about underlying
technologies
7Building on Legacy Software
- Nimrod
- Support parametric computation without
programming - High performance distributed computing
- Clusters (1994 1997)
- The Grid (1997 - ) (Added QOS through
Computational Economy) - Nimrod/O Optimisation on the Grid
- Active Sheets Spreadsheet interface
- GriddLeS
- General Grid Applications using Legacy Software
- Whole applications as components
- Using no new primitives in application
8Nimrod Robust Design by Parametric Computation
9Parametric Execution
- Study the behaviour of some of the output
variables against a range of different input
scenarios. - Allows real time analysis for many applications
- More realistic simulations
- More rigorous science
- More robust engineering
10In Nimrod, an application doesnt know it has
been Grid enabled
Input Files Substitution
Output Files
Computational Nodes
Root Machine
11How does a user develop an application using
Nimrod?
Description of Parameters PLAN FILE
12EnFuzion TurboLinux Inc
13Case Studies
14Case Studies ...
15Case Studies ...
16Case Studies ...
17Nimrod on the Grid Nimrod/G
18Nimrod/G 2.0 Architecture
Plan File
Nimrod/G Client
Rsrc. Scheduler
Nimrod/G Client
Nimrod/G GUI
Enfuzion API
Run File
Database
Generator
Creator
Level 3
Job Scheduler
Agent Scheduler
Level 2
Level 1
DB Server
Globus Actuator
Condor Actuator
Legion Actuator
Grid Middleware
Grid Information Server(s)
RM TS
G
Agent
Agent
Agent
RM TS
L
Globus enabled node
C
RM TS
Legion enabled node.
Condor enabled node.
RM Local Resource Manager, TS Trade Server
19A Grid Architecture for Computational Economy
Information Server(s)
Grid Market Services
Sign-on
Health Monitor
Info ?
Grid Node N
Grid Explorer
Application
Secure
Job Control Agent
Grid Node1
Schedule Advisor
QoS
Pricing Algorithms
Trade Server
Trading
Trade Manager
Accounting
Resource Reservation
Misc. services
Deployment Agent
JobExec
Resource Allocation
Storage
Grid User
Grid Resource Broker
R1
R2
Rm
Grid Middleware Services
Grid Service Providers
20A Nimrod/G Client
21A Multi EnFuzion Client
MEC
ENFDISPATCHER
ENFDISPATCHER
ENFDISPATCHER
22EnFuzion and MOSIX Clusters
MEC
ENFDISPATCHER
23Active Sheets Client
24Scheduling and QOS
25Resources Selected Price/CPU-sec.
26Execution _at_ AU Peak Time
27Execution _at_ AU Offpeak Time
28Scheduling for Time Optimization
29Scheduling for Cost Optimization
30Nimrod/O Design Goals
- Nimrod allows exploration of design scenarios
- Search by enumeration
- Search for local/global minima based on objective
function - How do I minimise the cost of this design?
- How do I maxmimize the life of this object?
- Objective function evaluated by computational
model - Computationally expensive
31Architecture of Nimrod/O
Meta-heuristic Search
Simplex
BFGS
Nimrod Plan File
Nimrod or EnFuzion Dispatcher
Supercomputer or Cluster Pool or Grid
32An Aerofoil case study
- Joint work with Clive Fletcher (CANCES)
- Simple two-dimensional aerofoil was modelled
using a FLUENT simulation - The aerofoil mesh generated by GAMBIT
- 28089 nodes
- 49426 elements, made up of 43090 triangular
elements and 6336 quad elements. - Optimization to the design of an aerofoil,
- maximise the ratio of lift to drag.
- Complete enumeration infeasible because the
number of simulations required is excessive
33The wing
34Results
35Dynamic Behaviour
36Parallel behaviour
37GriddLeS
- Significant body of useful applications that are
not Grid Enabled - Lessons from Nimrod
- Users will avoid rewriting applications if
possible - Applications need to function in the Grid and
standalone - Users are not experts in parallel/distributed
computing - General Grid computations have much more general
interconnections than possible with Nimrod. - Legacy Applications are Components!
38GriddLeS
- Specification of the interconnections between
components - Interfaces for discovering resources and mapping
the computations to them - Locate data files in the grid and connect the
applications to them - Schedule computations on the underlying platforms
and making sure the network bandwidth is
available and - Monitor the progress of the grid computation and
reassign work to other parts of the Grid as
necessary.
39Exemplar Grid Application
Real time data
Data Fusion
General Circulation model
Topography Database
Regional weather model
Vegetation Database
GASS
Photo-chemical pollution model
Particle dispersion model
Bushfire model
Emissions Inventory
40Standard Implementation
Change Models
Real time data
Data Fusion
MPI
MPI
MPI
General Circulation model
GASS/GridFTP/GRC
Topography Database
Regional weather model
MPI
Vegetation Database
GASS
Photo-chemical pollution model
Particle dispersion model
Bushfire model
GASS
Emissions Inventory
MPI
41GriddLeS Grid Application
Topography Database
General Circulation model
Regional weather model
Vegetation Database
Emissions Inventory
Particle dispersion model
Photo-chemical pollution model
Bushfire model
42GriddLeS Grid Application
Topography Database
General Circulation model
Regional weather model
Vegetation Database
Emissions Inventory
Particle dispersion model
Photo-chemical pollution model
Bushfire model
43Interprocess Communication in GriddLeS
Writer Application
Reader Application
fd open(blah, w) write(fd, ..)
fd open(blah, r) read(fd, ..)
44Exploiting File IO
Local File
read()
write()
seek()
Remote File
close()
open()
FileMultiplexer
Cache
Remote Application Process
Legacy Application
45Locating Files in the Grid
- GriddLeS Name Server (GNS)
- Translates local file names into
- Local file names
- Global file names
- Resolves replication
- Interprocess pipes
GNS
fd open(blah, r) read(fd, ..)
fd open(blah, w) write(fd, ..)
46Exploiting Middleware
- Globus
- GRAM
- GridFTP
- Replication Catalogue
- Security
- Security
- Condor
- Bypass
- CDS
- Buffer management
- Nimrod/G
- GRACE
- APST
- NWS
47Scheduling
- Processes need to be assigned to resources
- Files need to be located
- Computational economy supports
- Deadline scheduling
- Cost minimization
- Build on Nimrod/G Scheduler, APST
48Acknowledgements
- Funding
- CRC for Distributed Systems Technology
- Australian Research Council
- Turbo Linux
- Hewlett Packard
- Dedication
- Melfyn Lloyd
- Research Director
- DSTC
- 1994 - 2002
- Colleagues
- Jon Giddy, Cardiff U.
- Slavisa Garic, DSTC
- Colin Enticott, DSTC
- Rok Sosic, TurboLinux
- Andrew Lewis, QPSF
- Rajkumar Buyya, UoMelb
- Tom Peachy, Monash
- Paul Roe, QUT
- Ian Foster, ANL
49Further Information
- Nimrod
- www.csse.monash.edu.au/davida/nimrod
- DSTC
- www.dstc.edu.au
- Globus
- www.globus.org
- TurboLinux
- www.turbolinux.com
- Our Cluster
- http//hathor.csse.monash.edu.au
- Nimrod/G available from
- www.csse.monash.edu.au/davida/nimrod
- Nimrod/O available from
- www.csse.monash.edu.au/davida/nimrodo
- GriddLeS
- www.csse.monash.edu.au/davida/griddles