A multiprogrammed server provides services to N concurrent clients, handling transactions that involve local CPU processing, access to the local disk, and remote queries to a distant web server. Here's how the system operates:
-
Transaction Initiation: Each new transaction begins with an initial processing time.
-
Transaction Execution:
- With a probability ( p_1 ), the transaction ends.
- With a probability ( p_2 ), the transaction requires access to the local disk, followed by additional CPU processing.
- With a probability ( 1 - p_1 - p_2 ), a remote query is needed, followed by additional CPU processing.
-
Reply: Once executed, a reply is sent to the client who initiated the request.
-
User Interaction: Upon receiving a reply, a user immediately issues another request.
Service at the local CPU, local disk, and remote web server is handled one request at a time in a first-in-first-out (FIFO) order. Service times for local processing, local disk access, and remote queries are exponential Identically and Independently Distributed (IID) Random Variables (RVs). These service times vary for each iteration, even for the same transaction.
The system's throughput, defined as the number of completed transactions per unit of time, will be evaluated under varying levels of multiprogramming. At least one scenario will be simulated where the service demands at the three service centers have considerably different means (e.g., one order of magnitude). Scenarios will be calibrated to ensure meaningful results.