[Disksim-users] Disksim as Slave - Some Questions

Peter Macko pmacko at eecs.harvard.edu
Fri Jan 6 13:43:40 EST 2012


Hi,

Just a few quick answers to help you get started:

1)
   a) You can specify multiple disks in a .parv file without using 
disksim_iomap, and devno would be then used to distinguish between the 
different disks.
   b) blkno is the sector number. The default size of a sector is 512 bytes.
   c) bytecount is the number of bytes. It needs to be divisible by the 
sector size (usually 512 bytes).

I am not sure about 2) or 3), but here is what I think:

2) To the best of my knowledge, there is not much support for this. The 
SSD module simulates the wearing out of flash. I didn't yet find 
anything else that would simulate a failure.

3) I think you should be able to do this...

I hope this helps.

Best,
-Peter


On 01/05/2012 03:48 PM, Ricardo Rey wrote:
> Hi, all!
>
> Thanks to Peter Macko's answer from my previous question I know where 
> to start to use Disksim as a slave from another code, and I have already
> gone through syssim_driver.c many times, so I think I already have 
> somewhat of a picture of how it works.
>
> However, I still have some questions about some situations which are 
> not considered in syssim_driver.c, or which I at least have not yet 
> understood:
>
> 1) I don't fully understand the disksim_request structure, so some of 
> its fields raise some questions:
>
>     a) Device number (devno). Is this used as a reference of which 
> disk receives the request, in case there is more than one disk? If 
> so... which device number
>         makes reference to which disk?  In the .parv files in ./valid, 
> the only one that I've found that has more than one disk instantiated 
> is ascii.parv (18 disks), and the
>         mapping is done using disksim_iomap {}... but I cannot match 
> the tracedev and simdev parameters to the device number.
>     b) Block number: I have no idea what this is. In the example they 
> use the third input parameter (argv[3]) and a random number to 
> generate "r.blkno"... but I don't know what
>         it is used for
>     c) Request size (bytecount): this is pretty self expanatory. My 
> issue is this: what is the "unit" of this parameter? Is it in bytes? 
> In sectors?  According to what I've read it must be
>         in bytes, because there is a line where this value is divided 
> by 512 (which is the sector size), thus resulting in a one-sector 
> size... if this value is less than 512, there is an assert
>         that fails (bcount > 0  turns out to be false). Can someone 
> tell me, then, what is the unit of this field?
>
> 2) Part of this project requires the simulation of errors (say, a disk 
> failure, a bus failure, etc)... does Disksim provide this kind of 
> simulation? (The probability of failure of a disk given
>     some information about it, like how old it is, the type and brand, 
> etc).
>
> 3) My question about the device number brings me to another issue: if 
> it is possible to send requests to different disks, is it possible to 
> process each request at the same time?
>
>
> _______________________________________________
> Disksim-users mailing list
> Disksim-users at ece.cmu.edu
> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/disksim-users/attachments/20120106/6421bc2e/attachment.html>


More information about the Disksim-users mailing list