diskSim version 0.9 -------------------- 1) These files are distributed under the GNU Public License. 2) You will need csim version 18 or later. Csim is no longer available freely. You can buy it from Mesquite Software (www.mesquite.com). 3) Edit the Makefile to point to the csim include files and the csim library. Make sure that you use the C version of csim (not the C++ version). 4) Type "make all" 5) diskSim should compile under most Unix platforms. I have compiled it under Solaris 2.5, Solaris 2.5 (x86) and AIX 4.1. I used g++ to compile diskSim on these platforms. The Sun C++ compiler also compiles diskSim without any problems. 6) Type "inpgen" to interactively create an input file for diskSim. Type "diskSim -f input" for diskSim to read simulation parameters from the file "input". diskSim can also be started in the interactive mode by simply typing "diskSim" 7) Video clients are simualted using a trace of frame sizes. A trace file is assumed to contain a list of frame size in bytes. See mpeg.trace for an example trace file. 8) If you have comments, please send them to shenoy@cs.utexas.edu 9) Detailed documentation on diskSim available will be made available in the next release. The documentation was not ready in time for the release with version 0.9. ------------------------------------------------------------------- NEW in version 0.9: a) Support for new disk scheduling policies (see http://www.cs.utexas.edu/users/dmcl/papers/ps/SIGMETRICS98.ps for a description of the new polices) b) A number of bug fixes. c) Support for trace driven text workloads in addition to synthetic workloads ------------------------------------------------------------------- Release Notes: Disksim requires the CSIM package. Online documentation for CSIM is available from www.mesquite.com Disksim consists of the following entities: -- a "disk" process (see disk.c) that emulates a disk and the disk scheduling policy. There is one such process for each disk being simulated. -- a "client" process (see client.c) that is the workload generator. Disksim supports text and video clients. Both trace-driven and synthetic workloads are supported. Video client can be either server-push (the common case) or client-pull. All text clients are pull-based. - a "statistics" process (see stats.c) that collects disk-specific and client-specific statistics throughout the simulation. These are printed out in theend. Other files: main.c -- this files takes all the input parameters for the simulation (via ineteractive prompts or as a batch file via the -f option). This file also has the top-level "sim" process that initializes all other simulation entities. layout.c - this code is responsible for laying out text/video files on disks. This is typically done as part of the intialization phase.