Download presentation
Presentation is loading. Please wait.
Published byAmanda Thomas Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.