[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