J ICOS A Java-centric Internet Computing System Peter Cappello Computer Science Department UC Santa...
-
Upload
heather-stafford -
Category
Documents
-
view
220 -
download
0
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.
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
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
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
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
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
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)
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