message management april 27 2006 geoffrey fox computer science, informatics, physics pervasive...

8
Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 [email protected] http:// www.infomall.org

Upload: conrad-stephens

Post on 13-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

Message Management

April 27 2006

Geoffrey Fox

Computer Science, Informatics, Physics

Pervasive Technology Laboratories

Indiana University Bloomington IN 47401

[email protected]

http://www.infomall.org

Page 2: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

Messaging Runtime I Components communicate via messages

• MPI• SOAP• Putting bytes on a stack• Events/Interrupts

Between Services, Peers (of P2P), CCA Components, Objects, Procedures, Handlers

Trade-offs in performance, concurrency, ease of programming depend on how explicit message is• Hard/impossible to convert conventional programs efficiently

into explicit message linked components• Similar implicit (and unnecessary) side-effects make

concurrency hard Message-based MVC makes Model and View components CCR is an example of a language that can exploit messaging

between threads• It is applied to Robotics which typically uses dataflow as in

Khoros (image processing)

Page 3: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

Messaging Runtime II We built NaradaBrokering messaging system applied to

distributed (Grid, P2P, Web service) and desktop applications Initially we will establish performance expectations

• Such as MPI has overhead of a few microseconds• Nearby distributed systems have overheads of 1-2 milliseconds• Thread Scheduling overhead is around 10 milliseconds (Java,

XP)• CCR is better

What are primitives needed for communication (MPI and CCR collectives)

Interaction between otherwise independent threads due to Cache conflicts

We understand both communication patterns and performance models for scientific applications

Page 4: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

Web Services and M-MVC Web Services are naturally

M-MVC – Message based Model View Controller with

• Model is Component

• Controller is Messages (NaradaBrokering)

• View is rendering

R F I O

ViewView

PortalAggregate WS User Facing fragments

desktop handheld phone

Input port Output port

User Facing Port

PortFacingResource

Web ServiceApplication or

Model

WSRP and JSR168 Portlets

R F I O

ViewView

PortalAggregate WS User Facing fragments

desktop handheld phone

Input port Output port

User Facing Port

PortFacingResource

Web ServiceApplication or

Model

R F I O

ViewView

PortalAggregate WS User Facing fragments

PortalAggregate WS User Facing fragments

desktopdesktop handheldhandheld phonephone

Input port Output port

User Facing Port

PortFacingResource

Web ServiceApplication or

ModelUser Facing Port

PortFacingResource

Web ServiceApplication or

Model

WSRP and JSR168 Portlets

Model

Subscribe UI event

View

Broker

Subscribe re

nderingPublis

h UI event

Publish rendering

Explicit message-based Publish/Subscribe MVC model

ModelModel

Subscribe UI event

View

BrokerBroker

Subscribe re

nderingPublis

h UI event

Publish rendering

Explicit message-based Publish/Subscribe MVC model

As Controller

Page 5: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

Desktop and Web Services with MMVC Most desktop applications are in fact roughly MVC

with controller formed by “system interrupts” with View and Model communicating by “post an event” and define a “listener” programming mode

We propose to integrate desktop and Web Service approach by systematic use of MMVC and NaradaBrokering

Allows easier porting to diverse clients and automatic collaboration

Attractive for next generation of Linux desktop clients We have demonstrated for SVG Browser (Scalable

Vector Graphics), OpenOffice and PowerPoint “Glob” programming style makes hard

Page 6: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

14 16 18 20 22 24 26 28 300

1

2

3

4

5

6

7

8

milliseconds

nu

mb

er

of

ev

en

ts i

n 0

.5 m

illis

ec

on

d b

ins

Distribution of the mean of mousedown events

NB on ModelNB on ViewNB on ripvanwrinkle

36 38 40 42 44 46 48 50 52 54 560

0.5

1

1.5

2

2.5

3

3.5

4

milliseconds

nu

mb

er

of

ev

en

ts i

n 0

.5 m

illis

ec

on

d b

ins

Distribution of the mean of mouseup events

NB on ModelNB on ViewNB on ripvanwrinkle

15 20 25 300

1

2

3

4

5

6

milliseconds

nu

mb

er

of

ev

en

ts i

n 0

.5 m

illis

ec

on

d b

ins

Distribution of the mean of mousemove events

NB on ModelNB on ViewNB on ripvanwrinkle

Mean Mousedown

Mean MousemoveMean Mouseup

EventsPer 0.5 ms

Mean ms

NB on RipvanwinkleNB on ViewNB on Model

15 runs eachsplit over3 days

Page 7: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

SM-MV Collaboration

SVG DOM

Model

as Web Service

NaradaBrokeringNaradaBrokering

master

SVG

clientmasterView

master

SVG

clientotherView

master

SVG

clientotherView

master

SVG

clientotherView

Share output port

SVG DOM

Model

as Web Service

NaradaBrokeringNaradaBrokering

master

SVG

clientmasterViewmaster

SVG

clientmasterViewSVG

clientmasterView

master

SVG

clientotherViewmaster

SVG

clientotherViewSVG

clientotherView

master

SVG

clientotherViewmaster

SVG

clientotherViewSVG

clientotherView

master

SVG

clientotherViewmaster

SVG

clientotherViewSVG

clientotherView

Share output port

Shared Output portSingle Model, Multiple View SM-MV CollaborativeWeb Service

XGSPSessionControl

Page 8: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN

MM-MV CollaborationShared Input portMultiple Model, Multiple View MM-MV Collaborative Web Service

master

SVG

clientmasterView

master

SVG

clientotherView

master

SVG

clientotherView

master

SVG

clientotherView

BrokerBroker

Share input port

SVG DOM

Model

as Web Service

NaradaBrokeringNaradaBrokering

SVG DOM

Model

as Web ServiceSVG DOM

Model

as Web ServiceSVG DOM

Model

as Web Service

BrokerBroker BrokerBroker BrokerBroker

master

SVG

clientmasterViewmaster

SVG

clientmasterViewSVG

clientmasterView

master

SVG

clientotherViewmaster

SVG

clientotherViewSVG

clientotherView

master

SVG

clientotherViewmaster

SVG

clientotherViewSVG

clientotherView

master

SVG

clientotherViewmaster

SVG

clientotherViewSVG

clientotherView

BrokerBrokerBrokerBroker

Share input port

SVG DOM

Model

as Web ServiceSVG DOM

Model

as Web Service

NaradaBrokeringNaradaBrokering

SVG DOM

Model

as Web ServiceSVG DOM

Model

as Web ServiceSVG DOM

Model

as Web ServiceSVG DOM

Model

as Web ServiceSVG DOM

Model

as Web ServiceSVG DOM

Model

as Web Service

BrokerBrokerBrokerBroker BrokerBrokerBrokerBroker BrokerBrokerBrokerBroker