message management april 27 2006 geoffrey fox computer science, informatics, physics pervasive...
TRANSCRIPT
![Page 1: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/1.jpg)
Message Management
April 27 2006
Geoffrey Fox
Computer Science, Informatics, Physics
Pervasive Technology Laboratories
Indiana University Bloomington IN 47401
http://www.infomall.org
![Page 2: Message Management April 27 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/2.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/5.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/6.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022072006/56649f555503460f94c79641/html5/thumbnails/8.jpg)
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