j icos’s abstract distributed service component peter cappello computer science department uc...

19
JICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara

Upload: frank-wood

Post on 13-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara

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

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

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

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

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

6

HostingServiceProvider

Client

Architecture …

Page 7: J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara

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

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

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

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

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

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

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

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

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

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

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

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

19