یک روش مدل سازی شبیه سازی سیستم های توزیع شده
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|11634||2003||17 صفحه PDF||سفارش دهید||5380 کلمه|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Simulation Modelling Practice and Theory, , Volume 11, Issues 3–4, 15 July 2003, Pages 251-267
The employment of network-based technologies, such as the WWW and middleware platforms, significantly increased the complexity of distributed application, as well as the Quality-of-Service requirements for the underlying network. Distributed application modelling is nowadays far more demanding than network modelling, where numerous solutions are already employed in commercial tools. We introduce a simulation modelling approach for distributed systems, giving emphasis to distributed applications. The proposed scheme enables the in-depth description of application functionality, the accurate estimation of network load and the extension of existing application models to support further customisation. It supports widely employed architectural models, such as the client–server model and its variations, and is based on multi-layer decomposition. Application functionality is described using pre-defined operations, which can be further decomposed into simpler ones, ultimately resulting into elementary actions corresponding to primitive network operations, such as transfer and processing. Even if realisation of this scheme proves to be time demanding, individual application modelling is performed with consistency and considerably lower overhead. The distributed system simulation environment built to realise the proposed modelling scheme and a case study indicating key features of the overall approach are also presented.
The outburst in network technology gave rise to different types of applications operating in a network environment. Most of them are based on multi-tiered client–server models , and are generally called distributed applications. Distributed applications extend to multiple sites and operate on multi-platform networks. Distributed applications and the network infrastructure form a distributed system . Most commercial information systems, such as banking and flight control systems, e-mail and WWW applications, distant learning environments and workflow management systems, fall in this category. Development of middleware standards , such as CORBA that allows the interaction between heterogeneous, autonomous applications, and of programming languages, such as Java that provides native distributed programming support, have established a well-defined framework for distributed application development. Simulation modelling has been widely acknowledged as an efficient technique for performance evaluation. Numerous methodological and practical approaches for distributed system simulation have appeared in the literature. In most cases ,  and , application performance exploitation is closely depended on the network infrastructure. Thus, applications running on a network environment are viewed as network traffic generators and application operation mechanisms are not emphasised. Investigation of the Quality-of-Service provided by the network to determine whether application requirements are efficiently supported has also been the objective of simulation studies , where applications are usually represented using analytical models. In these cases, distributed application operation is not emphasised due to the significance of networking issues. When orientation is towards evaluating an aggregate distributed architecture, system components are analytically described and component-specific models are employed. Distributed system modelling is mostly based on the client–server model. However, both client and server functionality is usually represented at an abstract layer and, due to the number and complexity of potential component combinations, behavioural characteristics of individual models are roughly modelled  and . In-depth performance evaluation approaches have also been provided, especially for customised applications, where load generation is modelled at a low layer mostly using mathematical models ,  and , thus not promoting the reusability of simulation models. In  and , UML is used to model distributed system functionality, while mathematical modelling, specifically queuing networks, is adopted to estimate application performance. Use of UML sequence diagrams  facilitates the description of client–server architectures, process triggering and information exchange. However, the detailed description of process functionality is not facilitated. When examining the operation of distributed applications , , , ,  and , object-oriented modelling techniques are usually adopted. Application operation is directly mapped at the elementary action layer as a series of discrete requests for processing, network transfer, etc., using pre-defined, elementary actions. We consider that such approaches lack efficiency and wide applicability, as: 1. The outcome of application decomposition is rather empirical when not supported by a consistent mechanism transforming operations into elementary actions through intermediate layers. 2. Intermediate layers are required to support application decomposition in terms of the various standards and architectural models, such multi-tiered client–server models. 3. Determining application load through an empirical analysis does not permit an accurate estimation. 4. Extendibility and applicability to support variations of the architectural models and customised implementations are, generally, not supported. We argue that a generic modelling scheme should be established in order to facilitate the uniform representation of different types of applications (i.e. elementary, such as FTP, and complex, such as distributed databases) and the interaction between applications and the underlying network. We propose a modelling framework for distributed system entities, emphasising the in-depth description of application operation mechanisms. Network modelling is not discussed, as traditional approaches have provided effective solutions . The scheme introduced promotes accuracy in distributed application description using a multi-layer action hierarchy. Actions indicate autonomous operations describing a specific service and are further decomposed into simpler ones, ultimately resulting in elementary actions. The proposed elementary actions are similar to the ones described in ,  and . The modelling scheme supports the client–server model and its variations and can be further extended to support other architectural models. The proposed application modelling approach is independent of simulation implementation and can be easily incorporated into existing simulation environments. Based on the proposed scheme, a simulation environment, namely distributed system simulator (DSS), was constructed for the evaluation of distributed application performance. DSS enables the exploitation of various types of distributed applications, including user-defined ones, as well as of the network infrastructure. Object-oriented modelling and component pre-construction is employed. Both network and application entity models reside in model libraries. Performance issues in DSS operation were also addressed to ensure that the duration of simulation experiments remain within acceptable boundaries. The rest of the paper is organised as follows. In Section 2, we address modelling issues, emphasising the description of distributed applications. In Section 3, the components of DSS are presented. Simulation model extension and validation issues are discussed in Section 4. A case study where DSS is used for performance evaluation of a distributed banking system is presented in Section 5, while conclusions reside in Section 6.
نتیجه گیری انگلیسی
Exploring the behaviour of distributed systems is not a trivial task due to the complexity encountered in both network and application modelling. Emphasising the description of distributed applications was the objective of the modelling scheme introduced. Application modelling extends to the operation and interaction mechanisms and conforms to the various forms of the client–server model. As distributed system architectures are configurable, the modelling scheme introduced is generic enough to allow the description of diverse applications, while different levels of detail are also supported. As distributed system description results in complex models, considerable effort was put in constructing and organising the pre-constructed DS component models to ensure their efficient manipulation. The proposed application modelling approach can be easily incorporated into existing simulation environments to facilitate the more accurate application description. However, in order to accommodate the customisation and extension of process and action models, automated code generation capabilities should be supported and this feature is rarely provided by existing network simulation tools. The proposed distributed system modelling scheme is independent of simulation implementation and can be ported to any simulation implementation environment accommodating object-oriented models.