the evaluation of adaptive reflective middlewares in...
TRANSCRIPT
21/10/2007
The Evaluation of Adaptive Reflective Middlewares in Distributed Systems
Farahnaz Poorfard
AmirKabir University of Tehran
Computer Engineering Department
Advisor: Dr. Hossein Pedram
Examiner: Dr. Mahdi Dehghan
Oct. 2007
21/10/20073
Outline
• Introduction• Current Middlewares• New requirements and new Ideas• Reflective Component Model• OpenCOM• OpenORB• CFs• Evaluations• Future Works• References
21/10/20074
What is a Distributed System?
A distributed system is a collection of independent computers that appears to its users as a single coherent system.
21/10/20075
What is a Middleware System?
A middleware system constitutes a set of services that aim at facilitating the development of distributed applications in heterogeneous environments.
21/10/20076
An Abstraction of Middleware in aDistributed System
21/10/20077
Some Current Well-known Middlewares
• CORBA• COM• XPCOM• Java RMI• WSDL
21/10/20078
But We Have Some NewRequirements
• Multimedia• Real-time applications• Ad-hoc networks• Mobile networks• Embedded systems• Critical applications• 24x7 applications• …
21/10/20079
They Have Issued New & “Separate”Versions for New Requirements
• CORBA– Real-time CORBA– Minimum CORBA– Data Parallel CORBA– Fault-tolerance CORBA– CORBA/e – CORBA/IIOP
• COM– COM+, .NET, DCOM, COMERA
• Java RMI– J2SE, J2EE, J2ME, Java RMI-IIOP
21/10/200710
• Light weight• Configurable• Reconfigurable • Dynamic Reconfigurable• Adaptable• Scalable• Meet the new requirements• …
We Need Some New Middlewares
21/10/200711
Some New Ideas
• Object Models• Component Models• Component-object Models• Reflective-component Models• Event-based Models• Horizontal Decomposition Models• …
21/10/200712
OpenCOM: An Adaptive ReflectiveComponent Middleware
It has built on top of COM, with saving some properties of COM:
– vtable– IDL– GUIDs– IUnknown Interface
And adding some new concepts:– Making Explicit the Dependencies of each Component,– Adding Basic Mechanism-level Functionality for Reconfiguration,– Supporting for Pre- & Post- Method Call Interception.
21/10/200713
Components in OpenCOM …
Components are encapsulated units of functionality and deployment that interact with other components exclusively through “interfaces” and “receptacles”.
21/10/200714
… and in the view of Reflection
In Reflective model, a component canreason about and alter itself, in terms of different situations.
21/10/200715
Basic Concepts in OpenCOM
• Interface: A unit of service provision.
• Receptacle: A unit of service requirement.
• Connection: Binding a pairs of interface and receptacle, for creating a configuration of components.
a component
a connection
21/10/200716
OpenCOM Architecture
21/10/200717
Interceptors & ReceptaclesMechanisms
21/10/200718
Component Frameworks (CFs)
In OpenORB, we add CFs.
Definition of CFs: “Collections of rules and interfaces that govern the interaction of a set of Components plugged into them.”
21/10/200719
Some Sample CFs in OpenORB
21/10/200720
The Benefits of CFs
• Abstraction between the CF’s components and the other parts of the system,
• Understanding of system• Maintainability of system
• Reusability• Simplicity for system developers
• Creating of light-weight components for initialization phase,• Disallowing the plug-ins from directly depending on
external components,• Security, Integration of management, Scalability, and coupling
• Preparing the “nesting”, …
21/10/200721
A Simple Sample Configurationwith CFs
OpenCOM
OpenORB
21/10/200722
Some Strategic Methods inOpenCOM …
21/10/200723
… and in OpenORB
21/10/200724
“Accept” Component in OpenORB
The Accept Component, Checks the Matching between a Reconfiguration withDetermined Rules
21/10/200725
An Example of xml Files
21/10/200726
Results for OpenCOM
command time (ms)CoInitialize 15 (once)
CoCreateInstance 31 (once for runtime component)
createInstance 32 (once for each component)
startup 0
connection (connect) 0
operation (method call) 0
interception 46 (once for each proposed interface)
21/10/200727
Results for OpenORB
command time (ms)
CoInitialize 15 (once)CoCreateInstane 31 (once for runtime component)createInstance 32 (once for each CF) create_component 32 (once for each component inside CF)startup 0connection (connect/local_bind) 0operation (method call) 0interception 46 (once for each proposed interface)addConfiguration 0expose_interface 47init_arch_transaction 0commit_arch_transaction 16
21/10/200728
Test1: Evaluation of Time vs numberof Components
0
50
100
150
200
250
0 0 1 2 3 4 5 6
number of components
time
(ms)
Series1
21/10/200729
Test2: Comparison between “Simple”and “Intercepted” Components
0
100
200
300
400
500
600
0 0 1 2 3 4 5
number od components
time
(ms)
Simple Components
Intercepted Components
21/10/200730
Test3: Evaluation of Time vs number of Interfaces
0
50
100
150
200
250
0 0 1 2 3 4 5 6
numberr of components
time
(ms)
With One Interface
With Two Interfaces
21/10/200731
Test4: Evaluation of Time withadding CFs
020406080
100120140160180200
0 0 0 1 2
number of components
time
(ms)
OpenORB
OpenCOM
21/10/200732
Test5: Evaluation of Time with addingCFs (Complete Operations)
0
50
100
150
200
250
0 0 0 1 2 3
number of components
time
(ms)
OpenCOMOpenORB
21/10/200733
Test5: Evaluation of Time with addingCFs (Complete Operations)
0
50
100
150
200
250
0 0 0 1 2 3
number of components
time
(ms)
OpenCOMOpenORB
21/10/200734
Conclusion
• Fix time for creating each new component
• Fix time for each intercepting– Overhead, but instead reconfiguration operation
• Number of interfaces• Connection/disconnection• Starting a component• Calling methods• Fix time for each CF• Deletion phase
21/10/200735
RUNES Middleware
The Whole Scenariofor Road Tunnels:
21/10/200736
GridKit Middleware
Suitable for Flooding Scenarios:
21/10/200737
Future Works …
• Evaluating in remote mode,• Using new services (like multimedia),• Defining filter plug-ins in multimedia CF,• Building some hierarchies from CFs,• Installing the GridKit, Genie, …• MPI?• …
21/10/200738
References (1)
• Nelly Bencomo, Gordon Blair, et al. "Towards a Meta-Modeling Approach to Configurable Middleware,“2nd ECOOP'2005 Workshop on Reflection, AOP and MetaData for Software Evolution, RAM-SEGlasgow, Scotland, 2005.
• Nelly Bencomo, Gordon Blair, "Genie: a Domain-Specific Modeling Tool for the Generation of Adaptiveand Reflective Middleware Families," In submitted to 6th OOPSLA workshop on Domain SpecificModeling, Portland, 2006.
• Nelly Bencomo, Gordon Blair, Paul Grace, "The world ig going MAD: Models for Adaptation,“ACM/IEEE 9th International Conference on Model Driven Engineering Languages and Systems,Genova, Italy, October 2006.
• Nelly Bencomo, "Preening: Reflection of Models in the Mirror", PhD thesis, Comp. Dept, InfoLab21,Lancaster University, 2005.
• G.S. Blair, G. Coulson, et al. "An Architecture for Next Generation Middleware," In Proceedings of theIFIP International Conference on Distributed Systems Platforms and Open Distributed Processing,1998.
• Michael Clarke, Gordon S. Blair, et al. "An Efficient Component Model for the Construction of AdaptiveMiddleware," Lecture Notes in Computer Science, vol. 2218, pages 160--??, 2001.
21/10/200739
References (2)
• Michael Clarke, Nikos Parlavantzas, et al. "OpenCOM API Specification," OpenCOM Documents:http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/tutorials.php.
• Geoff Coulson, Gordon S. Blair, et al. "The Design of A Configurable and Reconfigurable MiddlewarePlatform", OpenCOM Documents:http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/tutorials.php, 2002.
• Paolo Costa, Geoff Coulson, et al. "The RUNES Middleware: A Reconfigurable Component-basedApproach to Networked Embedded Systems," In Proceedings of (PIMRC05), IEEE, Berlin, Germany,September 2005.
• Paolo Costa, Geoff Coulson, et al. "The RUNES Middleware for Networked Embedded Systems and itsApplication in a Disaster Management Scenario," Fifth Annual IEEE International Conference onPervasive Copmuting and Communications, 2007, percom '07, pages 69-78, March 2007.
• Geoff Coulson, Richard Gold, et al. "Dynamic Reconfiguration in the RUNES Middleware," Mobile Ad-hocand Sensor Systems (MASS), International Conference on 2006 IEEE, pages 574-577, October 2006.
• Geoff Coulson, Dean Kue and John Brooke, "Sensor Networks + Grid Computing = A New Challenge forthe Grid?," IEEE Distributed Systems online, vol. 7, no. 12, page 2, December 2006.
• Richard Gold, "Contiki and the RUNES Middleware":http://www.sics.se/contiki/project/contiki-and-the-runes-middleware.html, February 2007.
21/10/200740
References (3)
• Patrick TH. Eugster, Pascal A. Felber, et al. "The Many Faces of Publish/Subscribe," ACM ComputingSurvays, vol. 35, no. 2, pages 114-131, June 2003.
• Paul Grace, Gordon S. Blair, et al. "ReMMoC: A Reflective Middleware to support Mobile ClientInteroperability," International Symposium on Distributed Objects and Application, Catania, Italy,November 2003 (to appear).
• Paul Grace, Gordon Blair, et al. "A Higher Level Abstraction for Mobile Computing Middleware," InProceeding of workshop on Communication Abstractions for Distributed Systems, Paris, France,November 2003.
• Paul Grace, Geoff Coulson, et al. "GRIDKIT: Pluggable Overlay Networks for Grid Computing," To appearin Proc. Distributed Objects and Applications (DOA'04), Cyprus, October 2004.
• Danny Hughes, Phil Greenwood, et al. "GridStix: Supporting Flood Prediction using Embedded Hardwareand Next Generation Grid Middleware," In Proceedings of the 4th International workshop on MobileDistributed Computing (MDC'06), Niagara Falls, USA, June 2006.
• Danny Hughes, Phil Greenwood, et al. "An Intelligent and Adaptable Flood Monitoring and WarningSystem," In Proceeding of the 5th UK E-science All Hands Meeting (AHM 06), September 2006.
21/10/200741
References (4)
• Danny Hughes, Phil Greenwood, et al. "Using Grid Technologies to Optimise a Wireless Sensor Networkfor Flood Management," In Proceedings of the 4th ACM Conference on Embedded Networked SensorSystems, Boulder, Colorado, USA, October 31-November 3, 2006.
• Zhang Huifu, Zhou Zude, et al. "Study on Embedded System Grid", In Proceedings of the FirstInternational Conference on Semantics, Knowledge, and Grid (SKG 2005), IEEE, 2006.
• Java Home Page: http://java.sun.com, 2007.• Fabrice Kordon, Laurent Pautet, "Toward Next-Generation Middleware?," IEEE Distributed Systems
Online, vol. 6, issue 3, March 2005.• Next Genaration Middleware @ Lancaster University:
http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/index.php.• Next Genaration Middleware @ Lancaster University, Computing Department, "OpenCOM: Java versus
C++", Technical Report, http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/tutorials.php.• Dong-Kyu Lee, Joo-Yong Oh, et al. "Middleware for Isochronous Connection Management in IEEE1394-
IEC61883 based Multimedia Home Network," IEEE Transactions on Consumer Electronics, vol. 51,issue 1, pages 307-313, February 2005.
• Cecilia Mascolo, Stefanos Zachariadis, et al. "RUNES Middleware Architecture", SIXTH FRAMEWORKPROGRAMME PRIORITY 2, Information Society Technology, Project Document Number:RUNES/D5.2.1/PU/v12 (official version), November 2005.
21/10/200742
References (5)
• Microsoft, COM Home Page: http://www.microsoft.com/com/default.mspx, last updated: 2007.• Mozilla Organization, XPCOM Project: http://www.mozilla.org/projects/xpcom, last updated: September
2007.• Object Management Group: http://www.omg.org, last updated: October 2007.• Peter R. Pietzuch, "Event-Based Middleware: A New Paradigm for Wide-Area Distributed Systems?," In
Proceedings of 6th CaberNet Radicals workshop, Funchal, Maderia Island, Portugal, February 2002.• Steve Vinoski, "CORBA: Integrating Diverse Applications Within Distributed Heterogeneous
Environments," IEEE Communications Magazine, vol. 14, no.2, February 1997.• Klaus-Dieter Walter, "Embedded Grid Computing," In Elektronik, Fachzeitchrift fur industrielle Anwender
und Entwickler, Poing, Germany, page 76f, September 2005.• Wikipedia Encyclopedia: http://en.wikipedia.org.• Charles Zhang and Hans-Arno Jacobsen, "Refactoring Middleware with Aspects," IEEE Transactions on
Parallel and Distributed Systems, vol. 14, no. 11, November 2003.• Charles Zhang and Hans-Arno Jacobsen, "Resolving Feature Convolution in Middleware Systems," In
Proceedings of the 19th annual ACM SIGPLAN Conference on Object Oriented Programming,Systems, Languages and Applications, Vancover, BC, Canada, pages 188-205, 2004.
21/10/2007