21.01.2014 Views

A simulation model to implement multiple client class server-client ...

A simulation model to implement multiple client class server-client ...

A simulation model to implement multiple client class server-client ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>class</strong>. This is a complex policy, which will cause jittery behavior in system measurements,<br />

inconsistent states in transaction and additional overhead on the shared resource<br />

system during the <strong>implement</strong>ation at runtime [2, 3]. In contrast, in the non-preemptive<br />

setting, the resource is taken away once the request being processed is completed. The<br />

non-preemptive setting is a desirable configuration for shared resource environments [2].<br />

Thus, we have <strong>implement</strong>ed this non-preemptive setting in the scheduler process of the<br />

<strong>simulation</strong> <strong>model</strong>. However, the inaccuracy in decision <strong>implement</strong>ation can be reduced by<br />

selecting the processing times comparatively smaller than the sample period. For instance,<br />

if the service time varies in ticks range, sample period can be selected in major ticks. This<br />

means the decision made will be <strong>implement</strong>ed before the next decision made. In addition,<br />

a large amount of requests will be processed during a sample time so that the error due <strong>to</strong><br />

incomplete requests during a sample period becomes insignificant.<br />

2. End-<strong>to</strong>-end response time is not a consideration.<br />

3. Time taken <strong>to</strong> reschedule the resource is assumed <strong>to</strong> be zero.<br />

4. Overhead from the scheduler and the statistic calcula<strong>to</strong>r is zero.<br />

From the various <strong>simulation</strong>s designed and executed from this <strong>implement</strong>ation indicated that<br />

it can simulate consistent behavior under same settings and N number of <strong>client</strong>s. It also provides<br />

accurate measurements of the system outputs, correct <strong>implement</strong>ations of resource allocation<br />

decisions and fast executions. The process-oriented design approach taken in this <strong>implement</strong>ation<br />

provides modularity by delegating responsibilities among entities and extendibility. Therefore,<br />

this DES <strong>simulation</strong> <strong>model</strong> achieves many of the requirements mentioned in Section 2. What<br />

is left is verify and validate this DES <strong>model</strong> is capable <strong>to</strong> simulate the complex behavior of a<br />

multi-<strong>client</strong> <strong>class</strong> system.<br />

4. Validation of the DES <strong>model</strong><br />

After building a <strong>simulation</strong>, the next major step is <strong>to</strong> verify and validate the <strong>implement</strong>ation.<br />

In this section we provide three forms of validations using queuing theory. It is noteworthy<br />

that <strong>to</strong> apply queuing theory, certain assumptions on the system structure, arrival workloads<br />

and processing time statistical distributions should hold. In the following sections, the required<br />

<strong>simulation</strong> systems are constructed using the DES <strong>model</strong> proposed in Section 3, adhering <strong>to</strong> the<br />

assumptions.<br />

4.1. Conformant <strong>to</strong> Little’s law<br />

One of the fundamental results of queuing theory was developed by John Little in 1960’s,<br />

which is used as a basic building box in the development of theories of large scale queuing<br />

systems. Little’s law is defined as follows:<br />

For a queuing system in steady state, if the mean time waiting in the system is W = E(T),<br />

and the mean number of cus<strong>to</strong>mers entering the system is λ, then the mean number of cus<strong>to</strong>mers<br />

in the system is given by E(L) = W × λ. This result applies <strong>to</strong> any queuing system and even <strong>to</strong><br />

systems within a system. However, system has <strong>to</strong> be in steady state, meaning that the arrival rate<br />

should be less than the service rate of the system. Therefore, the <strong>simulation</strong> <strong>model</strong> presented in<br />

this chapter can be validated using Little’s law.<br />

In order <strong>to</strong> do the validation, we constructed a queuing <strong>simulation</strong> using the constructs introduced<br />

in Section 3. We used two <strong>client</strong> <strong>class</strong> workload genera<strong>to</strong>rs and queues with 5 resource<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!