disksim-3.0:Stopping simulation because of saturation解决方法

来源:互联网 发布:赵薇 知乎 编辑:程序博客网 时间:2024/05/29 16:41

在我的上上一篇博客中写到过:

为了在disksim-3.0中测试Financial1这个Trace文件时(一共有5000000行数据),总是出现Stopping simulation because of saturation这个问题

按照邮件列表里面的方法:

1.修改Disksim_logorg.c里面中MAX_QUEUE_LENGTH的值
2.修改ascii.parv文件中I/O Trace Time Scale = 1.0(将其扩大几倍)
都不能解决。


而且如若将MAX_QUEUE_LENGTH的值设置的过大的话,程序的执行时间大到你无法忍受,有一天晚上我直接将其设置为5000000,跑了一个通宵都没有结果!而且据我的一个师弟说,即使那样跑完了,测试出来的数据也是毫无价值的!

后来在网上结识了一位沈师兄,经他一指点,困扰我几天的问题一下子就解决了,甚是感激啊!
解决方案如下:
通过看Financial1这个trace文件的使用说明文档可知,其blkno和bcount的单位是字节,其到达时间的单位是秒
而disksim-3.0的使用手册上面写的ascii.parv里面blkno和bcount的单位是扇区(512字节),其处理得到达时间是毫秒
所以我们需要将trace文件对应的blkno和bcount列除以512,其到达时间列乘以1000

另外还需要记住Financial1里面devno这一列与ascii.parv中的devno也有一定的出入,上上一篇博客也已经介绍过我重新写了一个financial1.parv,下面的结果就是用financial1.parv测试出来的结果。整个测试时间不到10分钟,而且MAX_QUEUE_LENGTH和I/O Trace Time Scale都是默认值。

原创粉丝点击