From prashant.19feb at gmail.com Fri Apr 5 20:48:23 2013 From: prashant.19feb at gmail.com (Prashant Saxena) Date: Fri, 5 Apr 2013 19:48:23 -0500 Subject: [Disksim-users] IO Scheduling within Disk Message-ID: * Hi DiskSim Users, I am trying to simulate in-disk scheduling algorithm to determine the effect of interleaving OS IO scheduling and in-disk IO scheduling (scheduling within the disk). To test this feature I modified the scheduling policy bit in diskspecs file and ran the simulation using ascii trace file. However, I noticed that the ?Overall I/O System Response time average? along with other parameters remained unaffected from the choice of scheduling algorithm used in disk. These parameters did change when I changed the scheduling policy at the driver level, i.e, in the parv file. Further Investigation: I investigated further and found that ?Max queue length? parameter for the disk was set to 1 in diskspecs file. My intuition was that for any scheduling to take place at disk level, it has to queue more than 1 IO request. So I ran the test again after changing this value to x (any where from 2 to 10000). However, this created another problem. After changing Max queue length,I found that disksim simulated only 36 IO requests (seen from ?Overall I/O System Total Requests handled? trace output) out of nearly 10K IO requests in trace file. Note that disksim did not error out while running this test, it simply processed less number of IOs. Also the overall response time did not change with different choice of scheduling algorithm at disk level. I am not sure what is causing this problem. Simply put my intention is to run disk-level scheduling and observe output characteristics. I would be glad to share the parv and trace file if someone is interested in running the test on their end. Any help is appreciated. Thanks, Prashant Saxena * -------------- next part -------------- An HTML attachment was scrubbed... URL: From ykwok2 at miners.utep.edu Wed Apr 10 14:31:19 2013 From: ykwok2 at miners.utep.edu (Yipkei Kwok) Date: Wed, 10 Apr 2013 12:31:19 -0600 Subject: [Disksim-users] Cannot have 2 synthetic workload generators - 1 for time-critical, 1 for time-noncritical requests Message-ID: Dear Disksim users, This is what I want to simulate. * 3 concurrent synthetic workload generators * the 1st 2 generate time-critical requests (i.e. each may have only 1 pending request) * the 3rd generates time-noncritical requests (i.e. may have >1 pending request) I posted the Disksim parameter files (.parv) and output files (.outv) on my website. Please note that, for some reason, I have to append the file names with ".txt" on the web site. Settings * I created my parameter file (http://utminers.utep.edu/ykwok2/tmp/synthopen.3.parv.txt) based on synthopen.parv that comes with the Disksim 4.0 * there are 3 disks. Each synthetic generator accessed its own disk * changes I made i. Number of processors synthopen.parv: 1 synthopen.3.parv: 3 ii. "Probability of time-critical request" of the 1st 2 synthetic generators synthopen.parv: 0.0 (i.e. Probability of time-critical request = 0.0) synthopen.3.parv: 1.0 (i.e. Probability of time-critical request = 1.0) Problem: * The 1st 2 synthetic workload generators, each, generated only 1 request. After the requests were serviced, they did not generate another request. Details: * output file (http://utminers.utep.edu/ykwok2/tmp/synthopen.3.outv.txt) * I got into this problem on an unmodified version of Disksim 4 (vanilla). * Number of requests generated by each generator. $ grep -i 'Number of I/O requests' ./synthopen.3.outv Process Number of I/O requests: 10002 Process 3 Number of I/O requests: 1 Process 4 Number of I/O requests: 1 Process 5 Number of I/O requests: 10000 * Number of requests serviced by the disks $ grep -i 'total requests handled' ./synthopen.3.outv Overall I/O System Total Requests handled: 10001 IOdriver Total Requests handled: 10001 IOdriver #0 device #0 Total Requests handled: 1 IOdriver #0 device #1 Total Requests handled: 1 IOdriver #0 device #2 Total Requests handled: 9999 Note: * this problem does not happen when either all synthetic generators generate time-critical or all synthetic workload generators generate time-noncritical accesses. * Case I: all generators generate time-critical access Parameter file: http://utminers.utep.edu/ykwok2/tmp/synthopen.2.parv.txt Output file: http://utminers.utep.edu/ykwok2/tmp/synthopen.2.outv.txt $ grep -i 'total requests handled' ./synthopen.2.outv Overall I/O System Total Requests handled: 10001 IOdriver Total Requests handled: 10001 IOdriver #0 device #0 Total Requests handled: 3387 IOdriver #0 device #1 Total Requests handled: 3253 IOdriver #0 device #2 Total Requests handled: 3361 * all generators generate time-noncritical access Parameter file: http://utminers.utep.edu/ykwok2/tmp/synthopen.5.parv.txt Output file: http://utminers.utep.edu/ykwok2/tmp/synthopen.5.outv.txt $ grep -i 'total requests handled' ./synthopen.5.outv Overall I/O System Total Requests handled: 9998 IOdriver Total Requests handled: 9998 IOdriver #0 device #0 Total Requests handled: 3438 IOdriver #0 device #1 Total Requests handled: 3313 IOdriver #0 device #2 Total Requests handled: 3247 Looking forward to hearing from you. Thank you very much. Regards, Yipkei -- ******************************************** Yipkei Kwok Ph.D. Student Research Assistant HiPerSys Lab Department of Computer Science The University of Texas at El Paso Phone: 915 747 6433 (O) E-mail: ykwok2 at miners dot utep dot edu ********************************************