140 likes | 257 Views
Grid Computing Research at QUT. Dr Wayne Kelly Centre for Information Technology Innovation Queensland University of Technology, Australia. This work was supported by Microsoft Research. G2: Gardens Mark II. A variety of versions being developed: various programming models.
E N D
Grid Computing Research at QUT Dr Wayne Kelly Centre for Information Technology Innovation Queensland University of Technology, Australia This work was supported by Microsoft Research
G2: 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 ... OzGrid-01
A 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! OzGrid-01
Programming Models provides a computational service remote machine • Remote “Procedure” Call(no persistent remote state) • Remote Method Call(persistent remote state) procedure call client parameters results remote machine object object method call object parameters Machine A Machine C results object object object OzGrid-01 Machine B
Remote “Procedure” Call Model • Programming model identical to ASP.NET web services. SOAP: XML encoded RPC over HTTP Client-side proxy Server-side agent Client Program class Hello { public static void Main() { MSProxy p = new MSProxy(); Console.Write(p.Mult(1,2)); } } Web Service Program public class MS { [WebMethod] public int Mult(int a, int b) { return a * b; } } OzGrid-01
Asynchronous Web Methods Asynchronous calling: proxy = new MyProxy(); IAsyncResult a = proxy.BeginFoo(arg1,..,argn, new AsyncCallback(Bar), mystate); ... a.WaitHandle.WaitOne(); 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) { ... }
Remote “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); ... } <configuration> ... <client url="g2://remotehost.com"> <activatedtype="MyRemoteType, MyAssembly" /> </client> </configuration>
Architectures • Central server • Pure peer-to-peer • Hybrid OzGrid-01
Central Server Architecture Volunteers Server Client • 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 job repository possible firewall possible firewall OzGrid-01
Hybrid Architecture Volunteers Server Client job repository • Senses its environment • Adaptively utilizes available resources to maximize efficiency • allows peer to peer communication where possible job repository OzGrid-01
Pure Peer-to-PeerArchitecture • 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 Client OzGrid-01
Systems Currently Under Development Remote “Procedure" Call Remote Method Call Central Server Hybrid Peer-to-Peer OzGrid-01
G2 Home Page and Demos http://g2.fit.qut.edu.au/ OzGrid-01
Open 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 OzGrid-01