Successfully Modeling and Simulating Systems, Part 1 Page 5
So Why Doesn't Everyone Model Their Systems?
I get asked this question all of the time. If modeling is such a good thing, why doesn't everyone develop models of their systems. The biggest issue is that modeling is a very expensive process. To create a model, you likely need to have a staff of people that understand modeling, the hardware, the software, and how to calibrate models. Having these types of people on staff is expensive, and unless you are constantly developing and implementing new architectures of great complexity, having this staff in-house is just not done very often today.
Using modeling for most system tuning is not done for similar reasons, as management and the accounting department feel (and often rightfully so) that buying hardware is cheaper than modeling systems. I have been involved in modeling projects that ran into the multiple-person-year effort, costing over $750K. If the system only costs a few million, you will have a hard time convincing management that modeling is worth the cost and effort. On the other hand, if the system has a defined level of service and is very complex, modeling might be the only way to ensure that the requirements are met. Additionally, if the system cost is $10 million or greater, it is a perfect candidate for modeling, and in every case I am aware of, the modeling effort has more than paid for the system cost in:
- Reduced hardware costs - Both initially, as you only buy the hardware you need, and over the life time, as now you have a capacity planning tool that matches your system
- Improved response time - A good model will predict the performance of the system and allow you to meet current, future, and unexpected requirements
- Upgrades - Will the CPU, memory, and/or storage upgrade be worth the cost and still meet the requirements (this will require a model update)
- Tuning resources - I have yet to come across a large system that hasn't required some level of tuning effort. By first modeling the system, the tuning process is dramatically reduced, resulting in cost savings (or cost avoidance in "management speak")
Next month we will cover the details of the modeling process, including an introduction to some of the software packages and the process of creating a model. We'll also look at the different skill sets needed for successful modeling, including the ability to understand how to calibrate models and how to collect the data to produce models. See you next month.