3 Replies Latest reply: Mar 26, 2012 12:16 PM by 925243 RSS

    VDBench and Multiple SDs

    925243
      Recently implemented a new vdbench script. I have had little to no issues talking to one SD at a time, but now I'm trying to access different LBA ranges in four different SDs concurrently. Here's how I have my .cfg set up:

      *SD:     Storage Definition
      sd=sd1,lun=\\.\physicaldrive1,range=(0,24),align=4096
      sd=sd2,lun=\\.\physicaldrive2,range=(25,49),align=4096
      sd=sd3,lun=\\.\physicaldrive3,range=(50,74),align=4096
      sd=sd4,lun=\\.\physicaldrive4,range=(75,99),align=4096

      *WD:     Workload Definition
      wd=wd_rnd_rd,sd=(sd1,sd2,sd3,sd4),rdpct=100,seek=100
      wd=wd_7525_mix,sd=(sd1,sd2,sd3,sd4),rdpct=75,seek=100
      wd=wd_5050_mix,sd=(sd1,sd2,sd3,sd4),rdpct=50,seek=100
      wd=wd_2575_mix,sd=(sd1,sd2,sd3,sd4),rdpct=25,seek=100
      wd=wd_rnd_wr,sd=(sd1,sd2,sd3,sd4),rdpct=0,seek=100
      wd=wd_seq_rd,sd=(sd1,sd2,sd3,sd4),rdpct=100,seek=0
      wd=wd_seq_wr,sd=(sd1,sd2,sd3,sd4),rdpct=0,seek=0

      *RD:     Run Definition
      rd=PreconditionSeq,wd=wd_seq_wr,iorate=max,elapsed=3600,interval=300,forxfersize=(256k),forcompression=(50)

      rd=SequentialRead,wd=wd_seq_rd,iorate=max,elapsed=60,interval=10,forxfersize=(4k,8k,64k,128k,1M),forthreads=(1-64,d),forcompression=(50)
      rd=SequentialWrite,wd=wd_seq_wr,iorate=max,elapsed=60,interval=10,forxfersize=(4k,8k,64k,128k,1M),forthreads=(1-64,d),forcompression=(50)

      rd=PreconditionRnd,wd=wd_rnd_wr,iorate=max,elapsed=3600,interval=300,forxfersize=(4k),forcompression=(50)

      rd=RandomRead,wd=wd_rnd_rd,iorate=max,elapsed=60,interval=10,forxfersize=(4k-128k,d),forthreads=(1-128,d),forcompression=(50)

      rd=IorateBoundRndRd,wd=wd_rnd_rd,iorate=(5000-125000,10000),forthreads=(32),elapsed=300,interval=10,forxfersize=(4k),forcompression=(50)
      rd=ThreadBoundRndRd,wd=wd_rnd_rd,iorate=max,forthreads=(1,2,4,8,10,12,16,18,20,24,32),elapsed=300,interval=10,forxfersize=(4k),forcompression=(50)

      rd=Mixed7525RdWr,wd=wd_7525_mix,iorate=max,elapsed=60,interval=10,forxfersize=(4k-128k,d),forthreads=(1-64,d),forcompression=(50)
      rd=Mixed5050RdWr,wd=wd_5050_mix,iorate=max,elapsed=60,interval=10,forxfersize=(4k-128k,d),forthreads=(1-64,d),forcompression=(50)
      rd=Mixed2575RdWr,wd=wd_2575_mix,iorate=max,elapsed=60,interval=10,forxfersize=(4k-128k,d),forthreads=(1-64,d),forcompression=(50)

      rd=RandomWrite,wd=wd_rnd_wr,iorate=max,elapsed=60,interval=10,forxfersize=(4k-128k,d),forthreads=(1-128,d),forcompression=(50)

      rd=IorateBoundRndWr,wd=wd_rnd_wr,iorate=(5000-65000,5000),forthreads=(32),elapsed=300,interval=10,forxfersize=(4k),forcompression=(50)
      rd=ThreadBoundRndWr,wd=wd_rnd_wr,iorate=max,forthreads=(1,2,4,8,10,12,16,18,20,24,32),elapsed=300,interval=10,forxfersize=(4k),forcompression=(50)

      rd=CompressionTest,wd=wd_rnd_wr,iorate=max,warmup=10,elapsed=60,interval=10,forxfersize=(4k),forthreads=(32),forcompression=(0,50,100)

      If I run on any one of these same devices singularly, no error, however, on running this .cfg, I get the following error:

      Vdbench distribution: vdbench503rc11
      For documentation, see 'vdbench.pdf'.

      15:58:00.355 Created output directory 'M:\blah\blah\perf\TEST2\vdb_pts_pd1\vdbench_2012032015575993'
      15:58:00.446 *
      15:58:00.447 * This beta version 'vdbench503rc11' was built on Fri April 08 9:48:23 MDT 2011.
      15:58:00.448 * which is more than 90 days ago.
      15:58:00.449 * It is recommended that you look for a newer beta or possibly
      15:58:00.449 * a newer GA version.
      15:58:00.450 * Of course, it is preferred you download a newer beta version
      15:58:00.451 * if available to help test the latest code.
      15:58:00.451 *
      15:58:00.458 input argument scanned: '-fM:\blah\blah\perf\VDBench_cfg\vdb_pts_wpre.cfg'
      15:58:00.459 input argument scanned: '-ovdbench_2012032015575993'
      java.lang.StringIndexOutOfBoundsException: String index out of range: -3
      at java.lang.String.substring(Unknown Source)
      at Vdb.FileAnchor.whatSize(FileAnchor.java:1680)
      at Vdb.For_loop.updateDisplayList(For_loop.java:332)
      at Vdb.For_loop.for_get(For_loop.java:279)
      at Vdb.For_loop.for_get(For_loop.java:282)
      at Vdb.For_loop.for_get(For_loop.java:282)
      at Vdb.RD_entry.rd_get_next_rd(RD_entry.java:236)
      at Vdb.RD_entry.rd_next_workload(RD_entry.java:262)
      at Vdb.RD_entry.buildNewRdListForWd(RD_entry.java:1511)
      at Vdb.Vdbmain.masterRun(Vdbmain.java:714)
      at Vdb.Vdbmain.main(Vdbmain.java:599)
      15:58:01.735 common.failure(): System.exit(-99)

      I am thinking it is probably a simple syntax/usage related error, as the devices are known good ones. Any help would be much appreciated, thanks!