
Bart Sinclair, Associate Dean of Engineering
Office - DH 1008 (Dean's Office, School of Engineering)
Phone - 6324
email - bs@rice.edu
Simulation of Computer Systems and Computer Networks: A Process-Oriented Approach by Bart Sinclair
Basic probability and statistics
C or C++ programming skills
Basic computer organization
Evaluating the performance of a computer system usually involves constructing an appropriate model of the system and then using the model to predict the system's behavior. The model incorporates appropriate information about the system structure or organization as well as its workload or input. Sometimes the model is analyzed using mathematical techniques; alternatively (or in addition), the model may be simulated. Analytic models describe the system with a set of equations, and are often stochastic. A simulation model is a computer program whose execution mimics the behavior of the system and from which measurements can be taken to generate performance data; simulation models are also often stochastic.
This course teaches the basic concepts in stochastic modeling of systems for analysis and for simulation. Analytic modeling techniques include discrete- and continuous-time Markov chains, queueing theory, and queueing networks, as well as approximate methods based on these techniques. Operational analysis presents a non-stochastic, measurement-based perspective to the analysis of computer systems. We also will emphasize discrete-event simulation, a widely-used technique in many areas of performance evaluation. Performance metrics taken from stochastic simulations are random variables, and are subject to the same types of statistical analysis as data obtained from real systems.
Models, whether analytic or simulation, can be inaccurate or implemented incorrectly. An important aspect of any kind of performance modeling study is to validate the model and its implementation to whatever extent is possible. One way to do this is to study a system using more than one model, e.g., a simulation model and an analytic model. Understanding the possibilities and limitations of this approach to model validation is an important part of what you should take from this course.
Analytic modeling of many systems is computationally demanding. The use of some basic tools in matlab greatly simplifies the evaluation of Markov chains and will be required in several homework assignments. Constructing a simulation model by writing a program can also be simplified, through the use of a library that provides facilities for simulation model specification, data collection, and run-time simulation management. In Elec 428, you will use Yacsim, a C-based simulation library developed at Rice for both educational and research use.
The course will involve eight homework assignments and four simulation projects, plus two exams. The exams will account for 40% of your grade (20% each), the projects for 40%, and the homeworks for 20%. The homeworks will be weighted equally; the projects will not. Specifically, the first project will have half the weight of the remaining projects.
Homeworks and projects are late if they are turned in after 11:59.59 PM of the day on which they are due, unless stated otherwise. Late work loses credit at the rate of 10% per day. That is, if the grade on the homework would have been X had it been submitted on time, the grade you receive will be X*(0.9)^d where d is the integer ceiling of the number of days the work is late. After seven days late, you will receive 0 credit. Turn in your homeworks and project reports to me directly (in class is fine), or put them in the box on the table in the hallway opposite the ECE Department office on the second floor of Abercrombie Lab.
Exams must be turned in on time. The exams are take home, each over a period of several days, so that you can schedule taking them at your own convenience. They will not be accepted late. It is your responsibility to see that I receive your exams on time. Don't send them to me via Rice campus mail, and don't put them in my mailbox. You can turn in your Mid-Term Exam to me in class or bring it to my office; the Final Exam must be turned in at my office.
The text for the course is a working draft of about 255 pages, including a table of contents. The index is provided as a separate document. A separate book title page contains the copyright notice for the manuscript; if you make a copy, electronic or paper, of any part of the manuscript, you must include the title page, including the copyright notice, with that part. Although the draft has been carefully scrutinized for errors and many have been found and corrected, there is no guarantee that it does not contain other errors. As errors are found and reported, they will be posted to Book errata .
Although the text includes many details about Yacsim, it does not try to be exhaustive. The Yacsim Users Manual provides a complete description of all of Yacsim's features and is invaluable as a reference for the course.
If enough students in the class are interested, I will have bound copies of the text and/or the Yacsim manual made and distribute them in class to those students who request this. You'll get them at cost.
Simulation of Computer Systems and Computer Networks: A Process-Oriented Approach
The following links are to other web pages containing class information.
Homework and project assignments
Announcements Watch this space
See the directory "~elec428/public_html/old_exams" for pdf (and in some cases, PostScript) versions of Elec 428 exams and their solutions from previous years. You can also get to them via the link to Exams and solutions.
Read the tips on writing reports for help in how to go about organizing your project reports and what to do and to avoid in technical writing.
The following pdf files are report samples from Spring 2003. Each file contains a student's Project 1 report, plus a rewrite of that report. Both the original and the rewrite have been graded. You may use these reports to see my comments about the report organization and writing quality. The reports also contain results. Please do not use these results except as a check on your own results, similar to what you are allowed to do in comparing your results with those of a classmate.
To use Yacsim, you will need two files:
The file "sim.tar.gz" is a gzip'ed tar file containing ports of Yacsim to various platforms, including Solaris. The file "sim.linux.tar.gz" is a gzip'ed tar file of a port of Yacsim to a linux system. Copy the file to the directory in which you want to install simdir, unzip the file, and extract the simdir from the tar file.
Students with disabilities
Any student with a documented disability needing academic adjustments or accomodations is requested to speak with me during the first two weeks of class. All discussions will remain confidential. Students with disabilities will also need to contact Disability Support Services in the Ley Student Center.