[Disksim-users] Requests stripped at I/O driver for RAID-0
Yipkei Kwok
ykwok2 at miners.utep.edu
Sun Feb 26 23:16:49 EST 2012
Hi,
On real hardware, requests are supposed to be stripped in the RAID
controller for a RAID-0 configuration. However, it is not the case in
DiskSim 4.0. When a request arrives the I/O driver, iodriver_request()
calls logorg_maprequest() to divide the request into stripes. Then,
iodriver_request() calls handle_new_request() to schedule each stripe
to the corresponding I/O-driver queue. The number of I/O driver queues
equals the number of disks and each stripe is sent to the queue
corresponding to the disk that is going to service the stripe.
1. Is it a problem with my parameter file? I copied below the
parameters of the I/O driver, controller, topology, and logical
organization below. I am attaching the entire parameter file in this
email but I am not sure if the mailing list server allows attachments.
2. If it is not because of a mistake in my parameter file, is there
any reason when DiskSim is designed this way?
Please help. Thank you.
disksim_iodriver DRIVER0 {
type = 1,
Constant access time = 0.0,
Scheduler = disksim_ioqueue {
Scheduling policy = 1,
Cylinder mapping strategy = 1,
Write initiation delay = 0.0,
Read initiation delay = 0.0,
Sequential stream scheme = 0,
Maximum concat size = 0,
Overlapping request scheme = 0,
Sequential stream diff maximum = 0,
Scheduling timeout scheme = 0,
Timeout time/weight = 30,
Timeout scheduling = 3,
Scheduling priority scheme = 0,
Priority scheduling = 3
}, # end of Scheduler
Use queueing in subsystem = 1
} # end of DRV0 spec
disksim_ctlr CTLR0 {
type = 3,
Scale for delays = 0.0,
Bulk sector transfer time = 0.0,
Maximum queue length = 2147483646,
Print stats = 1,
Scheduler = disksim_ioqueue {
Scheduling policy = 1,
Cylinder mapping strategy = 0,
Write initiation delay = 0.0,
Read initiation delay = 0.0,
Sequential stream scheme = 0,
Maximum concat size = 0,
Overlapping request scheme = 0,
Sequential stream diff maximum = 0,
Scheduling timeout scheme = 0,
Timeout time/weight = 6,
Timeout scheduling = 4,
Scheduling priority scheme = 0,
Priority scheduling = 4
}, # end of ioqueue spec
Cache = disksim_cachemem {
Cache size = 0,
SLRU segments = [ 1.0 ],
Line size = 64,
Bit granularity = 1,
Lock granularity = 64,
Shared read locks = 1,
Max request size = 512,
Replacement policy = 2,
Allocation policy = 0,
Write scheme = 3,
Flush policy = 0,
Flush period = 0.0,
Flush idle delay = -1.0,
Flush max line cluster = 8,
Read prefetch type = 0,
Write prefetch type = 0,
Line-by-line fetches = 0,
Max gather = 7
}, # end of cachemem spec
Max per-disk pending count = 16
} # end of CTLR0 spec
# system topology
topology disksim_iodriver driver0 [
disksim_bus bus0 [
disksim_ctlr ctlr0 [
disksim_bus bus1 [
disksim_disk disk0 [],
disksim_disk disk1 []
] # end of bus1
] # end of ctlr0
] # end of bus0
] # end of system topology
disksim_logorg org0 {
Addressing mode = Array,
Distribution scheme = Striped,
Redundancy scheme = Noredun,
devices = [ disk0 .. disk1 ],
Stripe unit = 1,
Synch writes for safety = 0,
Number of copies = 2,
Copy choice on read = 6,
RMW vs. reconstruct = 0.5,
Parity stripe unit = 64,
Parity rotation type = 1,
Time stamp interval = 0.000000,
Time stamp start time = 60000.000000,
Time stamp stop time = 10000000000.000000,
Time stamp file name = stamps
} # end of logorg org0 spec
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 20120226.parv
Type: application/octet-stream
Size: 9050 bytes
Desc: not available
URL: <http://lists.andrew.cmu.edu/pipermail/disksim-users/attachments/20120226/95e3cd50/attachment.obj>
More information about the Disksim-users
mailing list