J ICOS A Java-centric Internet Computing System Peter Cappello Computer Science Department UC Santa...

37
JICOS A Java-centric Internet Computing System Peter Cappello Computer Science Department UC Santa Barbara

Transcript of J ICOS A Java-centric Internet Computing System Peter Cappello Computer Science Department UC Santa...

JICOSA Java-centric Internet Computing System

Peter Cappello

Computer Science Department

UC Santa Barbara

2

Outline

• The Opportunity

• Goals

• Computation Model, API, & Examples

• Architecture

• The Foundation Package & Its Design

• Near-term plans

3

The Opportunity

• The Internet is like an ocean.

• Idle cycles are like gold atoms in the ocean.

• They are too diffuse to be useful.

• Can we aggregate idle cycles usefully?

4

Examples

• SETI@home: http://setiathome.ssl.berkeley.edu

• Folding@home: http://folding.stanford.edu

• Fight against cancer: http://www.parabon.com

• Screensaver-lifesaver:www.chem.ox.ac/curecancer.html

• Fight AIDS at home: http://www.entropia.com

5

Their Common Themes

• They use volunteered idle cycles.

• They all were built from scratch.

• Their computations have a simple

Master-Worker Task structure.

6

Simple Master-Worker Structure

RootTask

DECOMPOSE

COMPOSE

Result

COMPUTE

7

Outline

• The Opportunity

• Goals

• Computation Model, API, & Examples

• Architecture

• The Foundation Package & Its Design

• Near-term plans

8

Goals

• Create a general development & deployment infrastructure.

• Support more complex task structures.

• Tolerate faults in host computers & network components.

• Human admin tasks are O(1) in # hosts.

• Open-source.

9

Issue Priority

• Elegant OOD

• Programmability

• Performance

• Administratability

• Reliability

• Security

• Correctness

• Elegant OOD

• Correctness

• Reliability

• Security

• Programmability

• Administratability

• Performance

10

Outline

• The Opportunity

• Goals

• Computation Model, API, & Examples

• Architecture

• The Foundation Package & Its Design

• Near-term plans

11

Computational Model

RootTask

DECOMPOSE

COMPOSE

Result

COMPUTE

RootTask

ResultMaster-Worker DAG

12

RootTask

Result

Computational Model

Input & SharedObjects

13

API A Task object’s execute method either:

Returns a result Decomposes: – compute sub-tasks– return a compose task1

1

1.1 1.2

1.0

14

APIExamples

• Recursively computing a Fibonacci number.

• Branch and bound

15

APIApplication

TaskServer

Host

Taskcomputeexecute

login/compute/logout

HostingService

Provider(HSP)

EnvironmentgetInputgetSharedsetShared

16

Outline

• The Opportunity

• Goals

• Computation Model, API, & Examples

• Architecture

• The Foundation Package & Its Design

• Near-term plans

17

Architecture

CLIENT

HostingServiceProvider

Hsp

C C

C

C

C C

C

Hosting Service Provider

18

Architecture

Hsp

C C

C

C

C C

C

HH

H

H

HH

H

H TaskServer

Cluster

19

Overlap Computation & Communication

• Cache Task objects

• Prefetch

• Execute Compose tasks on the taskserver

20

Overlap Computation & CommunicationDECOMPOSECOMPUTECOMPOSE

CACHEDPREFETCHEDEXECUTED ON TASKSERVER

21

Overlap Computation & CommunicationCase: 1 TaskServer, 1 Host

2 5

3 7 6 8

4 9

2

3

1

1

4

CACHEDPREFETCHEDEXECUTED ON TASKSERVER

22

Outline

• The Opportunity

• Goals

• Computation Model, API, & Examples

• Architecture

• The Foundation Package & Its Design

• Near-term plans

23

The Foundation PackageAbstract Service

COMMANDPROCESSOR

STATE

COMMANDS COMMANDS

24

The Foundation PackageAbstract Service: Multi-threaded

COMMANDPROCESSOR

STATE

IQ OQRECEIVE SEND

25

The Foundation PackageAbstract Service: Bidirectional

COMMANDPROCESSOR

STATE

IQ

OQ

RECEIVE SEND

26

The Foundation PackageAbstract Service: Multiple Processors,

Mail boxes, & Senders

COMMANDPROCESSOR

STATE

IQ OQRECEIVE SENDRECEIVERECEIVERECEIVEOQOQOQ

SENDSENDCOMMANDPROCESSOR

COMMANDPROCESSOR

27

The Foundation PackageAbstract Service: Department

COMMANDPROCESSOR

Referenceto my Service

IQ COMMANDPROCESSOR

COMMANDPROCESSOR

28

The Foundation PackageAbstract Service: Multi-Departmental

COMMANDPROCESSOR

STATE

OQRECEIVE SENDRECEIVERECEIVERECEIVEOQOQOQ

SENDSENDCOMMANDPROCESSORDEPARTMENT

29

30

The Foundation PackageAbstract Service: Code

• Command, CommandSynchronous• Service• Q• Processor• CommandProcessor• CommunicationProcessor• Department• Mail• ServiceImpl

31

Outline

• The Opportunity

• Goals

• Computation Model, API, & Examples

• Architecture

• The Foundation Package & Its Design

• Near-term plans

32

Near-Term Plans

• Use Jini: – service discovery

– automate version updating

– some security (Davis project)

• Open source on http://www.jini.org/

• Bridge to Grid via Globus

• Make world-class applications– Branch and bound (TSP – Chris Coakely)

33

JiniService Discovery/ Automatic Update

HOST

CONFIG

1: read config

34

JiniService Discovery/ Automatic Update

HOST

CONFIG

1: read config

JINILUS

2: get host code

3: get Hsp proxies

35

JiniService Discovery/ Automatic Update

HOST

CONFIG

1: read config

JINILUS

2: get host code

3: get Hsp proxies

HSP4: get TaskServerreference

36

JiniService Discovery/ Automatic Update

HOST

CONFIG

1: read config

JINILUS

2: get host code

3: get Hsp proxies

HSP4: get TaskServer reference

TASKSERVER

5: login 6: requesttask

37

Thanks! Questions?