A novel approach to multiformalism performance modeling by composition of basic modeling primitives A Dissertation Defense Enrico Barbierato University of Turin, Italy February 2013 Agenda Multiformalism; State of the art; The SYMTHESys framework; Applications; Originality; Conclusions; Future work Multiformalism Multiformalism has emerged as a sound technique showing how a complex model can be described as the composition of a set of submodels; Composability: 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 art Formalisms: – – – – Process Algebra; Petri Nets-based algebra; Queueing Petri Nets; … Frameworks: – Möbius, OsMoSys, … Tools: – ATOM3… SIMTHESys 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. Structured Infrastructure for Multiformalism modeling and Testing of Heterogeneous formalisms and Extensions for Systems FDL Formalisms are described by the Formalism Description Language (FDL) documents, which declare all their modeling primitives <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> SIMTHESys ElementType ElementType: – 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 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 Interfaces An elementType implements a behavioral interface by explicitly defining behaviors and properties specified in it. <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 <elementType name="Place"> <!-- Interfaces --> <implements ref="ElementOccupancy"/> … <behavior name="getOccupancy“ return="int"> <code> return getTokens(); </code> </behavior> … FDL file excerpt for SPN SIMTHESys Interfaces An elementType implements a solver helper interface: <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> … <fdl> <elementType name="SPN"> <!-- Special Interfaces --> <implements ref="ExpEventModel"/> <uses ref="hasSubElements"/> <uses ref="ExpEventSolver"/> … FDL file for SPN (excerpt ) ExpEventModel interface (excerpt) InitEvents 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 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 MDL A file describing the model according to the FDL file in a Model Definition Language (MDL), XMLbased: <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 Formalism 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 families Exponential and Immediate Events Formalisms (EIEF); Labelled Exponential Events Formalism (LEEF); Labelled Fluid Events Formalisms (LFEF); Solution 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 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 Workflow: FDL Analyzer SIMTHESysER Architecture and Workflow: MDL Parser SIMTHESysER Architecture and Workflow Applications 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); Applications 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-93696809-1, DOI:10.4108/icst.valuetools.2011.245727 Applications 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; Applications 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 Applications 6) A performance evaluation of SOA-based applications; Enrico Barbierato, Mauro Iacono, Stefano Marrone (2012): PerfBPEL: A graphbased approach for the performance analysis of BPEL SOA applications. VALUETOOLS 2012: 64-73 Applications 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; Applications 8) Modeling applications based on the mapreduce 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 BigData applications using multi-formalism models. Future generation computer systems, Elsevier, ISSN: 0167-739X, DOI: 10.1016/j.future.2013.12.036 Originality of SIMTHESys SIMTHESys separates the component defining the formalism from the component solving the model; Originality 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. Conclusions SIMTHESys is an ongoing project that defines a framework for the design of multiformalism performance evaluation models: Future 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. Publications 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; Publications [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 Publications 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/9781-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 Publications 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 Publications [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 Publications [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 1620, 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.