Presentation is loading. Please wait.

Presentation is loading. Please wait.

J ICOS A Java-Centric Distributed Computing Service Peter Cappello & Chris Coakley Computer Science Department UC Santa Barbara.

Similar presentations


Presentation on theme: "J ICOS A Java-Centric Distributed Computing Service Peter Cappello & Chris Coakley Computer Science Department UC Santa Barbara."— Presentation transcript:

1 J ICOS A Java-Centric Distributed Computing Service Peter Cappello & Chris Coakley Computer Science Department UC Santa Barbara

2 2 J ICOS Heterogeneous hardware & OS Easy to program Fault tolerant compute servers (hosts) Adaptively parallel Small-grain parallel computation

3 3 Overview Computational model API Architecture Performance Benefit summary Plans

4 4 Computational Model DAC task graph f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

5 5 Computational Model Embedded in an Environment f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4) Read input object Read/Write shared object

6 6 Overview Computational model API Architecture Performance Benefit summary Plans

7 7 API 2 task classes: –F –Sum f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

8 8 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

9 9 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

10 10 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

11 11 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

12 12 API public class Sum extends Task { public Object execute(Env e) { Integer I = ((Integer) getInput(0)); Integer J = ((Integer) getInput(1)); int sum = I.intValue() + J.intValue(); return new Integer( sum ); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

13 13 Overview Computational model API Architecture Performance Benefit summary Plans

14 14 Architecture Goals Virtualize compute cycles Store/coordinate partial results Self-organizing Independent of hardware/OS Scale from LAN to Internet

15 15 Architecture … JICOS has 3 service component classes: Hosting Service Provider (HSP): –clients interact solely with the HSP. –HSP manages other service components Task server –A task space Host –Executes tasks

16 16 Hosting Service Provider Client Architecture …

17 17 Architecture … Adaptive parallelism HSP CLIENT

18 18 Architecture … Fault tolerance HSP CLIENT

19 19 Architecture Latency hiding/reduction Task caching Task pre-fetch Task server computation 25 13 3867 10 12 49 11 1

20 20 Overview Computational model API Architecture Performance Benefit summary Plans

21 21 J ICOS Speedup:150-City TSP 1 processor: 6 hours, 18 minutes 52 processors: 8 minutes 16K Tasks, average task time: 1.5 seconds

22 22 Overview Computational model API Architecture Performance Benefit summary Plans

23 23 Benefit Summary API is easy to use Heterogeneous hardware & OS Adaptive parallelism Tolerates faulty hosts Hides/reduces communication latency Small-grain parallel computation

24 24 Overview Computational model API Architecture Performance Benefit summary Plans

25 25 Plans Jicos application as web service: allows non-Java programs to “use” Jicos. JICOS TSP WEB SERVER Non-Java Program JAVA XML-encoded TSP instance

26 26 Plans Larger performance experiments Implement more NP-hard optimizations –Investigate upper & lower bounds Use Jini to enable: –Secure communication (SSL) –Dynamic service discovery More programming models

27 27 Thanks! Questions? http://cs.ucsb.edu/projects/jicos


Download ppt "J ICOS A Java-Centric Distributed Computing Service Peter Cappello & Chris Coakley Computer Science Department UC Santa Barbara."

Similar presentations


Ads by Google