
Testimonials from CSIM Users
|
CSIM is an ideal simulation tool for our needs. Because CSIM is a C/C++ library as opposed to a dedicated simulation language, I can develop my models in C++ and simply use CSIM to define the parallel and/or discrete event activities. I have written many models using CSIM and typically only about 15-20 percent of the code is discrete event "simulation" related, the remaining code is either support for the model or the definition of the "business rules." We have used CSIM to create behavioral models of custom ASIC's, communication networks, and computer plug-in boards. Some of these models were interfaced to external software and hardware modules. This flexibility would be very difficult to achieve in the other simulation languages or packages that I am familiar with. Ed Korsberg |
![]() |
||
|
One project inside HP has used CSIM to model the performance of a complex PCI host bridge, interfacing multiple Fibre Channel mass storage PCI cards. The models of the Fibre Channel cards are fairly detailed, covering internal chip buffers, state machines, link resources, chip overheads, and the exact sequence of PCI transactions associated with each disk I/O. The model of the PCI host bridge is extremely detailed, covering many internal chip operations at the internal clock cycle level. The model measures the throughput of various buses and links, and supports the optional logging of processor memory bus transactions, PCI bus transactions, and PCI cycle-by-cycle traces. CSIM's automatic statistics gathering mechanisms measure the utilization of various busses, state machines, and links. The model uses CSIM's explicit statistics gathering mechanisms to measure detailed working depth information on various internal chip queues and similar statistics for outstanding transactions on the processor memory bus. Under work loads consisting of many hundreds of concurrent disk I/Os, enough to saturate a PCI-2X bus, simulation time advances at roughly one 2000th that of wall clock time. This relatively fast model execution speed enables the detailed sensitivity analysis of various throughputs and resource utilizations as a function of various model parameters, taken over many data points. Thus, families of performance curves can be derived from the model, as opposed to a few discrete points. Joe Cowan |
|||
|
I have used CSIM many times in the past. The uses included:
I find CSIM natural and easy to use. I find the improvements over the years to be all good, including the confidence interval stuff. I find that I can pretty much simulate anything in CSIM. Gautam Thaker |
|||
|
We use CSIM in our product, SPE-ED. SPE-ED is used to model the operational aspects of software. Our customers use SPE-Ed to evaluate software designs before they build the software - they want to "build it right once." Most of our customers are in the telecommunications industry. The software they are developing is used to help manage the business aspects of their companies; these companies are experiencing rapid growth. They are using SPE-ED to help design and implement software that will be meet the requirements imposed by this growth. The CSIM models are critical to evaluating these designs. At Performance Engineering, we could have developed our own simulation engine "from scratch". However, our response to this suggestion is always, "Why bother? CSIM is lean and mean: it uses the least amount of memory and gives the fastest execution." In addition, we find that CSIM is "well suited to modeling software." One SPE-ED customer is a developer of an airline reservation system. They have to convert from legacy software, in which performance is a major issue. A new SPE-ED customer is a contract software developer. They feel that it is important to analyze performance issues for future systems. Connie Smith |
|||
|
Professor Franklin is leading a research project involving high-performance database management systems. He sent the following comments: We have built two models with CSIM. The main one is a model of a distributed database system. It has been used in probably half a dozen different studies and has been extended to interface with a query optimizer and to process information retrieval workloads (in addition to the usual database workloads). The second model is a much simpler one, that has been used in our data broadcast project; about five or six studies have used this model. CSIM is the best thing we can use - the models we build are at just the right level of abstraction: low enough to be flexible but high enough to create building blocks which are easily used to build useful models. The ability to interface real code with the simulator is an extremely useful feature. Often, portions of the simulator and the real system share the same code. This mean that the work put into the simulator is not lost when we move to the real system. We find that student researchers, who typically already know C++, readily pickup CSIM. We have done a tremendous number of studies - studies that we could have never done if we had had to build these models from scratch. Our research depends on close interactions between the simulation model and the real system; we routinely validate and improve the simulator as we build the real system. Michael Franklin |
|
||



