Greeting<br><br>Can any one gibe me a feedback why I am getting a "segmentation fault" error when modifying a 3disk.parv faile to include an ssd device ?????????<br><br>Here my modified PARV file <br><br># 3disks.parv <br>
# John Bucy/20021210<br># 3 different disks on 1 controller<br># ---------------------------------------------------------<br>disksim_global Global { <br> Init Seed = 42,<br> Real Seed = 42,<br> # Statistic warm-up period = 0.0 seconds,<br>
Stat definition file = statdefs <br>}<br># ---------------------------------------------------------<br>disksim_stats Stats {<br><br>iodriver stats = disksim_iodriver_stats {<br> Print driver size stats = 1,<br> Print driver locality stats = 0,<br>
Print driver blocking stats = 0,<br> Print driver interference stats = 0,<br> Print driver queue stats = 1,<br> Print driver crit stats = 0,<br> Print driver idle stats = 1,<br> Print driver intarr stats = 1,<br> Print driver streak stats = 1,<br>
Print driver stamp stats = 1,<br> Print driver per-device stats = 1 },<br><br>bus stats = disksim_bus_stats {<br> Print bus idle stats = 1,<br> Print bus arbwait stats = 1 },<br><br>ctlr stats = disksim_ctlr_stats {<br> Print controller cache stats = 1,<br>
Print controller size stats = 1,<br> Print controller locality stats = 1,<br> Print controller blocking stats = 1,<br> Print controller interference stats = 1,<br> Print controller queue stats = 1,<br> Print controller crit stats = 1,<br>
Print controller idle stats = 1,<br> Print controller intarr stats = 1,<br> Print controller streak stats = 1,<br> Print controller stamp stats = 1,<br> Print controller per-device stats = 1 },<br><br>device stats = disksim_device_stats {<br>
Print device queue stats = 0,<br> Print device crit stats = 0,<br> Print device idle stats = 0,<br> Print device intarr stats = 0,<br> Print device size stats = 0,<br> Print device seek stats = 1,<br> Print device latency stats = 1,<br>
Print device xfer stats = 1,<br> Print device acctime stats = 1,<br> Print device interfere stats = 0,<br> Print device buffer stats = 1 },<br><br>process flow stats = disksim_pf_stats {<br> Print per-process stats = 1,<br>
Print per-CPU stats = 1, <br> Print all interrupt stats = 1,<br> Print sleep stats = 1<br> }<br>} # end of stats block<br># ---------------------------------------------------------<br>#disksim_iosim IS {<br># I/O Trace Time Scale = 1.0<br>
#} # end of iosim spec<br># ---------------------------------------------------------<br>disksim_iodriver DRIVER0 {<br>type = 1,<br>Constant access time = 0.0,<br>Scheduler = disksim_ioqueue {<br> Scheduling policy = 3,<br>
Cylinder mapping strategy = 1,<br> Write initiation delay = 0.0,<br> Read initiation delay = 0.0,<br> Sequential stream scheme = 0,<br> Maximum concat size = 128,<br> Overlapping request scheme = 0,<br> Sequential stream diff maximum = 0,<br>
Scheduling timeout scheme = 0,<br> Timeout time/weight = 6,<br> Timeout scheduling = 4,<br> Scheduling priority scheme = 0,<br> Priority scheduling = 4<br>}, # end of Scheduler<br>Use queueing in subsystem = 1<br>} # end of DRV0 spec<br>
# ---------------------------------------------------------<br>disksim_bus BUS0 {<br>type = 1,<br>Arbitration type = 1,<br>Arbitration time = 0.0,<br>Read block transfer time = 0.0,<br>Write block transfer time = 0.0,<br>
Print stats = 0<br>} # end of BUS0 spec<br># ---------------------------------------------------------<br>disksim_bus BUS1 {<br>type = 1,<br>Arbitration type = 1,<br>Arbitration time = 0.0,<br>Read block transfer time = 0.0512,<br>
Write block transfer time = 0.0512,<br>Print stats = 1<br>} # end of BUS1 spec<br># ---------------------------------------------------------<br>disksim_bus BUS2 {<br>type = 1,<br>Arbitration type = 1,<br>Arbitration time = 0.0,<br>
Read block transfer time = 0.0512,<br>Write block transfer time = 0.0512,<br>Print stats = 1<br>} # end of BUS2 spec<br># ---------------------------------------------------------<br>disksim_bus BUS3 {<br>type = 1,<br>Arbitration type = 1,<br>
Arbitration time = 0.0,<br>Read block transfer time = 0.0512,<br>Write block transfer time = 0.0512,<br>Print stats = 1<br>} # end of BUS3 spec<br># ---------------------------------------------------------<br>disksim_bus BUSHBA {<br>
type = 2,<br>Arbitration type = 1,<br>Arbitration time = 0.001,<br><br># PCI-E, with 8 lanes with 8b/10b encoding gives 2.0 Gbps per <br># lane and with 8 lanes we get about 2.0 GBps. So, bulk sector <br># transfer time is about 0.238 us. SATA/300 can transfer data <br>
# at 300 MBps, which amounts to about 1.6276 us per byte.<br><br>Read block transfer time = 0.0002384,<br>Write block transfer time = 0.0002384,<br>#Read block transfer time = 0.0016276,<br>#Write block transfer time = 0.0016276,<br>
<br>Print stats = 1<br>} # end of BUSHBA spec<br># ---------------------------------------------------------<br>disksim_ctlr CTLR0 {<br>type = 1,<br>Scale for delays = 0.0,<br>Bulk sector transfer time = 0.0,<br>Maximum queue length = 0,<br>
Print stats = 1<br>} # end of CTLR0 spec<br># ---------------------------------------------------------<br># don't change the order of the following parameters.<br># we use Flash chip elements and Elements per gang to<br>
# find number of gang -- we need this info before initializing<br># the queue (disksim_ioqueue)<br><br>ssdmodel_ssd SSD {<br> # vp - this is a percentage of total pages in the ssd<br> Reserve pages percentage = 15,<br>
<br> # vp - min percentage of free blocks needed. if the free <br> # blocks drop below this, cleaning kicks in<br> Minimum free blocks percentage = 5,<br><br> # vp - a simple read-modify-erase-write policy = 1 (no longer supported)<br>
# vp - osr write policy = 2<br> Write policy = 2,<br><br> # vp - random = 1 (not supp), greedy = 2, wear-aware = 3<br> Cleaning policy = 2,<br><br> # vp - number of planes in each flash package (element)<br>
Planes per package = 8,<br><br> # vp - number of flash blocks in each plane<br> Blocks per plane = 2048,<br><br> # vp - how the blocks within an element are mapped on a plane<br> # simple concatenation = 1, plane-pair stripping = 2 (not tested),<br>
# full stripping = 3<br> Plane block mapping = 3,<br><br> # vp - copy-back enabled (1) or not (0)<br> Copy back = 1,<br><br> # how many parallel units are there?<br> # entire elem = 1, two dies = 2, four plane-pairs = 4<br>
Number of parallel units = 1,<br><br> # vp - we use diff allocation logic: chip/plane<br> # each gang = 0, each elem = 1, each plane = 2<br> Allocation pool logic = 1,<br><br> # elements are grouped into a gang<br>
Elements per gang = 1,<br><br> # shared bus (1) or shared control (2) gang<br> Gang share = 1,<br><br> # when do we want to do the cleaning?<br> Cleaning in background = 0,<br><br> Command overhead = 0.00,<br>
Bus transaction latency = 0.0,<br><br># Assuming PCI-E, with 8 lanes with 8b/10b encoding.<br># This gives 2.0 Gbps per lane and with 8 lanes we get about<br># 2.0 GBps. So, bulk sector transfer time is about 0.238 us.<br>
# Use the "Read block transfer time" and "Write block transfer time"<br># from disksim_bus above.<br> Bulk sector transfer time = 0,<br><br> Flash chip elements = 8,<br><br> Page size = 8,<br>
<br> Pages per block = 64,<br><br> # vp - changing the no of blocks from 16184 to 16384<br> Blocks per element = 16384,<br><br> Element stride pages = 1,<br><br> Never disconnect = 1,<br> Print stats = 1,<br>
Max queue length = 20,<br> Scheduler = disksim_ioqueue {<br> Scheduling policy = 1,<br> Cylinder mapping strategy = 0,<br> Write initiation delay = 0,<br> Read initiation delay = 0.0,<br>
Sequential stream scheme = 0,<br> Maximum concat size = 0,<br> Overlapping request scheme = 0,<br> Sequential stream diff maximum = 0,<br> Scheduling timeout scheme = 0,<br> Timeout time/weight = 0,<br>
Timeout scheduling = 0,<br> Scheduling priority scheme = 0,<br> Priority scheduling = 1<br> },<br> Timing model = 1,<br><br> # vp changing the Chip xfer latency from per sector to per byte<br>
Chip xfer latency = 0.000025,<br><br> Page read latency = 0.025,<br> Page write latency = 0.200,<br> Block erase latency = 1.5<br>} # end of SSD spec<br><br># ---------------------------------------------------------<br>
# HP_C3323A<br>source atlas10k.diskspecs<br>source ibm18es.diskspecs<br>source cheetah9LP.diskspecs<br># ---------------------------------------------------------<br># component instantiation<br>instantiate [ statfoo ] as Stats<br>
instantiate [ statfoo ] as Stats<br><br>instantiate [ quantum ] as QUANTUM_TORNADO_validate<br>instantiate [ ibm ] as IBM_DNES-309170W_validate<br>instantiate [ seagate ] as SEAGATE_ST39102LW_validate<br>instantiate [ ssd0x0 ] as SSD<br>
<br>instantiate [ bus0 ] as BUS0<br>instantiate [ bus1 ] as BUS1<br>instantiate [ bus2 ] as BUS2<br>instantiate [ bus3 ] as BUS3<br>instantiate [ busHBA0 ] as BUSHBA<br><br>instantiate [ driver0 ] as DRIVER0<br>
instantiate [ ctlr0 ] as CTLR0<br># ---------------------------------------------------------<br># system topology<br>topology disksim_iodriver driver0 [<br> disksim_bus bus0 [ <br> disksim_ctlr ctlr0 [ <br>
disksim_bus bus1 [ <br> disksim_disk quantum []<br> ],<br> disksim_bus bus2 [<br>
disksim_disk ibm []<br> ],<br> disksim_bus bus3 [<br> disksim_disk seagate []<br>
], <br> disksim_bus busHBA0 [<br> ssdmodel_ssd ssd0x0 []<br> ] <br>
]<br> ]<br> ]<br># no syncsets<br># ---------------------------------------------------------<br>disksim_logorg quantumorg {<br> Addressing mode = Parts,<br>
Distribution scheme = Asis,<br> Redundancy scheme = Noredun,<br> devices = [ quantum ],<br> Stripe unit = 17938986,<br> Synch writes for safety = 0,<br> Number of copies = 2,<br> Copy choice on read = 6,<br>
RMW vs. reconstruct = 0.5,<br> Parity stripe unit = 64,<br> Parity rotation type = 1,<br> Time stamp interval = 0.000000,<br> Time stamp start time = 60000.000000,<br> Time stamp stop time = 10000000000.000000,<br>
Time stamp file name = stamps<br>} # end of logorg org0 spec<br># ---------------------------------------------------------<br>disksim_logorg ibmorg {<br> Addressing mode = Parts,<br> Distribution scheme = Asis,<br>
Redundancy scheme = Noredun,<br> devices = [ ibm ],<br> Stripe unit = 17916240,<br> Synch writes for safety = 0,<br> Number of copies = 2,<br> Copy choice on read = 6,<br> RMW vs. reconstruct = 0.5,<br>
Parity stripe unit = 64,<br> Parity rotation type = 1,<br> Time stamp interval = 0.000000,<br> Time stamp start time = 60000.000000,<br> Time stamp stop time = 10000000000.000000,<br> Time stamp file name = stamps<br>
} # end of logorg org0 spec<br># ---------------------------------------------------------<br>disksim_logorg seagateorg {<br> Addressing mode = Parts,<br> Distribution scheme = Asis,<br> Redundancy scheme = Noredun,<br>
devices = [ seagate ],<br> Stripe unit = 17783240,<br> Synch writes for safety = 0,<br> Number of copies = 2,<br> Copy choice on read = 6,<br> RMW vs. reconstruct = 0.5,<br> Parity stripe unit = 64,<br>
Parity rotation type = 1,<br> Time stamp interval = 0.000000,<br> Time stamp start time = 60000.000000,<br> Time stamp stop time = 10000000000.000000,<br> Time stamp file name = stamps<br>} # end of logorg org0 spec<br>
# ---------------------------------------------------------<br>disksim_logorg org0 {<br> Addressing mode = Array,<br> Distribution scheme = Striped,<br> Redundancy scheme = Noredun,<br><br> # vp - added more ssd elements<br>
devices = [ ssd0x0 ],<br><br> Stripe unit = 128,<br> Synch writes for safety = 0,<br> Number of copies = 2,<br> Copy choice on read = 6,<br> RMW vs. reconstruct = 0.5,<br> Parity stripe unit = 128,<br>
Parity rotation type = 1,<br> Time stamp interval = 0.000000,<br> Time stamp start time = 60000.000000,<br> Time stamp stop time = 10000000000.000000,<br> Time stamp file name = stamps<br>} # end of logorg org0 spec<br>
#--------------------------------------------------------------<br clear="all"><br>*********************************************************************************<br>The output file has no error , however, a "segmentation error is generated when executing the simulator !!!<br>
<br>Here is my output file .....<br><br><br>*** Output file name: abdullah.out<br>*** Input trace format: validate<br>*** I/O trace used: cheetah9LP.trace<br>*** Synthgen to be used?: 0<br><br>disksim_global Global {<br>Init Seed = 42,<br>
Real Seed = 42,<br>Stat definition file = statdefs<br>} # end of Global spec<br><br>disksim_stats Stats {<br>iodriver stats = disksim_iodriver_stats {<br>Print driver size stats = 1,<br>Print driver locality stats = 0,<br>
Print driver blocking stats = 0,<br>Print driver interference stats = 0,<br>Print driver queue stats = 1,<br>Print driver crit stats = 0,<br>Print driver idle stats = 1,<br>Print driver intarr stats = 1,<br>Print driver streak stats = 1,<br>
Print driver stamp stats = 1,<br>Print driver per-device stats = 1<br> },<br>bus stats = disksim_bus_stats {<br>Print bus idle stats = 1,<br>Print bus arbwait stats = 1<br> },<br>ctlr stats = disksim_ctlr_stats {<br>Print controller cache stats = 1,<br>
Print controller size stats = 1,<br>Print controller locality stats = 1,<br>Print controller blocking stats = 1,<br>Print controller interference stats = 1,<br>Print controller queue stats = 1,<br>Print controller crit stats = 1,<br>
Print controller idle stats = 1,<br>Print controller intarr stats = 1,<br>Print controller streak stats = 1,<br>Print controller stamp stats = 1,<br>Print controller per-device stats = 1<br> },<br>device stats = disksim_device_stats {<br>
Print device queue stats = 0,<br>Print device crit stats = 0,<br>Print device idle stats = 0,<br>Print device intarr stats = 0,<br>Print device size stats = 0,<br>Print device seek stats = 1,<br>Print device latency stats = 1,<br>
Print device xfer stats = 1,<br>Print device acctime stats = 1,<br>Print device interfere stats = 0,<br>Print device buffer stats = 1<br> },<br>process flow stats = disksim_pf_stats {<br>Print per-process stats = 1,<br>
Print per-CPU stats = 1,<br>Print all interrupt stats = 1,<br>Print sleep stats = 1<br> }<br>} # end of Stats spec<br><br>disksim_iodriver DRIVER0 {<br>type = 1,<br>Constant access time = 0.0,<br>Scheduler = disksim_ioqueue {<br>
Scheduling policy = 3,<br>Cylinder mapping strategy = 1,<br>Write initiation delay = 0.0,<br>Read initiation delay = 0.0,<br>Sequential stream scheme = 0,<br>Maximum concat size = 128,<br>Overlapping request scheme = 0,<br>
Sequential stream diff maximum = 0,<br>Scheduling timeout scheme = 0,<br>Timeout time/weight = 6,<br>Timeout scheduling = 4,<br>Scheduling priority scheme = 0,<br>Priority scheduling = 4<br> },<br>Use queueing in subsystem = 1<br>
} # end of DRIVER0 spec<br><br>disksim_bus BUS0 {<br>type = 1,<br>Arbitration type = 1,<br>Arbitration time = 0.0,<br>Read block transfer time = 0.0,<br>Write block transfer time = 0.0,<br>Print stats = 0<br>} # end of BUS0 spec<br>
<br>disksim_bus BUS1 {<br>type = 1,<br>Arbitration type = 1,<br>Arbitration time = 0.0,<br>Read block transfer time = 0.051200,<br>Write block transfer time = 0.051200,<br>Print stats = 1<br>} # end of BUS1 spec<br><br>disksim_bus BUS2 {<br>
type = 1,<br>Arbitration type = 1,<br>Arbitration time = 0.0,<br>Read block transfer time = 0.051200,<br>Write block transfer time = 0.051200,<br>Print stats = 1<br>} # end of BUS2 spec<br><br>disksim_bus BUS3 {<br>type = 1,<br>
Arbitration type = 1,<br>Arbitration time = 0.0,<br>Read block transfer time = 0.051200,<br>Write block transfer time = 0.051200,<br>Print stats = 1<br>} # end of BUS3 spec<br><br>disksim_bus BUSHBA {<br>type = 2,<br>Arbitration type = 1,<br>
Arbitration time = 0.001000,<br>Read block transfer time = 0.000238,<br>Write block transfer time = 0.000238,<br>Print stats = 1<br>} # end of BUSHBA spec<br><br>disksim_ctlr CTLR0 {<br>type = 1,<br>Scale for delays = 0.0,<br>
Bulk sector transfer time = 0.0,<br>Maximum queue length = 0,<br>Print stats = 1<br>} # end of CTLR0 spec<br><br>ssdmodel_ssd SSD {<br>Reserve pages percentage = 15,<br>Minimum free blocks percentage = 5,<br>Write policy = 2,<br>
Cleaning policy = 2,<br>Planes per package = 8,<br>Blocks per plane = 2048,<br>Plane block mapping = 3,<br>Copy back = 1,<br>Number of parallel units = 1,<br>Allocation pool logic = 1,<br>Elements per gang = 1,<br>Gang share = 1,<br>
Cleaning in background = 0,<br>Command overhead = 0.0,<br>Bus transaction latency = 0.0,<br>Bulk sector transfer time = 0,<br>Flash chip elements = 8,<br>Page size = 8,<br>Pages per block = 64,<br>Blocks per element = 16384,<br>
Element stride pages = 1,<br>Never disconnect = 1,<br>Print stats = 1,<br>Max queue length = 20,<br>Scheduler = disksim_ioqueue {<br>Scheduling policy = 1,<br>Cylinder mapping strategy = 0,<br>Write initiation delay = 0,<br>
Read initiation delay = 0.0,<br>Sequential stream scheme = 0,<br>Maximum concat size = 0,<br>Overlapping request scheme = 0,<br>Sequential stream diff maximum = 0,<br>Scheduling timeout scheme = 0,<br>Timeout time/weight = 0,<br>
Timeout scheduling = 0,<br>Scheduling priority scheme = 0,<br>Priority scheduling = 1<br> },<br>Timing model = 1,<br>Chip xfer latency = 0.000025,<br>Page read latency = 0.025000,<br>Page write latency = 0.200000,<br>Block erase latency = 1.500000<br>
} # end of SSD spec<br><br>source ./atlas10k.diskspecssource ./ibm18es.diskspecssource ./cheetah9LP.diskspecsinstantiate [ <br> statfoo<br>] as Stats<br><br>instantiate [ <br> statfoo<br>] as Stats<br><br>instantiate [ <br>
quantum<br>] as QUANTUM_TORNADO_validate<br><br>instantiate [ <br> ibm<br>] as IBM_DNES-309170W_validate<br><br>instantiate [ <br> seagate<br>] as SEAGATE_ST39102LW_validate<br><br>instantiate [ <br> ssd0x0<br>] as SSD<br>
<br>instantiate [ <br> bus0<br>] as BUS0<br><br>instantiate [ <br> bus1<br>] as BUS1<br><br>instantiate [ <br> bus2<br>] as BUS2<br><br>instantiate [ <br> bus3<br>] as BUS3<br><br>instantiate [ <br> busHBA0<br>] as BUSHBA<br>
<br>instantiate [ <br> driver0<br>] as DRIVER0<br><br>instantiate [ <br> ctlr0<br>] as CTLR0<br><br>topospec disksim_iodriver driver0 [ <br> disksim_bus bus0 [ <br> disksim_ctlr ctlr0 [ <br> disksim_bus bus1 [ <br>
disksim_disk quantum [ ]<br> ], <br> disksim_bus bus2 [ <br> disksim_disk ibm [ ]<br> ], <br> disksim_bus bus3 [ <br> disksim_disk seagate [ ]<br> ], <br>
disksim_bus busHBA0 [ <br> ssdmodel_ssd ssd0x0 [ ]<br> ]<br> ]<br> ]<br>]<br><br>disksim_logorg quantumorg {<br>Addressing mode = Parts,<br>Distribution scheme = Asis,<br>Redundancy scheme = Noredun,<br>
devices = [ <br> quantum<br> ],<br>Stripe unit = 17938986,<br>Synch writes for safety = 0,<br>Number of copies = 2,<br>Copy choice on read = 6,<br>RMW vs. reconstruct = 0.500000,<br>Parity stripe unit = 64,<br>Parity rotation type = 1,<br>
Time stamp interval = 0.0,<br>Time stamp start time = 60000.000000,<br>Time stamp stop time = 10000000000.000000,<br>Time stamp file name = stamps<br>} # end of quantumorg spec<br><br>disksim_logorg ibmorg {<br>Addressing mode = Parts,<br>
Distribution scheme = Asis,<br>Redundancy scheme = Noredun,<br>devices = [ <br> ibm<br> ],<br>Stripe unit = 17916240,<br>Synch writes for safety = 0,<br>Number of copies = 2,<br>Copy choice on read = 6,<br>RMW vs. reconstruct = 0.500000,<br>
Parity stripe unit = 64,<br>Parity rotation type = 1,<br>Time stamp interval = 0.0,<br>Time stamp start time = 60000.000000,<br>Time stamp stop time = 10000000000.000000,<br>Time stamp file name = stamps<br>} # end of ibmorg spec<br>
<br>disksim_logorg seagateorg {<br>Addressing mode = Parts,<br>Distribution scheme = Asis,<br>Redundancy scheme = Noredun,<br>devices = [ <br> seagate<br> ],<br>Stripe unit = 17783240,<br>Synch writes for safety = 0,<br>
Number of copies = 2,<br>Copy choice on read = 6,<br>RMW vs. reconstruct = 0.500000,<br>Parity stripe unit = 64,<br>Parity rotation type = 1,<br>Time stamp interval = 0.0,<br>Time stamp start time = 60000.000000,<br>Time stamp stop time = 10000000000.000000,<br>
Time stamp file name = stamps<br>} # end of seagateorg spec<br><br>disksim_logorg org0 {<br>Addressing mode = Array,<br>Distribution scheme = Striped,<br>Redundancy scheme = Noredun,<br>devices = [ <br> ssd0x0<br> ],<br>
Stripe unit = 128,<br>Synch writes for safety = 0,<br>Number of copies = 2,<br>Copy choice on read = 6,<br>RMW vs. reconstruct = 0.500000,<br>Parity stripe unit = 128,<br>Parity rotation type = 1,<br>Time stamp interval = 0.0,<br>
Time stamp start time = 60000.000000,<br>Time stamp stop time = 10000000000.000000,<br>Time stamp file name = stamps<br>} # end of org0 spec<br><br>loadparams complete<br><br>-- <br>Abdullah Al-Dahlawi<div><div>George Washington University<br>
----<br>Check The Fastest 500 Super Computers Worldwide<br><a href="http://www.top500.org/list/2010/06/100" target="_blank">http://www.top500.org/list/2010/06/100</a></div></div><br>