DiskSim – Storage System Simulator Michigan-CMU Sriram Govindan sgovinda@cse Flow Very simple process model Application file system (buffer cache) IO-driver bus disk controller disk cache disk array Simulated by DiskSim What is happening? ● Request flow through a series of storage components We are interested in the time the request took in each such component – model each component. ● Write equations for each component that captures its latency ● eg. equation to calculate seek time, given current head position, cylinder to seek etc. (separate equations for barracuda disk and Seagate disk - obtained through micro-benchmarks), eg. constants for other models (bus arbitration). Capture dependency among request. We are also interested in component/ characteristics (impact on each other) ● ● workload/ software Compare performance/fairness of different IO-Driver scheduling algorithms. Vary cache size/stripe units for workload and see its impact etc. What it is Highly accurate and widely used. Open Source, written in “C” - what else v need? :-) Easily attach to a full system simulator. Driven by, ● ● External I/O request trace. Internally generated Synthetic workloads. What it is not ● ● Cannot model interactions with other system components, unless integrated with an accurate full system simulator. CPU Scheduler effects. Other components competing for BUS etc. Work with numbers and not with data, Of course. Ok, now i want to work with DiskSim ? ● Sure.. Go to, http://www.pdl.cmu.edu/DiskSim/ Download DiskSim and Of course install it. ● Older version of GCC ?? Help !!! ● ● download reference manual Join DiskSim Mailing list DiskSim files of interest ● Trace file 2, 8558368, 8192, R, 1533.481433 0, 23567168, 32768, R, 1533.482327 1, 19115920, 8192, R, 1533.974335 ● ● ● websearch_trace 0, 32023120, 24576, R, 1533.974568 2, 25869888, 16384, R, 1533.979951 Disk specs disk_specs Parameter file parameter_file Output file output_file Running DiskSim ● DiskSim3.0 Reference manual – page 7, Section2.