6
Development and Evaluation of Parallel and Distributed Simulation with Web services TAEJONG YOO a,* , HYUNBO CHO a , ENVER YÜCESAN b a Department of Industrial Engineering Pohang University of Science and Technology San 31 Hyoja, Pohang 790-784 SOUTH KOREA b Technology and Operations Management Area INSEAD Boulevard de Constance 77305, Fontainebleau Cedex FRANCE Abstract: Parallel and distributed simulation is concerned with the efficient execution of large-scale discrete event simulation models on multiprocessors and distributed platforms. After the development of World Wide Web (WWW), many efforts in parallel and distributed simulation have been made for modeling, particularly building simulation languages and creating model libraries that can be assembled and executed over WWW, and for analysis, particularly developing simulation optimization algorithms for parallel and distributed experimentation. These efforts have thus far produced mixed results. However, the recent advent of XML and web services technology provides enhanced opportunities for web-based distributed simulation. Especially, web services as a distributed information technology possess powerful capabilities for scalable interoperation of heterogeneous systems. This paper aims to develop and evaluate parallel and distributed simulation using the web services technology for efficient simulation execution. In particular, a prototype framework is implemented using web services for a simple shop floor simulation, where we focus on web-based simulation optimization through the distribution of simulation replications across different servers. The development of parallel and distributed simulation using web services will help to solve large-scale problems efficiently and guarantee interoperability among heterogeneous networked systems. Key-Words: Web services, Parallel and distributed simulation, OCBA, Simulation optimization. 1 Introduction Discrete Event Simulation (DES) is arguably the most popular approach for modeling and analysis of man-made systems such as communication networks, traffic systems, and manufacturing facilities. In addition to its ability to incorporate arbitrary levels of system complexity, which is typically outside the scope of analytical models, DES is concerned with the modeling of a system as it evolves over time. A common goal of DES is to choose the best among a set of competing alternatives. To obtain good statistical estimates for each alternative, a large number of replications must be conducted. In fact, high accuracy requirements together with a large number of competing alternatives would typically lead into significant computational load. Consequently, to reduce the computational load can be a worthwhile subject to investigate [5]. One way to speed up the execution of large-scale simulations is to distribute the simulation runs to several different processors and conduct the simulation experiments in a parallel fashion. The focus of parallel and distributed simulation research has historically been centered on parallel and distributed implementations of sequential simulation models that result in speed up of model execution at runtime. Parallel DES programs are executed on multi-processor computing platforms with multiple central processing units that interact frequently. Distributed DES programs, on the other hand, are executed on loosely coupled systems that may be geographically distributed and require longer interaction times. In particular, with the development of WWW, many efforts in parallel and distributed simulation have been made for modeling, building simulation languages and Proceedings of the 8th WSEAS Int. Conference on Automatic Control, Modeling and Simulation, Prague, Czech Republic, March 12-14, 2006 (pp152-157)

Development and Evaluation of Parallel and Distributed ...wseas.us/e-library/conferences/2006prague/papers/514-119.pdfto the stochastic nature of discrete event simulation, the total

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Development and Evaluation of Parallel and Distributed ...wseas.us/e-library/conferences/2006prague/papers/514-119.pdfto the stochastic nature of discrete event simulation, the total

Development and Evaluation of Parallel and Distributed Simulation with Web services

TAEJONG YOOa,*, HYUNBO CHOa, ENVER YÜCESANb

aDepartment of Industrial Engineering

Pohang University of Science and Technology San 31 Hyoja, Pohang 790-784

SOUTH KOREA bTechnology and Operations Management Area

INSEAD Boulevard de Constance 77305, Fontainebleau Cedex

FRANCE

Abstract: Parallel and distributed simulation is concerned with the efficient execution of large-scale discrete event simulation models on multiprocessors and distributed platforms. After the development of World Wide Web (WWW), many efforts in parallel and distributed simulation have been made for modeling, particularly building simulation languages and creating model libraries that can be assembled and executed over WWW, and for analysis, particularly developing simulation optimization algorithms for parallel and distributed experimentation. These efforts have thus far produced mixed results. However, the recent advent of XML and web services technology provides enhanced opportunities for web-based distributed simulation. Especially, web services as a distributed information technology possess powerful capabilities for scalable interoperation of heterogeneous systems. This paper aims to develop and evaluate parallel and distributed simulation using the web services technology for efficient simulation execution. In particular, a prototype framework is implemented using web services for a simple shop floor simulation, where we focus on web-based simulation optimization through the distribution of simulation replications across different servers. The development of parallel and distributed simulation using web services will help to solve large-scale problems efficiently and guarantee interoperability among heterogeneous networked systems. Key-Words: Web services, Parallel and distributed simulation, OCBA, Simulation optimization. 1 Introduction Discrete Event Simulation (DES) is arguably the most popular approach for modeling and analysis of man-made systems such as communication networks, traffic systems, and manufacturing facilities. In addition to its ability to incorporate arbitrary levels of system complexity, which is typically outside the scope of analytical models, DES is concerned with the modeling of a system as it evolves over time. A common goal of DES is to choose the best among a set of competing alternatives. To obtain good statistical estimates for each alternative, a large number of replications must be conducted. In fact, high accuracy requirements together with a large number of competing alternatives would typically lead into significant computational load. Consequently, to reduce the computational load can be a worthwhile subject to investigate [5].

One way to speed up the execution of large-scale simulations is to distribute the simulation runs to several different processors and conduct the simulation experiments in a parallel fashion. The focus of parallel and distributed simulation research has historically been centered on parallel and distributed implementations of sequential simulation models that result in speed up of model execution at runtime. Parallel DES programs are executed on multi-processor computing platforms with multiple central processing units that interact frequently. Distributed DES programs, on the other hand, are executed on loosely coupled systems that may be geographically distributed and require longer interaction times. In particular, with the development of WWW, many efforts in parallel and distributed simulation have been made for modeling, building simulation languages and

Proceedings of the 8th WSEAS Int. Conference on Automatic Control, Modeling and Simulation, Prague, Czech Republic, March 12-14, 2006 (pp152-157)

Page 2: Development and Evaluation of Parallel and Distributed ...wseas.us/e-library/conferences/2006prague/papers/514-119.pdfto the stochastic nature of discrete event simulation, the total

creating model libraries that can be assembled and executed over the web, and for analysis, particularly developing simulation optimization algorithms for parallel and distributed experimentation. However, because simulation languages or model libraries for the parallel and distributed simulation are restricted by the specific characteristics of the language or the platform, the applicability of web-based simulation has traditionally been limited. The recent advent of XML and web services technology provides an immense potential for providing interoperability among heterogeneous information systems. The objective of the paper is to develop and evaluate an efficient distributed simulation platform using the web services technology: (1) to implement a prototype of the interoperable distributed simulation platform via web services, and (2) to improve the statistical efficiency of simulation optimization via distributed simulation. The remainder of the paper is organized as follows. Section 2 presents a survey of the relevant literature. Section 3 proposes the framework of web services-based parallel and distributed simulation. The algorithm for simulation execution is discussed in Section 4. The prototype implementation is described in Section 5. Preliminary experimental results are presented in Section 6. Finally, Section 7 provides the current research efforts and future work. 2 Related Work 2.1 Web-based Parallel and Distributed

Simulation The topic of web-based simulation spans a variety of areas. In particular, web-based simulation requires the convergence of parallel and distributed simulation methodology and WWW technology. Web-based parallel and distributed simulation can have the added feature of code mobility afforded by such network programming languages as Java or network package as Parallel Virtual Machine (PVM). Especially, Java-based simulation libraries are emerging that permit the creation of simulation programs as Java applications and applets. Among these are Simkit, JavaSim, JSIM and Simjava. One of the primary advantages of these packages is that they permit network-based simulation models to be developed [7]. 2.2 Web Services

The fundamental idea of web services is to integrate software applications as services. A web service is a universally accessible software component deployed on WWW. Such a software component is described by an interface listing the collection of operations that can be performed on it [1]. Web services allow the applications to communicate with other applications using open standards. Web services are based on standard technologies: communication protocol (Simple Object Access Protocol, SOAP), service description (Web Services Description Language, WSDL), and service discovery (Universal Description, Discovery and Integration, UDDI). This way web services can communicate with each other even if they are running on different operating systems or written in different languages. With these characteristics, Web services provide a natural infrastructure for distributed web-based simulation reducing the distinction between PADS and DIS. The synergies between web service and distributed simulation are detailed in. 2.3 Simulation Optimization In discrete event simulation optimization, ranking and selection procedures are commonly applied for selecting the best alternative from among a finite set of competing alternatives [5]. In ranking and selection, the probability of correct selection, where ‘correct selection’ is defined as the event that the selected best alternative is the true best alternative, is used to determine the additional number of replications. Due to the stochastic nature of discrete event simulation, the total number of replications required for each alternative to achieve the desired probability of correct selection may be significant. Optimal Computing Budget Allocation (OCBA) is one of the new approaches aimed at improving the efficiency of ranking and selection [2]. Instead of allocating an equal number of simulation replications to each alternative, the OCBA employs a sequential approach to attain the desired correct selection probability. At the initialization stage, a small number of replications are performed for each alternative to estimate the mean and the variance of the performance measures. 3 Framework of Proposed PADS In the present work, parallel and distributed simulation based on web services is proposed to improve the efficiency of ranking and selection procedures. In

Proceedings of the 8th WSEAS Int. Conference on Automatic Control, Modeling and Simulation, Prague, Czech Republic, March 12-14, 2006 (pp152-157)

Page 3: Development and Evaluation of Parallel and Distributed ...wseas.us/e-library/conferences/2006prague/papers/514-119.pdfto the stochastic nature of discrete event simulation, the total

particular, OCBA and its extension, Dynamic Computing Budget Allocation (DCBA), are used to guide the simulation execution. The framework of the simulation experiments is shown in Fig. 1. The web server hosts a simulation optimization module and the simulation coordinator, which can be accessed via a web browser. The simulation coordinator determines the number of replications for each alternative and requests from each simulation server to execute the specific scenario and report the simulation results. A simulation server has the core simulation engine, which receives the index for the alternatives to be simulated, the parameter settings of simulation model, and the required number of replications from the simulation coordinator. It then performs the simulation and returns the results to the simulation coordinator and its simulation execution time. Simulation execution time of each simulation server is used for assessing the computational capability of each simulation server. With the results of each alternative, the simulation coordinator determines the additional number of replications for each alternative OCBA. In the same manner, with simulation execution time of each simulation server, the simulation coordinator allocates the replications to the servers so as to minimize the total execution completion time for all the replications; this extension of OCBA is referred to as DCBA. This process is repeated until either the correct selection level is satisfied or the total computational budget is exhausted. Further details on these methods are provided in the next section.

SOAP message (simulation results, simulation time)

Web browser

User interface

Web services call

Simulation coordinator

Web server Web services

Simulation engine

Simulation server 1

Web services

Simulation engine

Simulation server 2

Web services

Simulation engine

Simulation server n

SOAP message (alternative, parameter setting, replication)

Fig. 1Architecture for PADS with web services.

4 Algorithm for Optimal Execution

4.1 Optimal Computing Budget Allocation In ranking and selection, ‘correct selection’ is defined as the event that the selected best alternative is actually the best. Therefore, the probability of correct selection can be defined as follows, assuming that the performance measure is to be minimized:

�‚ allfor )},()({}{ bestiNNPCSP iibestbest µµ <= (1) where Ni is the number of simulation replications for alternative i and µi is the (unknown) mean of the performance measure of alternative i. Since Equation (1) is not easy to compute, the approximate probability of correct selection (APCS) can be estimated and used as a lower bound for the probability of correct selection [2]. Note that the computation of the APCS is simply a product of pair-wise comparison probabilities through the application of the Bonferroni inequality.

∏≠

≡<≥M

bestiibest APCSPCSP )(}{ µµ (2)

where M is the sample size of alternatives. In OCBA, the number of additional replications is determined through a sequential procedure. From the initial simulation results, Equation (3) is used to obtain the number of additional replications. The first part of Equation (3) allows for a larger number of additional replications to be allocated to the alternative with the best performance measure than to the alternative with the second best performance measure. The second part of Equation (3) allows fewer additional replications to be allocated to the alternatives other than the ones with the best and the second best performance measure. If the whole number of replications is previously defined, Equation (3) can be reduced to a simple LP problem. If the number of additional replications for the second best performance measure must be predetermined as some constant, the problem can be simpler. This procedure guarantees that the alternative with the better performance measure is allocated more replications. More specifically,

secondbestiNN

NNNN

NNNN

NN

ondondbestbestond

iibestbesti

ond

i

M

besti iibestbest

ondondbestbest

ond

best

ond

best

≠≠⎟⎟⎠

⎞⎜⎜⎝

⎛−−

=

⎥⎥⎦

⎢⎢⎣

⎡∑ ⎟

⎟⎠

⎞⎜⎜⎝

−=

all for ))()(/(

))()(/(

))()(())()((

2

secsecsecsec

2/1

2

2secsec

secsec

µµσµµσ

µµ

µµσσ (3)

where σ i is the standard deviation of alternative i, ‘best’ is the alternative with the best mean performance measure, and ‘second’ is the alternative with the second-best mean performance measure. Through this procedure, additional replications are allocated to the higher ranked, and therefore potentially critical, alternatives, with which simulation runs are performed. Finally, it is repeated until the

Proceedings of the 8th WSEAS Int. Conference on Automatic Control, Modeling and Simulation, Prague, Czech Republic, March 12-14, 2006 (pp152-157)

Page 4: Development and Evaluation of Parallel and Distributed ...wseas.us/e-library/conferences/2006prague/papers/514-119.pdfto the stochastic nature of discrete event simulation, the total

probability of correct selection attains some desired level. 4.2 Dynamic Computing Budget Allocation In parallel and distributed simulation execution, the simulation efficiency is also affected by the differences in computational power –hence, simulation execution time– among the simulation servers. In extending the basic concept of OCBA, DCBA explores these differences so as to achieve a uniform simulation execution time. In particular, once the number of additional replications is determined through OCBA, DCBA allocates the larger number of replications to those simulation servers with higher computational capabilities. Note that simulation execution time is used as the computing capability measure of each simulation server. In the proposed framework, each simulation server returns the simulation execution time as one of the response messages to the simulation coordinator. As shown in Equation (4), the number of simulation replications performed per unit time is used as a surrogate measure of each simulation server’s computing capability. The product of the ratio and the total number of additional replications yields the total number of replications allocated to simulation server i at the next iteration. More specifically,

Nfstfsn

fstfsn

Dni

i

i

ii ×⎟⎟

⎞⎜⎜⎝

⎛×⎟⎟

⎞⎜⎜⎝

⎛= ∑1

(4)

where fsni is the current total number of replications executed by simulation server i, fsti is the current simulation execution time of simulation server i, N is the total number of additional replications to be executed at the next iteration, and Dni is the number of additional replications allocated to simulation server i on the next OCBA iteration. 5 Implementation of Proposed PADS This section describes the simulation model and the implementation of its major components in the proposed simulation experiment: (1) the simulation server, and (2) the simulation coordinator. Three simulation servers are included in this prototype; two servers have a 600 MHz CPU and 512 SDRAM, and the third server has an 833 MHz CPU and 512 SDRAM. 5.1 Simulation Model

A shop floor with multi-pass scheduling scenario is used as the simulation model to illustrate the parallel and distributed simulation for web-services-based ranking and selection. The assumptions, parameter settings, and alternatives are as follows: • Assumptions 1) The performance criterion is the average flow time in shop floor. 2) The number of different part types: 5. 3) The setup time of each machine, the routing path and mean processing times at each machine, and the mean transportation time between any pair of machines are pre-defined as a constant. 4) Machine breakdowns are not considered. 5) The simulation is run until 100 events requiring decision-making occur. • Parameter settings 1) The number of each machine type: 1 ~ 5. 2) The variances of the processing times are 0.05, 0.1, 0.15... × processing time. 3) The variances of the transportation times are 0.05, 0.1, 0.15... × transportation time. • Alternatives: 12 alternatives 1) Three dispatching strategies: EDD, FIFO, and STT. 2) Four part releasing strategies: SPT, EDD, FIFO, and STT. 5.2 Simulation Server Implementing simulation server as a web service server, the WSDL of the simulation server is defined as shown in Fig. 2 with UML notation [4]. The inputs from the simulation coordinator to the simulation server defined as ‘recordRequest’ include the index for the alternative to be simulated, parameter settings (the number of each machine type, the variance of processing and transportation times), and the number of replications. The outputs in the opposite direction defined as ‘recordResponse’ include the mean and the variance of the performance measure for each alternative and the simulation execution time of each server.

<<wsdl:definitions>> simulator

targetNamespace= http://simulator.webservice

<<wsdl:operation>> record

<<wsdl:portType>> RecordIf

<<wsdl:message>> recordRequest

<<wsdl:message>> recordResponse

<<Input>> <<Output>>

<<wsdl:binding>> simulatorSoapBinding

<<wsdl:service>> RecordIfService

<<wsdl:port>> simulator

location= http://xxx.xxx.xxx.xxx:8080/ axis/services/simulator

Fig. 2 WSDL with UML notation.

Proceedings of the 8th WSEAS Int. Conference on Automatic Control, Modeling and Simulation, Prague, Czech Republic, March 12-14, 2006 (pp152-157)

Page 5: Development and Evaluation of Parallel and Distributed ...wseas.us/e-library/conferences/2006prague/papers/514-119.pdfto the stochastic nature of discrete event simulation, the total

The typical development tools for web services are Java-axis and .Net framework. Since one of the objectives of this paper is to demonstrate interoperability, we have deployed both frameworks: • Java-axis applied to the two simulation servers. 1) Environment: J2sdk1.4.7, Tomcat4.1, and Axis1.2. 2) Language: Java. 3) The type of core simulation engine: stand-alone application. • .Net framework applied to the one simulation

server. 1) Environment: .Net framework1.1. 2) Language: VB ASP.Net. 3) The type of core simulation engine: Com object. 5.3 Simulation Coordinator The simulation coordinator was implemented through Java Server Page (JSP). Since each simulation must be performed asynchronously, the AsyncCall method supported by the “org.apache.axis.client.async” package is used to asynchronously call the Java–axis based web services: Service service1 = new Service(); Call call1 = (Call)service1.createCall(); call1.setTargetEndpointAddress(new URL(address)); call1.setOperationName(new QName("http://soapinterop.org/", "record")); AsyncCall ac1 = new AsyncCall(call1); IAsyncResult result1 = ac1.invoke(new Object[]{rule[l], m11, m22, m33, pv1, tv1, num[l]}); In .Net based web services, there is no direct method for asynchronously calling JSP. A Java proxy class generator is adopted to create a Java proxy class based on the WSDL specifications of any target web service. The generated Java proxy class supports both asynchronous and synchronous communication methods for calling .NET web services and implements a callback mechanism to support asynchronous communications [6]. Service1Proxy sp = new Service1Proxy(address); IWebServiceCallback callback = new simulcallback(); sp.simulAsync(ruled[m+4], m11d, m22d, m33d, pv1d, tv1d, numd[m+4],callback); result21[] = (float[])callback.getresponse(); After receiving the results of each simulation server, the simulation coordinator performs the ranking and selection procedure and determines whether more simulation is needed.

6 Experiment Result To demonstrate the statistical efficiency of simulation optimization, experiments are conducted to compare the simulation execution times to reach a given probability of correct selection under various combinations of methods. Fig. 3 depicts the run time performance of each combination. This result illustrates the synergy among the proposed methods.

EA & 1serverOCBA & 1serverEA & 3serversOCBA & 3serversOCBA & DCBA & 3servers

0.75 0.8 0.9 0.95 0.85

Run time (second)

100

200

300

400

500

Correct selection

Fig. 3 Run time comparison under various combinations of methods.

6.1 ANOVA test for the Algorithm To assess the significance of the difference between EA and OCBA, an analysis of variance (ANOVA) was performed. The following hypothesis was tested at a significance level of 0.05: H0: Total number of replicationwith no algorithm = Total number of replicationwith OCBA The ANOVA in Table 1 demonstrates that the total number of replications in OCBA is significantly fewer than that of EA when the given probability of correct selection is higher than 0.80. Table 1. Average number of replications to reach a given P{CS} and ANOVA

CS Server Samples Algorithm Average replication F P

30 EA 6432 1 30 OCBA 6152 0.310 0.579

30 EA 6624 0.75 3 30 OCBA 6114 1.075 0.304

30 EA 7584 1 30 OCBA 6586 3.586 0.063

30 EA 7152 0.80 3 30 OCBA 6487 3.091 0.084

30 EA 7872 1 30 OCBA 7018 4.195 0.045

30 EA 7824 0.85 3 30 OCBA 6872 5.229 0.026

30 EA 9984 1 30 OCBA 8851 5.862 0.019

30 EA 10032 0.90 3 30 OCBA 8873 4.595 0.036

30 EA 12432 1 30 OCBA 10322 4.696 0.034

30 EA 12321 0.95 3 30 OCBA 10171 6.487 0.014

Proceedings of the 8th WSEAS Int. Conference on Automatic Control, Modeling and Simulation, Prague, Czech Republic, March 12-14, 2006 (pp152-157)

Page 6: Development and Evaluation of Parallel and Distributed ...wseas.us/e-library/conferences/2006prague/papers/514-119.pdfto the stochastic nature of discrete event simulation, the total

6.2 ANOVA test for simulation servers To determine the significance of the observed differences, an analysis of variance (ANOVA) was performed. The following hypothesis was tested at a significance level of 0.05: H0: Total simulation timewith one simulation server = Total simulation timewith three simulation servers The ANOVA in Table 2 demonstrates that the simulation time of three simulation servers is indeed significantly faster than that of one simulation server. Table 2. Average simulation time to reach a given P{CS} and the ANOVA. CS Algorithm Samples Server Average

time F P

30 1 222.35 EA 30 3 130.84 29.12 1.2E-06

30 1 217.97 0.75 OCBA 30 3 125.84 33.72 2.6E-07

30 1 264.65 EA 30 3 146.26 35.69 1.4E-07

30 1 236.90 0.80 OCBA 30 3 138.30 79.21 1.9E-12

30 1 283.33 EA 30 3 163.23 85.08 5.7E-13

30 1 252.50 0.85 OCBA 30 3 147.53 81.01 1.3E-12

30 1 366.60 EA 30 3 205.37 99.96 3.1E-14

30 1 329.43 0.90 OCBA 30 3 187.37 82.92 8.8E-13

30 1 486.90 EA 30 3 251.07 38.45 6.4E-08

30 1 390.57 0.95 OCBA 30 3 21 66.81 3.1E-11

6.3 ANOVA test for the DCBA effect To demonstrate the DCBA effect, an analysis of variance (ANOVA) was performed. The following hypothesis was tested at a significance level of 0.05: H0: The performed replication ratiowith OCBA = The performed replication ratiowith OCBA and DCBA The ANOVA in Table 3 demonstrates that the application of DCBA has a significant impact on the efficiency of simulation execution. Table 3. Average number of replications performed per second and ANOVA CS Algorithm Samples The performed

replication per sec. F P

OCBA 30 47.287 0.75 DCBA 30 50.936 29.3 1.2E-06

OCBA 30 47.037 0.80 DCBA 30 49.991 14.3 3.7E-04

OCBA 30 46.776 0.85 DCBA 30 50.905 73.8 6.4E-12

OCBA 30 47.658 0.90 DCBA 30 51.228 33.1 3.4E-07

OCBA 30 47.658 0.95 DCBA 30 51.439 25.3 5.0E-06

7 Conclusion The framework of parallel and distributed simulation using web services technology was introduced for the statistical efficiency of simulation optimization and the interoperability among simulation servers. From the perspective of statistical efficiency, OCBA is adopted to reduce the total number of replications required to select the best system for a desired level of confidence; moreover, DCBA is deployed to exploit the computational capability of the utilized hardware. From the interoperability perspective, our prototype with .Net and Java-based web services technology shows that interoperable parallel and distributed simulation servers can be developed under the heterogeneous networks systems. References: [1] Chandrasekaran, S., G.. Silver, J. A. Miller, J.

Cardoso, and A. P. Sheth, Web service technologies and their synergy with simulation, Proceedings of the 2002 Winter Simulation Conference, 2002,.

[2] Chen, C. H., E. Yűcesan, J. Lin, and K. Donohue, Optimal computing budget allocation for monte-carlo simulation with application to product design, Simulation Modeling Practice and Theory, Vol.11, 2003, pp.57-74.

[3] Chen, C. H., A lower bound for the correct subset-selection probability and its application to discrete-event system simulations, IEEE Transactions on Automatic Control, Vol.41, No.8, 1996, pp.1227-1231.

[4] Parikh, A. and R. Pradhan, Model WSDL with UML, article, Fawcette Technical Publications, 2003.

[5] Swisher, J. R., S. H. Jacobson, and E. Yűcesan, Discrete-event simulation optimization using ranking, selection, and multiple comparison procedures: a survey, ACM Transactions on Modeling and Computer Simulation, Vol.13, No.2, 2003, pp.134-154.

[6] Verma, M., Platform interoperability: Sun ONE and Microsoft .NET, achieving asynchronous communications, Technical Article, Second Foundation Inc, 2003.

[7] Yücesan, E., Y. C. Luo, C. H. Chen, and I. S. Lee, Distributed web-based simulation experiments for optimization, Simulation Practice and Theory, Vol.9, 2001, pp.73-90.

Proceedings of the 8th WSEAS Int. Conference on Automatic Control, Modeling and Simulation, Prague, Czech Republic, March 12-14, 2006 (pp152-157)