Mesquite Software

Home
Products and FAQ
Customers
To Order
Contact Us
Site Map
Documentation
News & Events

Purchase & Download
Or, log in here to
access your account.
 
  Products and FAQ

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
Allen Bradley, Inc.
Mayfield Heights, OH

Allen-Bradley
     

Hewlett-Packard

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
Hewlett Packard Co.
Fort Collins, CO

     

I have used CSIM many times in the past. The uses included:

  1. Modeling of a satellite communications system in which there are many low utilization terminals. The terminals had minimal control and the protocol was a variation of the slotted aloha system. I was able to develop and use this model in less than two weeks of work (which might have been months for some folks). I benefited from CSIM's flexibility and, if I may say so, my considerable experience in modeling communications systems.
  2. I used CSIM to model a priority based network communications system. The model was simple, but it was used to explain the results we were measuring from the real system which we could not understand. The model eventually allowed to us to fully understand what was happening. Our approach - "build first, model second" - was the reverse of the normal approach, which is "model first, build second". The above projects were a while back, during the late eighties and early nineties.
  3. Today I am involved in a major task, to do simulation of the Army's mobile soldiers combat radio network. Something called the 188-220x protocols are used for channel access in these networks. I am building a comprehensive simulation of such networks and will use the model to study impact of various database synchronization techniques which must communicate over such (rather unreliable) networks.

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
King of Prussia, PA

 
     
Performance Engineering Services

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
Performance Engineering Services
Santa Fe, NM

     

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
Department of Computer Sciences
University of California Berkeley

UC Berkeley
 
Home | Products/FAQ | Customers | To Order | Contact Us | Site Map | Documentation
© copyright 2005, Mesquite Software, all rights reserved.