When a transaction enters the resource, a service time is specified for the transaction. This is the amount of time needed in a server given that the transaction is the only transaction in the server and the Service Rate Multiplier (SRM) is 1.0. The Service Rate Multiplier is a resource attribute that specifies the relative rate at which the servers process transactions.
A higher SRM causes servers to process transactions faster while a lower value makes a server take a longer amount of time for a transaction to accumulate the same amount of service time. The actual elapsed time in a server (independent of queuing delay) is dependent on the Server Mechanism for the resource. The three possibilities for Server Mechanism and the way service time is computed for each is listed below. Note that the SRM affects all processing times, including time slice, context switching overhead and resume overhead.
With Server Mechanism set to Dedicated_Server there is no sharing of servers. Therefore, the elapsed time in the server for a transaction is:
If the Server Mechanism is set to Processor_Sharing, the elapsed time for each eligible transaction in the server is equal to:
where Transactions is the number of transactions sharing the server(s) and Servers is the number of servers being shared. Each time the number of transactions sharing a server changes, or the number of servers being shared changes, the accumulated service time is computed for each transaction and then the remaining elapsed time is recomputed.
If the Server Mechanism is set to Round_Robin, a server being shared by several transactions processes them one at a time in succession, giving each its slice of service time before moving to the next. The time period allotted to each transaction is dependent on the time slice attribute of the transaction, which may vary from one transaction to another. The accumulated service time for a transaction each time it receives the server is equal to its time slice attribute. The elapsed time for this to occur is:
The Service Rate Multiplier (SRM) can be varied during the course of simulation. The ModifySRM block can be used to set the service rate multiplier for a given dimension of the resource.
The ModifySRM block has two inputs: the new srm and the dimension. When both inputs are enabled, this block executes, checks for valid input values and sets the SRM for the given dimension of the resource to the specified value. If there are no errors, the output port is enabled. This block allows you to set the SRM differently for each dimension of the resource.