Process Schedule Log for Steven Robbins generated Mon Mar 01 17:29:25 CST 1999

Process Scheduling Simulator Beta 0.994L058 by S. Robbins supported by NSF grants DUE-9750953 and DUE-9752165.
See /nsf for simulator information.
Java version 1.1.6 OS Solaris version 2.x 17030385712

SFJA will do a good job approximating SJF if the CPU burst times of each process are close to each other. Since the initial guess that SJFA uses is not related to the actual burst time, SJFA also requires at least a moderate number of CPU bursts.

SFJA will not do a good job if the number of CPU bursts for each process is small or the bursts for each process jump around.


Group Information for 3 Groups
Name Commentary Duration CPU Burst I/O Burst Priority
part3b_group_1 Group 1 from run part3b constant 1000.00 constant 100.00 constant 800.00 1.00
part3b_group_2 Group 2 from run part3b constant 100.00 constant 10.00 constant 80.00 1.00
part3c_group_1 Group 1 from run part3c constant 1000.00 exponential 100.00 constant 100.00 1.00


Creator Information for 2 Creators
Name Commentary Seed Group Processes First Arrival Interarrival
part3b_creator Creator from run part3b 654321 part3b_group_1 10 0.0 constant 0.00
part3b_group_2 10 0.0 constant 0.00
part3c_creator Creator from run part3c 654321 part3c_group_1 10 0.0 constant 0.00


Experimental Run Information for 2 Runs
Name Commentary Creator Algorithm Key
part3b Two types of processes part3b_creator FCFS
part3c Exponentially distributed CPU bursts part3c_creator FCFS
Experimental Runs For 2 Experiments
Experiment Commentary Run Modifications
part3b Two runs with different algorithms part3b_1 key First-Come, First-Served
part3b_2 algorithm SJF
key Shortest Job First
part3b_3 algorithm SJFA 0.5
key Shortest Job First Approximation
part3c Two runs with different algorithms part3c_4 key First-Come, First-Served
part3c_5 algorithm SJF
key Shortest Job First
part3c_6 algorithm SJFA 0.5
key Shortest Job First Approximation

Starting experiment of 3 runs from part3b


Mon Mar 01 17:29:26 CST 1999

Starting run from part3b_1

Experimental Run Information
Name Commentary Creator Algorithm Key
part3b_1 Two types of processes part3b_creator FCFS
Starting to run events using FCFS
601 events done in 297 milliseconds

Mon Mar 01 17:29:27 CST 1999

Starting run from part3b_2

Experimental Run Information
Name Commentary Creator Algorithm Key
part3b_2 Two types of processes part3b_creator SJF
Starting to run events using SJF
601 events done in 306 milliseconds

Mon Mar 01 17:29:27 CST 1999

Starting run from part3b_3

Experimental Run Information
Name Commentary Creator Algorithm Key
part3b_3 Two types of processes part3b_creator SJFA 0.5
Starting to run events using SJFA .50
601 events done in 325 milliseconds



Mon Mar 01 17:29:30 CST 1999

Description Algorithm Time Processes Finished CPU Utilization Throughput Turnaround Time Waiting Time
part3b_1 FCFS 11000.00 20 20 1.00000 .001818 7992.50 3482.50
part3b_2 SJF 11000.00 20 20 1.00000 .001818 5802.50 1292.50
part3b_3 SJFA .50 11000.00 20 20 1.00000 .001818 6252.50 1742.50


Turnaround Time Waiting Time
Description Algorithm Average Minimum Maximum SD Average Minimum Maximum SD
part3b_1 FCFS 7992.50 5210.00 11000.00 2566.16 3482.50 1900.00 4680.00 57.60
part3b_2 SJF 5802.50 1010.00 11000.00 4751.89 1292.50 190.00 2800.00 53.85
part3b_3 SJFA .50 6252.50 1910.00 11000.00 4302.34 1742.50 1090.00 2800.00 32.04


Mon Mar 01 17:29:34 CST 1999

Waiting Time

Bins: 10 Min: 0.00 Max: 5000.00
Mon Mar 01 17:29:44 CST 1999

Gantt Chart for First-Come, First-Served
Mon Mar 01 17:30:05 CST 1999

Gantt Chart for Shortest Job First
Mon Mar 01 17:30:19 CST 1999

Gantt Chart for Shortest Job First Approximation

In the first experiment there are two sets of processes. One set comes in first and has long constant CPU bursts while the other has short CPU bursts. This makes SJF perform better than FCFS. Because the CPU bursts for each process all have the same length, SJFA does a good job of approximating SJF except for the first burst of each process. This can be realily seen by comparing the last tow Gantt charts. In the Gantt chart for SJFA, the short processes wait for the long ones until they have completed their first CPU burst. Then the algorithm predicts short bursts for these processes and they do little waiting after that.


Starting experiment of 3 runs from part3c


Mon Mar 01 17:30:27 CST 1999

Starting run from part3c_4

Experimental Run Information
Name Commentary Creator Algorithm Key
part3c_4 Exponentially distributed CPU bursts part3c_creator FCFS
Starting to run events using FCFS
295 events done in 126 milliseconds

Mon Mar 01 17:30:27 CST 1999

Starting run from part3c_5

Experimental Run Information
Name Commentary Creator Algorithm Key
part3c_5 Exponentially distributed CPU bursts part3c_creator SJF
Starting to run events using SJF
295 events done in 136 milliseconds

Mon Mar 01 17:30:28 CST 1999

Starting run from part3c_6

Experimental Run Information
Name Commentary Creator Algorithm Key
part3c_6 Exponentially distributed CPU bursts part3c_creator SJFA 0.5
Starting to run events using SJFA .50
295 events done in 143 milliseconds



Mon Mar 01 17:30:47 CST 1999

Description Algorithm Time Processes Finished CPU Utilization Throughput Turnaround Time Waiting Time
part3c_4 FCFS 10100.00 10 10 .99010 .000990 8344.02 6464.02
part3c_5 SJF 10000.00 10 10 1.00000 .001000 7003.79 5123.79
part3c_6 SJFA .50 10200.00 10 10 .98039 .000980 8379.72 6499.72


Turnaround Time Waiting Time
Description Algorithm Average Minimum Maximum SD Average Minimum Maximum SD
part3c_4 FCFS 8344.02 3915.60 10100.00 1831.46 6464.02 2615.60 7900.00 156.25
part3c_5 SJF 7003.79 3829.37 10000.00 2310.14 5123.79 1729.37 8673.77 249.06
part3c_6 SJFA .50 8379.72 6167.32 10200.00 1383.53 6499.72 4067.32 8356.32 157.45


Mon Mar 01 17:30:52 CST 1999

Waiting Time

Bins: 10 Min: 0.00 Max: 9000.00
Mon Mar 01 17:31:18 CST 1999

Gantt Chart for First-Come, First-Served
Mon Mar 01 17:31:51 CST 1999

Gantt Chart for Shortest Job First
Mon Mar 01 17:32:17 CST 1999

Gantt Chart for Shortest Job First Approximation

In the second experiment the CPU burst times are exponentially distrbuted and SJFA cannot correctly predict the next burst times. It does about as well as FCFS since each take processes in an order which is independent of the CPU burst times. SJF does a bit better.


Process Schedule Log for Steven Robbins completed Mon Mar 01 17:32:25 CST 1999