<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div><br></div><div>This is most likely because of DiskSim's hardcoded limit on the number of requests that can be in flight at the same time. The maximum number is MAX_QUEUE_LENGTH declared in src/disksim_logorg.c, which is by default 10000.</div><div><br></div><div>The problem is that disksim replays the disk I/Os from the trace at the same speed regardless of the performance of the simulated device. For example, if the trace has an I/O every 1ms, then disksim will issue an I/O every 1ms, regardless of how long that I/O takes to complete - even if it is not yet complete. So if the trace issues requests faster than the device can process, the simulation will die because of saturation.</div><div><br></div><div>A quick solution for this problem would be to increase the simulation time between successive requests. Multiplying all timestamps by 2 or 3 should help.</div><div><br></div><div>A more general solution to the problem - but also by far the most time solution - would be to develop a new trace format, with the corresponding record and replay tools, in which disksim would know which I/Os need to complete before which I/Os can be issued, so that the timing of the requests in the trace would adjust dynamically depending on the device performance. I hoped to do it at some point, but I was just never able to find the time for it.</div><div><br></div><div>Best,</div><div><br></div><div>-Peter</div><div><br></div><div><br><div><div>On Apr 12, 2012, at 5:35 AM, cq25062030 wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><p>Hi all,</p><p>I'm a freshman  of using DiskSim. Recently, I try to implement a simply Garbage Collection algorithm based on the ssd model source code provide by Microsoft, I only modify a part of  the ssd_clean.c file, and make a little change about the initialization function. The source code of DiskSim is kept the same as before. And I use the same test case as  Microsoft provided, but when I try to run the new code, the DiskSim give an error message like: Stopping simulation because of saturation..... </p><p>This problem occurs when run the ssd-rw5m and ssd-postmark  test case.</p><p>I try to reduce the size of the request by modifying the configuration file as the website </p><p><a href="https://sos.ece.cmu.edu/pipermail/disksim-users/2010-July/000516.html">https://sos.ece.cmu.edu/pipermail/disksim-users/2010-July/000516.html</a>, </p><p>the number of  simulated  request grows, but the problem occurs again at last. Also I try to debug th
 e program, I find that the requests keep arriving, but little operation about issuing them, I can't find the reason that leads to generate this problem.</p><p>Could anyone give me some advice to solve  this problem? </p><p>Thanks a lot.</p><p>Best wishes,</p><p>Qian Cheng.</p><p><br></p></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>_______________________________________________<br>Disksim-users mailing list<br><a href="mailto:Disksim-users@ece.cmu.edu">Disksim-users@ece.cmu.edu</a><br>https://sos.ece.cmu.edu/mailman/listinfo/disksim-users<br></blockquote></div><br></div></body></html>