Reference : Reproducible Testing of Distributed Software with Middleware Virtualization and Simulation
Scientific congresses and symposiums : Paper published in a book
Engineering, computing & technology : Computer science
http://hdl.handle.net/2268/3049
Reproducible Testing of Distributed Software with Middleware Virtualization and Simulation
English
Briquet, Cyril mailto [Université de Liège - ULg > Dép. d'électric., électron. et informat. (Inst.Montefiore) > Informatique (ingénierie du logiciel et algorithmique) >]
de Marneffe, Pierre-Arnoul mailto [Université de Liège - ULg > Dép. d'électric., électron. et informat. (Inst.Montefiore) > Informatique (ingénierie du logiciel et algorithmique) >]
20-Jun-2008
Proceedings of the 6th Workshop on Parallel And Distributed systems: Testing, Analysis, and Debugging
Ur, Shmuel
ACM
Article No. 1
Yes
No
International
ISSTA, PADTAD Workshop
du 20 juillet 2008 au 21 juillet 2008
ACM
Seattle
WA
[en] P2P Grid ; code reuse ; distributed testing ; performance evaluation ; scheduling ; simulation ; virtualization
[en] P2P Grids are Grids organized into P2P networks where participant exchange computing time so as to complete computational tasks. Evaluating the performance of scheduling algorithms enables one to deploy those that are efficient. Performance is often evaluated experimentally or through simulation because these algorithms (typically heuristics) are too complex to model analytically. Testing the implementation of P2P Grid middleware before it is deployed is also important: Reproducing configurations or conditions that lead to unexpected outcomes is thus valuable.

A P2P Grid environment exhibits multiple sources of failure and is typically dynamic and uncontrollable. Reproducing even basic behavior of Grid nodes in a controllable and repeatable manner is thus exceedingly difficult. Such lack of control over the environment is a major challenge in the software engineering of P2P Grid middleware. Simulators have been proposed to evaluate the performance of scheduling algorithms, but are often limited in scope, reusability and accuracy, i.e. they rely on simplified models.

We introduce a software engineering pattern - that we call code once, deploy twice - to both reduce the distance between simulated and implemented algorithms and reproduce, at will, Grid configurations and environments: A simulator implementation of a Grid architecture is built by virtualizing its middleware implementation. An immediate benefit is that most of the code can be reused between both implementations; only communications between Grid nodes, multithreading within Grid nodes and actual task execution are coded differently. As a derived benefit, most of the code of the middleware can be tested within the controlled environment of the simulator, before it is deployed as-is. Another benefit is high simulation accuracy. We describe the implementation of a P2P Grid following the code once, deploy twice pattern, that we believe is also relevant to other Grid types (certainly Volunteer Grids and Desktop Grids, and possibly Globus-based Grids).
Researchers ; Professionals ; Students
http://hdl.handle.net/2268/3049
10.1145/1390841.1390842
http://www.montefiore.ulg.ac.be/~briquet/rep_test_grid_mid_virt_sim.pdf
© ACM, (2008). This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in the Proceedings of the 6th Workshop on Parallel And Distributed systems: Testing, Analysis, and Debugging.

File(s) associated to this reference

Fulltext file(s):

FileCommentaryVersionSizeAccess
Open access
rep_test_grid_mid_virt_sim_orbi.pdfAuthor preprint603.39 kBView/Open

Bookmark and Share SFX Query

All documents in ORBi are protected by a user license.