From jerryhu8 at hotmail.com Mon Dec 3 23:47:23 2012 From: jerryhu8 at hotmail.com (Jerry Hu) Date: Tue, 4 Dec 2012 12:47:23 +0800 Subject: [Disksim-users] Reorder request in Disksim Message-ID: Dear Disksim users,I'm using Disksim with ssd-add-on. I want to implement a special priority scheduler, so i modified ioqueue_insert_fcfs_to_queue function in disksim_ioqueue.c.I reordered the requests in the queue according to the priority every time when a new request arrived.But simulation stopped with error message : Completed event not found pending in ioqueue - blkno 5991488, tmp->blkno 5991488, tmp->totalsize 8, 0, 0, 0, 8 tmp->state 0 disksim: disksim_ioqueue.c:2987: ioqueue_remove_completed_request: Assertion `0' failed. How to reorder the requests in the queue correctly? Please help me , thanks a lot. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ericoolbe at ymail.com Tue Dec 4 10:29:29 2012 From: ericoolbe at ymail.com (YaoQing,Wang) Date: Tue, 4 Dec 2012 23:29:29 +0800 Subject: [Disksim-users] Reorder request in Disksim In-Reply-To: References: Message-ID: Hi~ Did you fix this problem first ? https://sos.ece.cmu.edu/pipermail/disksim-users/2011-May/000651.html -yq On Tue, Dec 4, 2012 at 12:47 PM, Jerry Hu wrote: > Dear Disksim users, > > I'm using Disksim with ssd-add-on. > > I want to implement a special priority scheduler, so i modified ioqueue_insert_fcfs_to_queue function in disksim_ioqueue.c. > > I reordered the requests in the queue according to the priority every time when a new request arrived. > > But simulation stopped with error message : > > Completed event not found pending in io > queue - blkno 5991488, tmp->blkno 5991488, tmp->totalsize 8, 0, 0, 0, 8 > tmp->state 0 > disksim: disksim_ioqueue.c:2987: ioqueue_remove_completed_**request: Assertion `0' failed. > > > How to reorder the requests in the queue correctly? > > Please help me , thanks a lot. > > _______________________________________________ > 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: From mdaghrir at cs.utsa.edu Thu Dec 6 13:17:32 2012 From: mdaghrir at cs.utsa.edu (mdaghrir at cs.utsa.edu) Date: Thu, 6 Dec 2012 12:17:32 -0600 Subject: [Disksim-users] Converting blktrace output into Disksim input Message-ID: <9703034e097fc53d2e3d3e8b7b8f8f54.squirrel@webmail.cs.utsa.edu> Hi, I'm an undergraduate student working on a web application project. My project consist of creating a web application that will upload a tracefile made with blktrace, and display Disksim's output on a report. My problem is that I can't find a way to convert the trace file of blktrace into a trace file that can be directly used by Disksim. I already tried blkparse, but I can't find the appropriate set of parameters that would give me the appropriate input for Disksim. Any help would be greatly appreciated. Thank You Mehdi Daghrir Undergraduate Student Departement of Computer Science University of Texas at San Antonio From pmacko at eecs.harvard.edu Thu Dec 6 14:20:17 2012 From: pmacko at eecs.harvard.edu (Peter Macko) Date: Thu, 6 Dec 2012 14:20:17 -0500 Subject: [Disksim-users] Converting blktrace output into Disksim input In-Reply-To: <9703034e097fc53d2e3d3e8b7b8f8f54.squirrel@webmail.cs.utsa.edu> References: <9703034e097fc53d2e3d3e8b7b8f8f54.squirrel@webmail.cs.utsa.edu> Message-ID: Hi, One way to do this is to find a sensible set of blkparse arguments and then add support for this format directly do disksim. For example, I used blkparse -i - -f "+%T.%9t %M:%m %S %n %d %e\\n" \ | egrep '^\+' | sed 's/^\+//' \ | awk '{ \ if ($4 != "0" && $6 == "0") { \ if ($2 in devices) { d = devices[$2] } else { d = length(devices); devices[$2] = d } \ printf "%0.3f %d %d %d %s\n", $1*1000, d, $3, $4, $5 \ } \ }' \ | sed 's/R/1/' | sed 's/W/0/' to parse and preprocess the trace in my project. Then add the support for your format to disksim as follows: 1. Create a format type constant in disksim/src/disksim_global.h (there is a section with constants under /* Trace Formats */) 2. Add a case clause in iotrace_set_format() in disksim/src/disksim_iotrace.c similarly as for the other formats 3. Write a custom parsing function in disksim/src/disksim_iotrace.c (you can find many examples in the file) You might need to modify the blkparse arguments from what I wrote above, since your use case is sufficiently different from mine. It sounds like you will be adding the support for this format directly to disksim, while the parser in my case was in a separate project that communicated with disksim as in syssim_driver.c. Don't worry, it is easier than it looks! Or maybe someone else will reply with a better solution :) Best, -Peter On Dec 6, 2012, at 1:17 PM, mdaghrir at cs.utsa.edu wrote: > Hi, > I'm an undergraduate student working on a web application project. > > My project consist of creating a web application that will upload a > tracefile made with blktrace, and display Disksim's output on a report. > > My problem is that I can't find a way to convert the trace file of > blktrace into a trace file that can be directly used by Disksim. > > I already tried blkparse, but I can't find the appropriate set of > parameters that would give me the appropriate input for Disksim. > > Any help would be greatly appreciated. > > Thank You > > Mehdi Daghrir > Undergraduate Student > Departement of Computer Science > University of Texas at San Antonio > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users From abdul.arfan at gmail.com Thu Dec 13 00:06:07 2012 From: abdul.arfan at gmail.com (Abdul Arfan) Date: Thu, 13 Dec 2012 14:06:07 +0900 Subject: [Disksim-users] problem cache replacement algorithm Message-ID: Dear disksim users, Im using disksim 4 and, try to test several cache replacement algorithm, I set the cache size to 16 and only use a very small trace file: 100 0 1 1 1 200 0 2 1 1 300 0 3 1 1 400 0 4 1 1 500 0 5 1 1 600 0 6 1 1 700 0 7 1 1 800 0 8 1 1 900 0 9 1 1 1000 0 10 1 1 1100 0 11 1 1 1200 0 12 1 1 1300 0 13 1 1 1400 0 14 1 1 1500 0 15 1 1 1600 0 16 1 1 1700 0 17 1 1 1800 0 18 1 1 1900 0 19 1 1 2000 0 20 1 1 to know what happed I add a print statement to the cache_replace function in file disksim_cachemem.c. However I found that only CACHE_REPLACE_SLRU works correctly (it runs cache_replace 4 times), other cache algorithm CACHE_REPLACE_FIFO stop after processing the line 17 (it only runs cache_replace function 1 time). Is there anybody experiencing the same problem? -- Abdul Arfan (+82 10 4449 6652) http://arfan86.blogspot.com From navidlog at yahoo.com Thu Dec 13 02:18:07 2012 From: navidlog at yahoo.com (Navid Farhadi) Date: Wed, 12 Dec 2012 23:18:07 -0800 (PST) Subject: [Disksim-users] problem cache replacement algorithm In-Reply-To: References: Message-ID: <1355383087.6997.YahooMailNeo@web121706.mail.ne1.yahoo.com> Hi?Abdul Arfan I trace this code and the problem is? cache->map[set].lru[0]? that has not value in the fifo, lifo and random replacement policies. These policies are not implemented correctly.? The value of "line" variable after this statement is 0 and then the "if (line)" condition does not satisfied. This happens because the lru[0] list does't filled correctly. You can trace these methhods: cache_add_to_lrulist cache_remove_from_lrulist that modify?lru linked lists. Navid Farhadi ________________________________ From: Abdul Arfan To: disksim-users at ece.cmu.edu Sent: Thursday, December 13, 2012 8:36 AM Subject: [Disksim-users] problem cache replacement algorithm Dear disksim users, Im using disksim 4 and, try to test several cache replacement algorithm, I set the cache size to 16 and only use a very small trace file: 100 0? 1? 1? 1 200 0? 2? 1? 1 300 0? 3? 1? 1 400 0? 4? 1? 1 500 0? 5? 1? 1 600 0? 6? 1? 1 700 0? 7? 1? 1 800 0? 8? 1? 1 900 0? 9? 1? 1 1000 0? 10? 1? 1 1100 0? 11? 1? 1 1200 0? 12? 1? 1 1300 0? 13? 1? 1 1400 0? 14? 1? 1 1500 0? 15? 1? 1 1600 0? 16? 1? 1 1700 0? 17? 1? 1 1800 0? 18? 1? 1 1900 0? 19? 1? 1 2000 0? 20? 1? 1 to know what happed I add a print statement to the cache_replace function in file disksim_cachemem.c. However I found that only CACHE_REPLACE_SLRU works correctly (it runs cache_replace 4 times), other cache algorithm CACHE_REPLACE_FIFO stop after processing the line 17 (it only runs cache_replace function 1 time). Is there anybody experiencing the same problem? -- Abdul Arfan (+82 10 4449 6652) http://arfan86.blogspot.com _______________________________________________ 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: