Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 CS6 Course Project Performance Analysis of M-NET using GSPN Jinchun Xia. Introduction Performance is a crucial factor in software system. For many software development groups, it remains easier to wait until a system has been built before evaluating its performance. Among the three most used techniques, measurement, simulation and analytic modeling [7], measurement is believed to be the most accurate method. But it is only feasible after system is implemented. Most organizations rely solely on performance testing and regularly incur the cost of redesign when performance problems arise. Situation would become better if we can evaluate system performance before we physically build up that system. That s why simulation and analytic modeling become useful. Simulation tends to be expensive due to large computation time and can t prove properties. Many analytic performance models are proposed by different researchers, including Queueing Network model, Markov chain model, and Markov reward models, etc. As a mathematical and graphic tool, Petri Net can be used to describe a large variety of different systems [9]. It has been proven to be able to model system behaviors [6]. Based on that model, Petri Net provides approaches for the formal analysis, including performance analysis. Because of those benefits, applications of Petri Net range from informal systems to formal systems, from software systems to hardware systems, and from systems with concurrent processes to systems without any concurrency. Various extensions to Petri net models have been proposed. Among them, we chose Generalized Stochastic Petri Nets (GSPN) over other techniques because of their ability to randomize arrival and processing delays and of their capacity to model complex interactions. A good property of GSPNs is they are isomorphic to continuous time Markov chains (MCs) []. This makes it easier to apply performance analysis based on GSPNs.. Work in this paper M-Net is a web based meeting net, which enables people in remote areas to hold virtual meetings through the internet [, 8]. This system has been developed by Professor Carl K. Chang s students. We intend to build up an analytic model for M-Net and analyze its performance. This paper is organized as follows: section gives a brief overview to GSPN, section introduces M-NET which will be modeled in this paper. In section, GSPN models for M-NET are described. Section /9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 applies some performance analysis based on those GSPN models. Section 6 evaluates and concludes this paper.. Generalized Stochastic Petri Net (GSPN). Introduction to GSPN Murata [] described Petri Nets (PN s) as a promising tool for describing and studying information processing systems that are characterized as being concurrent, asynchronous, distributed, parallel, nondeterministic, and/or stochastic. PN can be formally defined as [Peterson] : PN = (P, T, A, M) () where P, T, A, M are the sets of place, transition, arc, and marking. One of the important developments in the theory of PN s is the introduction of enhancements that make PN s more useful in performance evaluation studies. One such enhancement is the Stochastic Petri Net (SPN) which associates a random firing time to each transition. The reachability graph of an SPN can be turned into a continuous-time Markov chain (CTMC) by assigning to each edge a weight equal to the firing rate of the associated SPN transition. A SPN is defined formally as a tuple: SPN = (P, T. A, M, R) [] () where P, T, A, M are as in (), and R = {r, r,, r m } is the set of firing rates associated with the PN transitions. GSPN s [0] are timed Petri nets in which the transitions are classified into two groups: immediate and timed transitions. Immediate transitions have higher priority than timed transitions, fire in zero time and are labeled with a marking-dependent firing probability. Associated with timed transitions there are random, exponentially distributed firing times. A marking in which immediate transitions are enabled is known as a vanishing marking, while a marking in which only timed transitions are enabled is known as a tangible marking. Vanishing states have sojourn times which are zero, while tangible states have nonzero exponentially distributed sojourn times.. Performance analysis based on GSPN Smith defined performance [] as the degree to which a system or component accomplishes its designated functions within given constraints, such as speed, accuracy, or memory usage. What makes GSPN useful to performance analysis is that GSPN is isomorphic to Markov Chain. CTMC is one of the most useful tools for numerical analysis, but it s difficult to directly get CTMC for a big system. Compared to CTMC, GSPN model is more straightforward to build. So it s a normal way to build GSPN model first, then recognize its embedded CTMC. After that, we can analyze system performance based on numerical results gained from CTMC. Based on steady-state and /9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 transient-state distribution probability derived from CTMC, most performance analysis can be handled.. Introduction to M-NET. Overview of M-NET M-Net is a web based meeting net, which enables people in remote areas to hold virtual meetings through the internet. M-Net System was built on a communication platform which manages communication among different users. It also includes various applications to support collaborative meetings. These applications include chat, which supports test based discussions; slideshow, which displays slides; IxiFtp, which allows file operations and browser operations; layered whiteboard, which supports the exchange of the visual pictures drawn in the browser. M-Net also includes features like secure control, user registration, and so on. In the M-Net System, everybody can apply to be a member, and can then launch a meeting and invite other members to attend. In a meeting, all attendee can share ideas through M-Net applications, and those ideas are broadcasted to all the other meeting members.. M-NET system architecture M-Net can be considered as a three-tier client/server system. The three tiers are client, server, and database. M-Net client is actually a Java let that is downloaded from a Server, and run in any browser. It communicates directly with servers through socket connections. M-Net mainly includes interfaces that need to communicate with servers and applications. Figure shows how M-Net communicates [] : /9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 Side Server Side M-Net Server (Java lication) M-Net Server (Java lication) M-Net Server (Java lication) Central Central Server (Java application) Central Central Database Server (Java application) JDBC Central MS- Access Figure : Top level system architecture of M-Net. Modeling M-NET by scenarios Due to its client/server structure and its complex applications, it s very difficult and tedious to describe the whole M-NET system by GSPN. Also because M-NET is a real-time system with random user requests, it s very difficult to analyze performance for the whole system. In this case, performance analysis based on scenarios is alternative and can still be very useful. System behaviors can be divided into different scenarios. So it s possible to get whole system performance evaluation by systematic scenario performance analysis. This paper will use one scenario: Floor control as example to illustrate this procedure. Its state diagram and GSPN are depicted as below.. Floor Control In M-Net, applications Chat and WhiteBoard have Floor Control. For example, in a Chat room, only FloorHolder can speak. Users can ask for floor at any time, and the chairman will either grant him the floor or deny his request. Figure is a state diagram that models the behavior of meeting members requesting the floor to gain access to the whiteboard. In this example there are three states representing FloorHeld, FloorRequested, and FloorNeitherHeldNor- /9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 Requested. Transitions are represented as probability variables, which enables close integration with Petri Net modeling and Markov modeling. A delay is introduced into the FloorHeld state so that once a person enters the state they will remain in that state for a time period equal to TimeToWrite, unless the floor is prematurely removed by the chair. These transitions are all represented as variables that can be used to support numerical performance analysis. Figure : Floor Control represented as a State transition diagram Figure is a Petri Net that models the behavior of meeting members requesting the floor to gain access to the whiteboard. We assume that there re one chairman and five members in this meeting. In order to gain a Markovian model of this scenario, the following assumptions are made: Members request floor at exponentially distributed random rate with average ; Members cancel their requests at exponentially distributed random rate with average ; The request may not immediately served, either because the floor is held by another member, or because the chairman denies this request; Floor can be prematurely removed from a floor-holder by the chairman. Floor-holder writes to whiteboard for an exponentially distributed random rate with average before releasing the floor. /9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 t P P P P m t t t t P Figure : Floor Control represented as a GSPN Table : Legend for the GSPN in Figure P : Active member P : Member waiting for floor P : Chairman P : Floor free P : Member holds floor T : Member requests floor T : Member cancel floor request T : Chairman assign floor to member T : Chairman removes floor from member T : Member releases floor. Performance analysis based on GSPN models Response time is one of the most important performances, especially for network based applications. In this paper, only response time analysis is proposed.. Derive CTMC Based on the Petri Net in Figure, we can draw reachability graph as Figure : t t t t t 00 0 0 0 0 00 t t t t t /t t t /t t t /t t t t /t t /t t 00 0 0 0 00 t Figure : Reachability graph for GSPN in Figure 6/9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 It has been proved that there is a one-to-one correspondence between the reachability graph and the continuous-time Markov Chain (CTMC) []. Figure shows the CTMC corresponding to the GSPN of Figure. M : 00 M :0 M :0 M :0 M :0 M 6 :00 + + + + + M 7 :00 M 8 :0 M 9 :0 M 0 :0 M :00 Figure : Continuous time Markov Chain for the GSPN in Figure Without loss of generality, we assume =, =, =, =, =. For this CTMC, we generate matrix: Q = 6 9 6 9 6 9 6 9 6 7 6 6 6 6 6 Solve this CTMC, we can get π = [0.66, 0.86, 0.0, 0.0, 0.00, 0.00, 0.06, 0.078, 0.00, 0.00, 0.000]. Response time analysis Let n denote the average number of tokens in a place, λ denote the average arrival rate of tokens, and w denote the average wait of a token in a place. So we can derive n = λw () Our goal is to gain the mean response time t f that elapses from a floor request is generated until the floor is assigned to that member. If we can get the average number of token (by steady state) in a place, which is the n in (), we can easily compute w, which is the mean wait time of a token in that place. As for our goal, the response time t f is the time of waiting for floor. From Figure, we can see that is the waiting time in place. So we gain: t f = w. () Then n = 0*0.66 + *0.86 + *0.0 + *0.0 + *0.00 + *0.00 + 0*0.06 + *0.078 + *0.00 + *0.00 + *0.000 7/9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 = 0.9 λ = = w = 0.977 t f = 0.977 Hereby we know that the mean response time from a member request the floor till the member release that floor is 0.977 s.. Evaluate performance against original requirements After we calculate those numerical results, the next step is to evaluate those performances against the original requirements. According to the related requirement item Each floor request should be responded within second, obviously this requirement is satisfied. 6. Evaluation, Conclusion and Future work The example in this paper is a very simple one since only one scenario and only response time are considered. Values used in this example are fictitious. But from the numerical result, we can see that early performance evaluation is feasible. Actually GSPN can be very useful for most performance evaluation, like throughput, server load, CPU utilization, etc. All those work can be future work. Real-time Server- structure is difficult to model by even high-level Petri Net, but we can capture system behaviors by different scenarios, and analyze different system performances upon those scenarios. In doing this work, a major factor should be considered: those scenarios can completely capture system behaviors. References: [] Jian Zhang, M-Net Server Enhancement and NT Service, Master s Project Report, Apr. 00 [] Marco Ajmone, et al., A Class of Generalized Stochastic Petri Nets for the Performance Evaluation of Multiprocessor Systems, ACM Trans. Computer Systems, Vol., No., May 98, pp. 9- [] Kurt Jensen, An Introduction to the Theoretical Aspects of Coloured Petri Nets, de Bakker, J.W.; de Roever, W.-P.; Rozenberg, G.: Lecture Notes in Computer Science, vol. 80; A Decade of Concurrency, Springer-Verlag, Jun. 99, pp. 0-7. [] Murata, T. "Petri Nets: Properties, Analysis and lications", Proc. IEEE, Apr. 989, pp. -79 [] J.L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice Hall PTR, 8/9
Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 Upper Saddle River, NJ, 98 [6] Kurt Jensen, An Introduction to the Theoretical Aspects of Coloured Petri Nets, de Bakker, J.W.; de Roever, W.-P.; Rozenberg, G.: Lecture Notes in Computer Science, vol. 80; A Decade of Concurrency, Springer-Verlag, Jun. 99, pp. 0-7. [7] O.C. Ibe, et al., Performance Evaluation of -Server Systems, IEEE Trans. Parallel & Distributed System, vol., no., Nov. 99, pp. 7-9. [8] Rong Qian, Meeting Net Real.0 Server Design and Implementation, Master Project Report. Int l Center for Software Eng., Computer Science Dept., Univ. of Illinois at Chicago, April 999. [9] J.L. Peterson, Petri nets. ACM Comput. Surv. 9, (Sept. 977), -. [0] M. A. Marsan, G. Balbo, and G. Conte, Performance Models of Multiprocessor Systems. Cambridge, MA: MIT Press, 986. [] C.M. Woodside and C. U. Smith, "Performance Validation at Early Stages of Development", Position paper, Performance 99, Istanbul, Turkey, October 99 9/9