[Disksim-users] A bug about "iosim Block"

ll2 at rice.edu ll2 at rice.edu
Wed Aug 8 13:38:46 EDT 2007


Hello everyone :

DiskSim has a "iosim Block" in .parv file to support I/O trace time scale and
I/O mappings, et.

Users can set "I/O trace time scale" value in "iosim block" to replay the trace
in different speed, resulting different request rate. However, I found that the
value I set is not used by DiskSim. Then I dig into the source code.

I found in disksim_iosim.c :

void iosim_initialize_iosim_info ()
{
   disksim->iosim_info = DISKSIM_malloc (sizeof(iosim_info_t));
   bzero ((char *)disksim->iosim_info, sizeof(iosim_info_t));

   /* initializations that get remapped into iosim_info */
   ioscale = 1.0;    /**************LOOK HERE************/
   last_request_arrive = 0.0;
   constintarrtime = 0.0;
}


It means that "ioscale" is set to 1.0 by DiskSim, resulting the same speed as
the original trace, ignoring the value set by user in .parv file. And this value
is not changed in other places. I tried to change the value of "ioscale" in the
source code, then it works. For example, ioscale = 2, will make the arrival
time two times.

I found DiskSim did not read the parameter file to fill this "ioscale". So, no
matter what you set for I/O trace time scale, it just use the "1.0"  in the
runtime.

Does anyone else find this problem? I appreciate your suggestion and comments .

Regards,

Lanyue Lu







More information about the Disksim-users mailing list