next up previous
Next: RAID Config Up: RAID A WARPED simulation Previous: RAID A WARPED simulation

Introduction

This document describes the RAID-5 Disk Array application model that is distributed with the WARPED project. RAID Disk Arrays are a method that provides a vast array of storage by using a Redundant Array of Inexpensive Disks to provide storage with a higher I/O performance than several large expensive disks. This application incorporates a flexible model of a RAID Disk Array using any one of three possible disk drives. This application can be configured in various sizes of disk arrays to be studied. More precisely, a C program generates code to model various configurations of disk arrays and request generators.

The RAID simulation model models the interactions of several processes with a level 5 RAID Disk Array composed of one of 3 possible disks, namely:

Explanations of these disks and their parameters can be found in the SIGMETRICS '93 and ASPLOS '91 papers by Lee and Katz.

The program provided in the WARPED distribution creates a RAID simulation with the simulation objects distributed uniformly among the LPs. This program creates and partitions an arbitrarily sized simulation of processes, forks, and disks. A configuration file (described below) is used to control the generation of simulation objects and the number of requests issued by the source processes to the disks. After reading the configuration file, each LP will dynamically allocate each object. The number of each type of object allocated on an LP will be an integer division of the the total number and the number of LPs in the simulation. The last LP will contain more objects of that type if the numbers are not evenly divisible. Thus, if 5 source processes are to be simulated on 4 LPs then each LP will have 1 source process and the last LP will have 2 source processes.

The WARPED simulator uses the MPI message protocol. Thus, in order to partition the simulation across several workstations, a file called "procgroup" is used to identify the machines that will be used in the simulation. This file contains the addresses for each workstation, the full path to the executable file for the simulation, and the number of copies that each workstation will startup. An example "procgroup" is given below.

procgroup :

m1.ece.uc.edu 0 /home/username/warped/RAID/RAID_EXEC
m2.ece.uc.edu 1 /home/username/warped/RAID/RAID_EXEC
m3.ece.uc.edu 1 /home/username/warped/RAID/RAID_EXEC
m4.ece.uc.edu 1 /home/username/warped/RAID/RAID_EXEC

In this example a four process simulation is being run on four different workstations: m1, m2, m3, and m4 with each one executing one copy of the executable "RAID_EXEC". The 0 first line of the "procgroup" file specifies that machine m1 is starting the simulation.

NOTE: specifying that multiple copies should be started on a particular machine does not work at this point in time, so all but one of the procgroup entries should have a 1 in the second field.



 
next up previous
Next: RAID Config Up: RAID A WARPED simulation Previous: RAID A WARPED simulation
Philip A. Wilsey
1/26/1998