Successfully Modeling and Simulating Systems, Part 1 Page 3
I am aware of two types of modeling conducted today for computer systems:
- Modeling a current system to plan for the future and/or try out "what if" scenarios
- Modeling a system that has not yet been built to determine if the proposed architecture will meet the expected requirements
Modeling Current Systems
Not long ago, we were asked to model the batch queuing system at a site. The site was running many jobs through a multiple-hundred-processor system, with some of the jobs requiring 256 processors. In addition, the customer had many queues to meet the customer's demands and different scheduling algorithms for day and night. The customer had a number of goals for this modeling effort, including:
- Determine the optimal queue configuration to meet workload scheduling goals and objectives
- Determine the best scheduling algorithm for day and night based on workload goals and objectives
- Understand the job arrival rates over long and short periods of time
- "What if" planning for changing:
- The computer system
- Job workloads (number of processors requested)
- Workload schedule goals and objectives
A model was developed based on the job queuing system, the queue structure, the queuing system scheduling algorithm, the job resource requirements, and the job arrival and departure information. All of this was parameterized using a discrete event simulation tool.
After some training, the customer was able to operate the model to fully understand the implications of the resource requirements, the scheduling, the workload, and queuing system. They used this information to tune the scheduler to improve both system utilization and response time.