Title: Grid Computing Research at QUT
1Grid Computing Research at QUT
- Dr Wayne Kelly
- Centre for Information Technology Innovation
- Queensland University of Technology, Australia
This work was supported by Microsoft Research
2G2 Gardens Mark II
- A variety of versions being developed
- various programming models.
- various architectures.
- Common properties
- Cycle stealing volunteers may leave without
notice. - Isolates programmer from changing set of
volunteers. - Automatic fault tolerance.
- Simple and familiar parallel programming models.
- Implemented on the Microsoft .NET platform.
- BYO code model dynamic deployment ...
3A True Computation Grid(not a virtual
supercomputer)
High Performance Computer Stations
Work from comfort of home
The Middleware
Generic Interface
Can plug in any standard (240V) appliance!
4Programming Models
- Remote Procedure Call (no persistent remote
state) - Remote Method Call (persistent remote state)
provides a computational service
remote machine
procedure call
client
parameters
results
remote machine
object
object
method call
object
parameters
Machine A
Machine C
results
object
object
object
Machine B
5Remote Procedure Call Model
- Programming model identical to ASP.NET web
services.
SOAP XML encoded RPC over HTTP
Server-side agent
Client-side proxy
Web Service Program public class MS
WebMethod public int Mult(int a, int b)
return a b
Client Program class Hello public static
void Main() MSProxy p new MSProxy()
Console.Write(p.Mult(1,2))
6 Asynchronous Web Methods
Asynchronous calling
proxy new MyProxy() IAsyncResult a
proxy.BeginFoo(arg1,..,argn, new
AsyncCallback(Bar), mystate) ... a.WaitHandle.Wai
tOne() void Bar(IAsyncResult ar)
MyResultType result proxy.EndFoo(ar) ...
Synchronous implementation
WebMethod public MyResultType
Foo(arg1,..,argn) ... return
actualResult
or Asynchronous implementation
WebMethod public IAsyncResult
BeginFoo(arg1,..,argn) ... public
MyResultType EndFoo(IAsyncResult ar) ...
7Remote Method Call Model
- Programming model is standard .NET Remoting
- the .NET equivalent of Java RMI
- More extensible than java RMI
- CLR support means no need to statically generate
proxies. - Supports client activated and well known remote
objects.
RemotingConfiguration.Configure("MyApp.exe.config"
) MyRemoteType remoteObj new
MyRemoteType(arg1,..,argp) MyDelegate d new
MyDelegate(MyObject.MyMethod) IAsyncResult a
d.BeginInvoke(arg1,..,argn, new
AsyncCallback(Bar), d) ... a.WaitHandle.WaitOne()
void Bar(IAsyncResult ar) MyResultType r
((MyDelegate)ar.AsyncState).EndInvoke(out
arg1,..,argm, ar) ...
ltconfigurationgt ... ltclient
url"g2//remotehost.com"gt ltactivated
type"MyRemoteType, MyAssembly" /gt
lt/clientgt lt/configurationgt
8Architectures
- Central server
- Pure peer-to-peer
- Hybrid
9Central Server Architecture
Volunteers
Server
Client
job repository
possible firewall
possible firewall
- Roles of the central server
- Discovery
- Fault tolerance
- Communication bridge (for worst case)
- Clients push jobs and pull results
- Volunteers pull jobs and push results
10Hybrid Architecture
Volunteers
Server
Client
job repository
job repository
- Senses its environment
- Adaptively utilizes available resources to
maximize efficiency - allows peer to peer communication where possible
11Pure Peer-to-Peer Architecture
Client
- Maximum communication efficiency and scalability.
- Assumes direct peer-to-peer communication is
possible. - No single point of failure
- Application state is completely distributed.
- Challenge is restoring state when a node leaves
unexpectedly. - Difficult to know where objects are given
changing node set. - uses virtual addresses
12Systems Currently Under Development
Remote Procedure" Call Remote Method
Call Central Server Hybrid Peer-to-Peer
13G2 Home Page and Demos
14Open Grid Services Architecture (OGSA)
- New web service based standard for Grid
computing. - Globus toolkit 3.0 based on OGSA.
- alpha release January 2003
- beta release April 2003
- Possible OGSA Research at QUT
- Looking to create an Australian computational
Biology Grid utilizing GrangeNet in partnership
with other Universities. - Adding OGSA interfaces to G2.
- Extending OGSA with ideas from G2.
- Implementing OGSA support for .NET