DiskSim+ssd_add_on使用指南

来源:互联网 发布:化学化工物性数据手册 编辑:程序博客网 时间:2024/04/28 01:48

配置:ubuntu 10.04、32位OS

 

简介:DiskSim是一个低层存储系统的模拟平台,它能够模拟产生基于时序的模拟结果。目前最新版本为4.0版本。ssd_add_on是由微软公司开发的,基于固态硬盘模拟的DiskSim扩展平台。

 

安装:

1)  安装须知:

a)       DiskSim使用lex和yacc进行词法及语法分析,故linux如没有安装flex、bison的话,先要安装。

$ sudo apt-get install bison flex

b)       下载源码安装包:

disksim4.0:http://www.pdl.cmu.edu/DiskSim/

ssd_add_on:http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/

2)  安装步骤:

a)        下载和解压

$ tar xfzdisksim-4.0-with-dixtrac.tar.gz

$ cd disksim-4.0

$ unzip ../ssd-add-on.zip

 

b)       应用SSD的patch

$ patch -p1 <ssdmodel/ssd-patch

 

c)        将ssdmodel库的路径添加到dixtrac

$ vim dixtrac/.paths

# path to ssdmodel

export SSDMODEL_PREFIX=../ssdmodel

exportSSDMODEL_INCL=$(SSDMODEL_PREFIX)/include

exportSSDMODEL_CFLAGS=-I$(SSDMODEL_INCL)

exportSSDMODEL_LDPATH=$(SSDMODEL_PREFIX)/lib

exportSSDMODEL_LDFLAGS=-L$(SSDMODEL_LDPATH) -lssdmodel

修改dixtrac/Makefile

$(LIBDISKSIM_LDFLAGS) \

$(MEMSMODEL_LDFLAGS) \

$(DISKMODEL_LDFLAGS) \

$(SSDMODEL_LDFLAGS) \

$(LIBPARAM_LDFLAGS) \

$(LIBDDBG_LDFLAGS) \

$(ST_LDFLAGS)

CFLAGS = -Wall -g -MD -I. $(DEFINES)-I$(STHREADS) $(DMINCLUDES) \

$(LIBDISKSIM_CFLAGS) \

$(DISKMODEL_CFLAGS) $(LIBPARAM_CFLAGS) $(LIBDDBG_CFLAGS) \

$(SSDMODEL_CFLAGS)

 

d)       编译

$ make

 

e)        检查是否成功

$ cd valid; ./runvalid

$ chmod a+x../ssdmodel/valid/runvalid

$ cd ../ssdmodel/valid; ./runvalid

 

3)  运行

a)        执行命令语句介绍:

命令语句

disksim <parfile> <tracetype> <tracefile> <synthgen> <par_override>

disksim

可执行程序的名称。【注】disksim是无需安装的,直接编译之后运行可执行文件即可

parfile

运行参数文件

outfile

输出文件。output file的项目内容及大小可以在parafile中设置,以去掉一些不感兴趣的内容。

tracetype

确定输入trace的格式

tracefile

标识用作输入的trace文件

synthen

决定合成负载部分的模拟器是否打开。其中:0表示关闭;除0以外的数表示开启。parameter file设置了负载合成器的数量和合成负载的格式。

par_override

允许默认参数值或者parfile文件中的参数值替代命令行指定的值。

 

b)       运行过程

                                     i.             在进入disksim-4.0文件夹后(该文件夹内包含diskmodel、dixtrac、src、valid、ssdmodel等文件夹),先执行make distclean(清除生成的文件),再执行make(编译生成可执行程序)。以上两条命令在对程序代码进行修改后都需要回到disksim-4.0文件下执行一遍。

 

                                   ii.             在执行命令语句中,各类文件和参数分别在以下位置和赋为以下值:

1.        disksim   ———    /disksim-4.0/src/disksim

2.        parfile     ———    /disksim-4.0/ssdmodel/valid/*.parv

3.        outfile     ———    可定义任何目录(本文档中将输出结果写到/disksim-4.0/ssdmodel/valid/test.outv文件中)

4.        tracetype ———    ascii(参数值)

5.        tracefile   ———    /disksim-4.0/ssdmodel/valid/*.trace

6.        synthen   ———    0(参数值)

7.        par_override   ———    使用默认值,空缺不填

 

                                 iii.             运行示例(在disksim-4.0文件夹下):./src/disksim  ./ssdmodel/valid/ssd-postmark.parv  ./ssdmodel/valid/test.outv  ascii ./ssdmodel/valid/ssd-postmark-aligned2.trace  0

 

4)  使用心得:

a)        parfile参数文件中描述了disksim和ssd模块的基本参数设置。在修改参数文件后,不需要重新make distclean和make。但建议在修改原参数文件前,-保存备份原设置参数。

b)       在输出文件outfile中,模拟器输出了多项模拟结果内容,其中关于读写时延的输出结果为Non-Critical Read Response time和Non-Critical Write Response time。

c)        关于tracefile,在模拟器中,它提供了3个trace文件,因此,为了能够模拟更多的应用程序,我们通常会下载额外的多个MSR trace文件。下载地址:ftp://ftp.research.microsoft.com/pub/austind/MSRC-io-traces/ 

d)       在平台迁移过程中,若将本计算机的模拟器程序拷贝到其他计算机上,可能需要重新安装配置。

e)        建议搭配linux下SourceInsight使用,可提高开发编程效率。

1 0