
Mesquite Software Newsletter
Volume 5 - Fall 2006
Newsletter Contents
Introduction
CSIM New Year's Special
CSIM User Story: An Experiment with Integrated and Differentiated Network Services: Queue Scheduling and Simulation with CSIM for Java
Free Evaluation CDs of CSIM for Java and CSIM 19
Technical Note: Where Do You Start on a Modeling Project?
We Want Your Feedback!
Check Out CSIM for Java
With the changing of the seasons, the holidays have descended with alacrity for many of us! Time once again to shop for the perfect gift, load up on rich holiday fare, and try to get some work done in between festivities. Whatever holidays you choose to celebrate, Mesquite Software would like to wish you the best throughout the fall and winter season and into the new year!
The onset of cool weather also means the Winter Simulation Conference is just around the corner - December 3-6. This year, Mesquite Software's founder and father of CSIM, Dr. Herb Schwetman, will be giving a talk at the Monterey, CA conference entitled Using Java Methods Traces to Automatically Characterize and Model J2EE Server Applications. We hope to see you there!
This issue of the Mesquite newsletter offers a New Year Special on CSIM 19 and CSIM for Java. It also features a user application for Network Traffic modeling and a technical note on how to start a modeling project from Dr. Herb Schwetman. Keep reading to learn more!
CSIM for Java and CSIM 19 New Year's Special
In keeping with the spirit of the season, Mesquite Software is offering a year of free extended support (a $120 value) and a free CSIM t-shirt (priceless!) with any CSIM for Java or CSIM 19 purchase between December 1 and January 31! Please contact Mesquite directly to take advantage of this special offer.
CSIM User Story: An Experiment with Integrated and Differentiated Network Services: Queue Scheduling and Simulation with CSIM for Java
By Thomas Hogarty, George Mason University
Introduction
IP-based networks are quickly becoming a preferred medium for services that demand high quality connectivity. These types of services include Voice Over IP (VOIP), streaming or on-demand video, video conferencing, and online gaming. Each of these demanding services has unique priorities, such as the low jitter and low delay needed for VOIP or video conferencing. Streaming and on-demand video requires high bandwidth and can tolerate intermittent delay. Online gaming demands low delay to keep players synchronized or "not lagging."
In order to meet these demands, Internet Service Providers (ISPs) and network backbone carriers need solutions that allow them to guarantee varying levels of service to customers who pay for it. This project is an investigation into the quality of service (QOS) capabilities provided by selected queuing algorithms.
The goal of this simulation was to model the performance of integrated and differentiated services for QOS in a sample network, while varying the average rate of connections, number of concurrent connections, presence or absence of admission control for reserving network bandwidth, and connection types. I used CSIM for Java to simulate the network, with some of these factors varying within a run, and others changing between different runs.
To read this article in its entirety, view the PDF version.
Free Evaluation CDs of CSIM for Java and CSIM 19
Nan Schwetman, President of Mesquite Software, will be handing out free evaluation CDs of CSIM for Java at the Winter Simulation Conference December 3-6. But if we miss you there, no worries! You can request a free evaluation copy online of both CSIM for Java and CSIM 19.
Technical Note - Where Do You Start on a Modeling Project?
by Dr. Herb Schwetman
Many times, the most difficult task in developing a CSIM model of a system is the first step: where to start? The most important issue should be:
- What is the purpose of creating the model? This issue can be recast as: what outputs from the model will be required to answer questions being posed
- What are the processes? and
- What are the resources?
You can characterize many systems as a collection of resources and a set of entities that exhibit the following behavior:
- a task arrives at the system
- this task visits some or all of the resources, receiving service at each one, and
- departs the system as a completed task
Examples of systems that fit this characterization include:
- a factory assembling components
- an online computer system processing requests from users
- a central processing unit (CPU) of a computer processing instructions, and
- a communications network handling calls and/or data streams
There are two basic paradigms for structuring models. In one, the processes represent the entities being processed and resources represent the task processing stations. For example, in the online computer system, you could represent each incoming request by a CSIM process, and implement the resources of the system as facilities, storages and buffers. In some cases, you might find it useful to create a new class (possibly derived from a CSIM facility) to implement a resource with a special type of behavior. Each request process travels to the resources as required.
In an alternative paradigm, you could represent the resources as a combination of facilities, mailboxes and processes, and represent the entities as messages. For example, the nodes of a communications network might include an input mailbox. In operation, a node process accepts messages sent to the input mailbox, uses the base CPU facility and then forwards the message to the next node. You could implement these nodes as a new class derived from the CSIM facility class (representing the CPU at each node). You could also represent the inter-node links as additional facilities. Each message is represented as a message object, which contains routing information plus processing statistics.
You must also decide whether the system is an open system (each arrival is generated and each departure terminates), or a closed system (each departure returns to be processed again). A computer system with a fixed number of online users might be represented as a closed system, while a communications network, with calls being generated according to some arrival process, might be represented as an open system.
Back to the questions about the purpose of the model and the outputs from the model that will be required to fulfill this purpose. Many times, the model will be used to determine the best configuration of a planned system. To do this, you must specify the metric that will be used to evaluate a configuration. In some cases, you'll use the processing rate of the system as this metric; in other cases, the average processing time for a task (the task response time) is the metric of interest. In most cases, answering this question requires you to specify the workload (the stream of arriving tasks) that will be driving the model.
The point here is that until you determine the purpose of the model, the workload, and the metric you'll use to evaluate the system, the model can not be effectively specified.
To summarize: when you start a simulation project, remember the important first questions:
- What is the purpose of the model? and
- What is the right structure of the model?
We Want Your Feedback!
We are currently designing CSIM 20 and would like to be able to incorporate your suggestions. If you have comments on CSIM 19 or CSIM for Java, or suggestions for CSIM 20, do let us know!
If you have a CSIM application you'd like to share with us, we'd love to hear about it. You can contact us directly, or simply fill out our online User Story form.
Check Out CSIM for Java
For more than 20 years, CSIM has been helping C and C++ programmers around the world build fast, efficient discrete-event simulations. As the Java programming language continues to grow in popularity, Mesquite is pleased to offer CSIM for Java, a fully featured simulation toolkit. CSIM for Java allows Java programmers to write and rapidly execute simulation models in their preferred programming environment, on any Java-supported platform.
Visit us online to learn more about CSIM for Java. You will also find a complete set of CSIM for Java documentation online.
Please drop us a note or give us a call if you have ideas, comments, or questions. We look forward to hearing from you!
Warm wishes,

Nan Schwetman, President
Mesquite Software, Inc.
8500 North MOPAC, Suite 825
Austin, TX 78759, USA
Tel: (800) 538-9153 (US) or +1 (512) 338-9153
Fax: +1 (512) 338-4966
E-mail: nhs@mesquite.com
www: www.mesquite.com
This newsletter is sent to our user community and interested parties by Mesquite Software. You may subscribe by visiting: www.mesquite.com/newsletter/signup.html

