a novel approach to multiformalism performance modeling by composition of basic modeling primitives...
TRANSCRIPT
A novel approach to multiformalismA novel approach to multiformalismperformance modeling by composition of performance modeling by composition of
basic basic modeling primitivesmodeling primitives
A Dissertation Defense
Enrico Barbierato
University of Turin, Italy
February 2013
AgendaAgenda
Multiformalism;State of the art;The SYMTHESys framework;Applications;Originality;Conclusions; Future work
MultiformalismMultiformalism
Multiformalism has emerged as a sound technique showing how a complex model can be described as the composition of a set of sub-
models;
Composability: key aspectsComposability: key aspects
The capacity to assemble different components in one system;
It can be considered from a syntactic (a) or a semantic (b) point of view;
Solution Integration;
a
b
State of the artState of the art
Formalisms:– Process Algebra;– Petri Nets-based algebra;– Queueing Petri Nets;– …
Frameworks:– Möbius, OsMoSys, …
Tools:– ATOM3…
SIMTHESysSIMTHESys
Structured Infrastructure for Multiformalism modeling and Testing of Heterogeneous formalisms and Extensions for Systems
A framework for the definition of new formalisms and the automatic generation of related solvers, that allows the combination of more formalisms in the same model.
FDLFDL
<fdl>
<elementType name="CAMWA">
<propertyType name="Description" type="String" default="An OSSP model" storage="static"/>
<propertyType name="id" type="String" default="" storage="static"/>
<implements ref="hasSubElements"/>
<implements ref="ExpEventModel"/>
<behavior name="InitEvents" return="void">
<code> for(ElementType T : allSubElements) { if(T instanceof ExpEventModel) {
((ExpEventModel)T).InitEvents();}}
</code>
</behavior>
…
</fdl>
Formalisms are described by the Formalism Description Language (FDL) documents, which declare all their modeling primitives
SIMTHESys ElementTypeSIMTHESys ElementTypeElementType:
– Properties (a constant, a variable or a result);– Behaviors;
…<elementType name="Place"><!-- Interfaces --><implements ref="ElementOccupancy"/>
<!-- Properties --><property Type name="id" type="String" default="" storage="static"/><property Type name="Tokens" type="int" default="0" storage="dynamic"/><property Type name="MeanTokens" type="Result" storage="computed"/> …
Excerpt of the SPN FDL
…<behavior name="getOccupancy“ return="int"><code> return getTokens();</code></behavior> …
Excerpt of the SPN FDL
SIMTHESys InterfacesSIMTHESys Interfaces
An elementType uses:– solver interfaces to define which solving engine(s) should be used
with it;– behavioral interfaces to re-use existing abstractions.
<fdl> <elementType name="FCQN_SPN">
<!-- Special Interfaces --> <implements ref="hasSubElements"/>
<!-- Interfaces --> <implements ref="ExpEventModel"/> <uses ref="ProbWeight"/> <uses ref="PushPull"/> <uses ref="Active"/> <uses ref="FCQueueEvent"/> <uses ref="ExpEventSolver"/> … </fdl>
SIMTHESys InterfacesSIMTHESys Interfaces
An elementType implements a behavioral interface by explicitly defining behaviors and properties specified in it.
<elementType name="Place"><!-- Interfaces --><implementsimplements ref="ElementOccupancy"/> …<behavior name="getOccupancy“ return="int"><code> return getTokens();</code></behavior> …
FDL file excerpt for SPN
<interface><behavior name="getOccupancy" return="int"/><behavior name="setOccupancy" return="void"> <parameter name="o" type="int"/></behavior><behavior name="addOccupancy" return="void"> <parameter name="o" type="int"/></behavior></interface>
ElementOccupancy interface
SIMTHESys InterfacesSIMTHESys Interfaces
An elementType implements a solver helper interface:
<fdl> <elementType name="SPN"><!-- Special Interfaces --><implements ref="ExpEventModel"/>
<uses ref="hasSubElements"/><uses ref="ExpEventSolver"/> …
FDL file for SPN (excerpt )
<interface><behavior name="InitEvents" return="void"/><behavior name="computeStateRewards "return="double[]"/><behavior name="countStateRewards" return="int"/><behavior name="setStateRewards" return="void">
<parameter name="r" type="Result[]"/></behavior>
…
ExpEventModel interface (excerpt)
InitEvents behaviorInitEvents behavior A formalism defines a behavior called
InitEvents: …
<behavior name="InitEvents“ return="void">
<code>
for(Transition T : sub_Transition) {
if(T.isActive()) {Transition _T = T;
((ExpEventSolver)getModel().getSolver()).schedule("T.fire()", T.getRate, T.getId(), 1.0);}}
</code>
</behavior>
…Excerpt of FDL
Schedule behaviorSchedule behavior The solution engines expose a behavior
Schedule that is used by the implementations of the InitEvents behavior to define what must be executed whenever an event occurs;<behavior name="InitEvents“ return="void">
<code>
for(Transition T : sub_Transition) {
if(T.isActive()) {Transition _T = T;
((ExpEventSolver)getModel().getSolver()).schedule("T.fire()", T.getRate, T.getId(), 1.0);}}
</code>
</behavior>Excerpt of FDL
MDLMDL
<mdl fdl="CAMWA.fdl">
<CAMWA id="CAMWA" Description="Un_modello_di_prova">
<CheckGe id="Arc_GE_01" from="In" to="Degradation0" weight="1"/>
<CheckGe id="Arc_GE_02" from="In" to="Crash0" />
<RateControl id="Arc_RC_05" from="Degradation0" to="Srv“ weight="1"/>
<CheckLt id="Arc_LT_01" from="Crash0" to="Srv" />
<CheckLt id="Arc_LT_02" from="Rejuvenation0" to="Srv" />
<CheckLt id="Arc_LT_03" from="Degradation0" to="Srv" />
<OSSP id="OSSP0" >
<Degradation id="Degradation0" nPhases="2" Phase="0" phaseRate="1.15;1.25;" phaseDeg="1;0.9" />
…
</mdl> Excerpt of MDL
A file describing the model according to the FDL file in a Model Definition Language (MDL), XML-based:
Formalism familiesFormalism families
Exponential Event Formalisms (EEF)– Primitives represent entities capable of
generating events;– Such events (that can be used to represent
the firing of a PN transition, or the end of the service in a queue) are characterized by the fact that they occur after an exponentially distributed time;
More formalism familiesMore formalism families
Exponential and Immediate Events Formalisms (EIEF);
Labelled Exponential Events Formalism (LEEF);
Labelled Fluid Events Formalisms (LFEF);
Solution EnginesSolution Engines
The framework currently provides some solving engines for performance evaluation:– Classic event based simulators;
– Solvers designed to generate Continuous Time Markov Chains (CTMCs) and perform steady state and transient analysis
Performance IndicesPerformance Indices
Formalisms may be characterized by performance indices calculated by using State Rewards and Impulse Rewards;
<RESULTS>
<SPNS>
<SPN>
<ID>Serv2br</ID><BOUNDED>false</BOUNDED> <PLACE>P1<MEANTOKENS>3.0000000000000004</MEANTOKENS></PLACE>
<PLACE>P2<MEANTOKENS>2.0 </MEANTOKENS></PLACE>
<TRANSITION>T1<THROUGHPUT>4.163336342344338E-06</THROUGHPUT></TRANSITION>
</SPN>
</SPNS>
</RESULTS>
Excerpt of a RESULT file
SIMTHESysER Architecture and SIMTHESysER Architecture and Workflow: FDL AnalyzerWorkflow: FDL Analyzer
SIMTHESysER Architecture and SIMTHESysER Architecture and Workflow: MDL ParserWorkflow: MDL Parser
SIMTHESysER Architecture and SIMTHESysER Architecture and WorkflowWorkflow
ApplicationsApplications
1) A motivating example: closed TFCQN with three servers;
Enrico Barbierato, Marco Gribaudo, Mauro Iacono, Defining Formalisms for Performance Evaluation With SIMTHESys. Electr. Notes Theor. Comput. Sci. 275: 37-51 (2011);
ApplicationsApplications
2) A multiformalism performance oriented model verifying some conditions;
Barbierato E, Gribaudo M, Iacono M. (2011). Exploiting multiformalism models for testing and performance evaluation in SIMTHESys, Proceedings of 5th International ICST Conference on Performance Evaluation Methodologies and Tools,ICST, ISBN:978-1-936968-09-1, DOI:10.4108/icst.valuetools.2011.245727
ApplicationsApplications
3) A formal definition of an exception handling mechanism for multiformalism models;
Enrico Barbierato, Marco Gribaudo, Mauro Iacono, Stefano Marrone: Performability Modeling of Exceptions-Aware Systems in Multiformalism Tools. ASMTA 2011: 257-272;
ApplicationsApplications
4-5) Two approaches (of increasing complexity) adding software rejuvenation features to performance models;
- Enrico Barbierato, Marco Gribaudo, Mauro Iacono, The SIMTHESys multiformalism modeling framework. Computers & Mathematics with Applications 64(12): 3828-3839 (2012);
- Enrico Barbierato, Andrea Bobbio, Marco Gribaudo, Mauro Iacono: Multiformalism to Support Software Rejuvenation Modeling. ISSRE Workshops 2012: 271-276
ApplicationsApplications
6) A performance evaluation of SOA-based applications;
Enrico Barbierato, Mauro Iacono, Stefano Marrone (2012): PerfBPEL: A graph-based approach for the performance analysis of BPEL SOA applications. VALUETOOLS 2012: 64-73
ApplicationsApplications
7) A case study showing how product-form solution theory can couple with multiformalism compositional modeling techniques.
Barbierato E., Dei Rossi G., Gribaudo M., Iacono M., Marin A. (2012). Exploiting product forms solution techniques in multiformalism modeling. Electr. Notes Theor. Comput. Sci, to appear;
ApplicationsApplications
8) Modeling applications based on the map-reduce paradigm
E. Barbierato, M. Gribaudo, M. Iacono, A Performance Modeling Language For Big Data Architectures. 27th European conference on modelling and simulation (ECMS 2013). IEEE Soc. German Chapter, ISBN: 978-0-9564944-6-7, DOI: 10.7148/2013-0511
9) Language for what-if analysis for Big Data application designers
E. Barbierato, M. Gribaudo, M. Iacono, Performance Evaluation of NoSQL Big-Data applications using multi-formalism models. Future generation computer systems, Elsevier, ISSN: 0167-739X, DOI: 10.1016/j.future.2013.12.036
Originality of SIMTHESysOriginality of SIMTHESys
SIMTHESys separates the component defining the formalism from the component solving the model;
Originality of SIMTHESysOriginality of SIMTHESys
Flexibility:– new formalisms (or extension of the existing
ones) can be easily added to the framework by creating a new FDL file;
Solution integration:– SIMTHESys derives the underlying CTMC
from the analyzed model; in this way, it is not necessary to consider mechanisms sharing results between sub-models.
ConclusionsConclusions
SIMTHESys is an ongoing project that defines a framework for the design of multiformalism performance evaluation models:
Future WorkFuture Work
– The definition of Formalisms and Models by using the concept of inheritance;
– The definition of a Proprietary Language for Behaviors;
– New formalism families and applications.
PublicationsPublications
Journals:[2014] Enrico Barbierato, Marco Gribaudo, Mauro Iacono, Modeling and
evaluating the effects of Big Data storage resource allocation in global scale cloud architectures. International Journal of Data Warehousing and Mining, ISSN: 1548-3924, DOI: (to appear);
[2014] E. Barbierato, M. Gribaudo, M. Iacono, Performance Evaluation of NoSQL Big-Data applications using multi-formalism models. Future generation computer systems, Elsevier, ISSN: 0167-739X, DOI: 10.1016/j.future.2013.12.036;
PublicationsPublications
[2012] M. Iacono, E. Barbierato, M. Gribaudo, The SIMTHESys Multiformalism Modeling Framework. Computer & mathematics with applications, vol. 64, num. 12, pp. 3828-3839 (December 2012), Elsevier, ISSN: 0898-1221, DOI: 10.1016/j.camwa.2012.03.009
[2011] E. Barbierato, M. Gribaudo, M. Iacono, Defining formalisms for performance evaluation with SIMTHESys. Electronic notes in theoretical computer science, vol. 275, pp. 37-51, Elsevier, ISSN: 1571-0661, DOI: 10.1016/j.entcs.2011.09.004
PublicationsPublications
Contributions in edited print books:[2014] Enrico Barbierato, Mauro Iacono, Marco Gribaudo, Multiformalism and multisolution strategies for system performances evaluation. QUADS, (to appear)2012: 271-276
[2014] E. Barbierato, Multiformalism modeling composability in SIMTHESys, IGI-Global, ISBN: 978-1-4666-4659-9, DOI: 10.4018/978-1-4666-4659-9
[2011] E. Barbierato, M. Gribaudo, M. Iacono, S. Marrone, Performability modeling of exceptions-aware systems in multiformalism tools. Analytical and Stochastic Modeling Techniques and Applications, LNCS 6751, pp. 257-272, Springer-Verlag, ISBN: 978-3-642-21712-8, DOI: 10.1007/978-3-642-21713-5_19
PublicationsPublications
Conferences:
[2013] E. Barbierato, M. Gribaudo, M. Iacono, Modeling Apache Hive based applications in Big Data architectures. VALUETOOLS 2013, 7th International Conference on Performance Evaluation Methodologies and Tools, Torino, Italy, December 10-12, 2013
[2013] E. Barbierato, M. Gribaudo, M. Iacono, A Performance Modeling Language For Big Data Architectures. 27th European conference on modelling and simulation (ECMS 2013). IEEE Soc. German Chapter, ISBN: 978-0-9564944-6-7, DOI: 10.7148/2013-0511
PublicationsPublications
[2012] E. Barbierato, A. Bobbio, M. Gribaudo, M. Iacono, Multiformalism to Support Software Rejuvenation Modeling. IEEE 23rd International Symposium on Software Reliability Engineering Workshops (ISSREW), 27-30 Nov. 2012, pp.271-276, IEEE, ISBN: 978-0-7695-4928-6, DOI: 10.1109/ISSREW.2012.92
[2012] E. Barbierato, M. Iacono, S. Marrone, PerfBPEL: a graph-based approach for the performance analysis of BPEL SOA applications. Proceedings of Valuetools 2012, 6th International Conference on Performance Evaluation Methodologies and Tools. Carg se (France), �October 9-12, 2012, ISBN: 978-1-936968-63-3, DOI: 10.4108/valuetools.2012.250340
PublicationsPublications
[2011] E. Barbierato, M. Gribaudo, M. Iacono, Exploiting multiformalism models for testing and performance evaluation in SIMTHESys. Proceedings of 5th International ICST Conference on Performance Evaluation Methodologies and Tools - VALUETOOLS 2011, Cachan (France), May 16-20, 2011, ICST, ISBN: 978-1-936968-09-1, DOI: 10.4108/icst.valuetools.2011.245727
[2011] E. Barbierato, D. Cerotti and M. Gribaudo, A tool suite for modelling spatial interdependencies of distributed systems with Markovian Agents, in Proceedings of the 8th European conference on Computer Performance Engineering, ser. EPEW 2011. Berlin, Heidelberg: Springer-Verlag, 2011, pp. 280 - 294.