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 ...
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