J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC...
-
Upload
frank-wood -
Category
Documents
-
view
215 -
download
1
Transcript of J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC...
![Page 1: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/1.jpg)
JICOS’s Abstract Distributed Service Component
Peter Cappello
Computer Science Department
UC Santa Barbara
![Page 2: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/2.jpg)
2
Introduction
• Designing distributed systems correctly is
hard.
• Object-orientation simplifies design.
• Reusable classes increase productivity.
• Abstraction leads to reusable classes.
• We contribute an abstract distributed service
component (ADSC).
![Page 3: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/3.jpg)
3
Introduction …
• Focus on some design issues.
• Why present this?– The design is non-trivial.– Enhancements described in terms of base
design.– Different implementations benefit from
issue elucidation.– The code can be downloaded:
http://cs.ucsb.edu/projects/jicos
![Page 4: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/4.jpg)
4
JICOS’s Architecture
JICOS is designed to:
• Support scalable, adaptively parallel
computation
• Tolerate basic faults
• Hide communication latency
![Page 5: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/5.jpg)
5
JICOS’s Architecture …
JICOS comprises 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
![Page 6: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/6.jpg)
6
HostingServiceProvider
Client
Architecture …
![Page 7: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/7.jpg)
7
Issue Priority
• Correctness
• Elegant Object-Oriented Design
• Programmability
• Performance
• Reliability
• Administrable
• Security
![Page 8: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/8.jpg)
8
The ADSC is ServiceImpl
ServiceImpl Service
Host Hsp TaskServer
![Page 9: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/9.jpg)
9
Anatomy of an ADSC
A finite state machine
• Receives commands from peer
services
• For each command:
– [Update its state]
– [Output command[s] to peer services]
FiniteState
MachineWith Output
CommandCommandCommand
CommandCommandCommand
![Page 10: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/10.jpg)
10
Anatomy of an ADSC
STATE
COMMANDS COMMANDSCommandProcessor
![Page 11: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/11.jpg)
11
RMI Thread executing
receiveCommands()
InputCommand
Queue
OutputCommand
Queue
CommandProcessorThread
Threadinvoking
receiveCommands()
Anatomy of an ADSCDecouple communication from computation
via multi-threading
OutputCommand
Queue
OutputCommand
Queue
RMI Thread executing
receiveCommands()
RMI Thread executing
receiveCommands()
![Page 12: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/12.jpg)
12
RMI Thread executing
receiveCommands()
InputCommand
Queue
CommandProcessor
Threadinvoking
receiveCommands()
Outputcommand
queue
Outputcommand
queue
OutputCommand
Queue
RMI Thread executing
receiveCommands()
RMI Thread executing
receiveCommands()
![Page 13: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/13.jpg)
13
RMI Thread executing
receiveCommands()
InputCommand
Queue
OutputCommand
Queue
CommandProcessorThread
Threadinvoking
receiveCommands()
Anatomy of an ADSCImprove network & processor efficiency
via multi-threading
OutputCommand
Queue
OutputCommand
Queue
RMI Thread executing
receiveCommands()
RMI Thread executing
receiveCommands()
CommandProcessorThread
CommandProcessorThread
Threadinvoking
receiveCommands()
Threadinvoking
receiveCommands()
![Page 14: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/14.jpg)
14
State
InputCommand
Queue
CommandProcessor
Outputqueue
CommandProcessorCommandProcessors
OutputqueueOutput
CommandQueues
Department
Anatomy of an ADSCPartitioning Command Classes
![Page 15: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/15.jpg)
15
State
CommandProcessor
Outputqueue
CommandProcessorDepartments
OutputqueueOutput
CommandQueues
Service Component
RMI Thread executing
receiveCommands()
RMI Thread executing
receiveCommands()
RMI Threadsexecuting
receiveCommands()
RMI Thread executing
receiveCommands()
RMI Thread executing
receiveCommands()
Threadsinvoking
receiveCommands()
![Page 16: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/16.jpg)
16
CommandProcessor
ProcessorCommunication
Processor
CommunicationProcessor
Pool
Department Q MailProxy
Manager
ServiceCommand
CommandList ServiceImpl
Proxy
CommandSynchronous
![Page 17: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/17.jpg)
17
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
1.02
PROCESSORS
% P
ER
FE
CT
SP
EE
DU
P
Series1
Series1 1 0.98 0.97 0.97 0.96 0.92 0.91
1 2 4 8 16 32 52
JICOS Speedup:150-City TSP 1 processor: 6 hours, 18 minutes52 processors: 8 minutes
![Page 18: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/18.jpg)
18
Thanks!
Questions?
http://cs.ucsb.edu/projects/jicos
![Page 19: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.](https://reader036.fdocuments.in/reader036/viewer/2022082709/56649f575503460f94c7c152/html5/thumbnails/19.jpg)
19