All,<br><br>If any of you use FlashSim, I made a guide and also updated the src files so you need very little modification. If you already have DiskSim 3.0 working, with the attached files, you get get FlashSim working in minutes.<br>
<br>Hope this is helpful for you.<br>Jonathan<br><br><div class="gmail_quote">On Sun, Dec 5, 2010 at 9:42 PM, Jonathan Tjioe <span dir="ltr"><<a href="mailto:jontjioe@gmail.com">jontjioe@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">I got it working! I'll write up the instructions for what I had to do and send it out later this week.<br>

<br>
Thanks!<br><font color="#888888">
Jonathan</font><div><div></div><div class="h5"><br><br><div class="gmail_quote">On Sun, Dec 5, 2010 at 10:26 AM, Jonathan Tjioe <span dir="ltr"><<a href="mailto:jontjioe@gmail.com" target="_blank">jontjioe@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
All,<br><br>Here is an update with the exact error message I get. So after I have DiskSim 3.0 working, I backed up the DiskSim src directory:<br><span style="font-family: courier new,monospace;">cd ~/disksim/disksim-3.0</span><br>



<span style="font-family: courier new,monospace;">mv src src_orig</span><br><br>I then put src.release (from FlashSim) to src (in DiskSim directory):<br><span style="font-family: courier new,monospace;">cp -pR /tmp/src.release ~/disksim/disksim-3.0/src</span><br>



<br>I updated my .paths and .<a href="http://paths.in" target="_blank">paths.in</a> accordingly inside ~/disksim/disksim-3.0/src:<br>















<span style="font-size: 10pt; font-family: "Courier New";">#update the LIBPARAM_PREFIX
and LIBDDBG_PREFIX in the .<a href="http://paths.in" target="_blank">paths.in</a> file to have path of disksim directory<br>
export LIBPARAM_PREFIX=/home/jontjioe/disksim/disksim-3.0/libparam<br>
export LIBDDBG_PREFIX=</span><span style="font-size: 10pt; font-family: "Courier New";">/home/jontjioe/disksim/</span><span style="font-size: 10pt; font-family: "Courier New";">disksim-3.0/libddbg<br>




export DISKMODEL_PREFIX=</span><span style="font-size: 10pt; font-family: "Courier New";">/home/jontjioe/disksim</span><span style="font-size: 10pt; font-family: "Courier New";">/disksim-3.0/diskmodel<br>




<br>
<span style="font-family: courier new,monospace;">cp .</span><a href="http://paths.in" target="_blank">paths.in</a><span style="font-family: courier new,monospace;"> .paths</span><br><br><span style="font-family: arial,helvetica,sans-serif;">And then, I run the patch which updates dftl.c, disksim_logorg.c, fast.c, flash.c, pagemap.c, and syssim_driver.c:<br>



</span></span><span style="font-size: 10pt; font-family: "Courier New";">
cd ~/disksim/disksim-3.0/src</span><br><span style="font-size: 10pt; font-family: "Courier New";"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: courier new,monospace;">patch -p1 -i flashsim-20100324.patch</span><br>



<br>I then attempted to compile the src directory:</span><br>
cd ~/disksim/disksim-3.0/src<br>make<br>
<br>
</span>
This is the error I get:<br style="font-family: courier new,monospace;"><<<br><span style="font-family: courier new,monospace;">jontjioe@ubuntu:~/disksim/disksim-3.0/src$ make</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">make -C modules</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">make[1]: Entering directory `/home/jontjioe/disksim/disksim-3.0/src/modules'</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim bus.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_bus_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim ctlr.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_ctlr_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim iodriver.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_iodriver_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim ioqueue.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_ioqueue_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim disk.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_disk_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim simpledisk.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_simpledisk_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim simpleflash.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_simpleflash_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim device_stats.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_device_stats_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim bus_stats.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_bus_stats_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim ctlr_stats.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_ctlr_stats_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim iodriver_stats.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_iodriver_stats_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim pf_stats.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_pf_stats_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim global.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_global_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim stats.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_stats_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim syncset.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_syncset_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim synthgen.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_synthgen_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim synthio.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_synthio_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim logorg.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_logorg_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim pf.modspec </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">indent disksim_pf_param.c || true</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim cachemem.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_cachemem_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim cachedev.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_cachedev_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim device.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_device_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim iosim.modspec </span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">indent disksim_iosim_param.c || true</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://mod.pl" target="_blank">mod.pl</a> disksim iomap.modspec </span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">indent disksim_iomap_param.c || true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/sh: indent: not found</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libparam/<a href="http://make_modules_h.pl" target="_blank">make_modules_h.pl</a> disksim *.modspec > modules.h</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">make[1]: Leaving directory `/home/jontjioe/disksim/disksim-3.0/src/modules'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">gcc -Wall -Wno-unused -MD -I/home/jontjioe/disksim/disksim-3.0/diskmodel/include -I/home/jontjioe/disksim/disksim-3.0/libparam/include -I/home/jontjioe/disksim/disksim-3.0/libddbg/include -g -DASSERTS   -D_INLINE -DFSIM_DEBUG -g   -c -o disksim_main.o disksim_main.c</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from disksim_global.h:107,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 from disksim_main.c:58:</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">inline.h:41:8: warning: extra tokens at end of #endif directive</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">inline.h:43:8: warning: extra tokens at end of #endif directive</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from fast.h:11,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 from ssd_interface.h:14,</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">                 from disksim_main.c:60:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">type.h:8:1: warning: "ASSERT" redefined</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from disksim_global.h:141,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 from disksim_main.c:58:</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">disksim_assertlib.h:116:1: warning: this is the location of the previous definition</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">disksim_main.c: In function `warmFlashsynth':</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">disksim_main.c:70: warning: implicit declaration of function `opagemap_reset'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">disksim_main.c: In function `warmFlash':</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">disksim_main.c:91: warning: int format, long int arg (arg 5)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">gcc -Wall -Wno-unused -MD -c -I/home/jontjioe/disksim/disksim-3.0/diskmodel/include -I/home/jontjioe/disksim/disksim-3.0/libparam/include -I/home/jontjioe/disksim/disksim-3.0/libddbg/include -g -DASSERTS   -D_INLINE -DFSIM_DEBUG -g disksim.c -o disksim.o</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from disksim_global.h:107,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 from disksim.c:101:</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">inline.h:41:8: warning: extra tokens at end of #endif directive</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">inline.h:43:8: warning: extra tokens at end of #endif directive</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from config.h:36,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 from disksim.c:105:</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">/home/jontjioe/disksim/disksim-3.0/libddbg/include/libddbg/libddbg.h:106:7: warning: extra tokens at end of #else directive</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from fast.h:11,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 from ssd_interface.h:14,</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">                 from disksim.c:120:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">type.h:8:1: warning: "ASSERT" redefined</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from disksim_global.h:141,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                 from disksim.c:101:</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">disksim_assertlib.h:116:1: warning: this is the location of the previous definition</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">In file included from disksim.c:493:</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">modules/disksim_global_param.c:106:23: missing terminating " character</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">modules/disksim_global_param.c:107:1: missing terminating " character</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">In file included from disksim.c:493:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">modules/disksim_global_param.c: In function `disksim_global_loadparams':</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">modules/disksim_global_param.c:108: error: syntax error before "return"</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">modules/disksim_global_param.c:113:1: warning: no newline at end of file</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">disksim.c: In function `disksim_setup_disksim':</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">disksim.c:942: warning: implicit declaration of function `iosim_initialize_iosim_info'</span><br style="font-family: courier new,monospace;">



<span style="font-family: courier new,monospace;">make: *** [disksim.o] Error 1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">>></span><br><br>Thanks in advance for your help,<br>

<font color="#888888">
Jonathan</font><div><div></div><div><br>
<br><div class="gmail_quote">On Sat, Dec 4, 2010 at 11:45 AM, Jonathan Tjioe <span dir="ltr"><<a href="mailto:jontjioe@gmail.com" target="_blank">jontjioe@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



All,<br><br>I am trying to use FlashSim in conjunction with DiskSim3.0. High-level procedures to set this up are described here:<br><br><a href="http://csl.cse.psu.edu/?q=node/322" target="_blank">http://csl.cse.psu.edu/?q=node/322</a><br>




<br>This will provide me with an environment to simulate DFTL, Page Mapping FTL, and FAST.<br><br>The first step is to get DiskSim3.0 installed and working. I was able to get DiskSim3.0 installed, configured, and compiled successfully using the procedures that are posted here:<br>




<br><a href="http://www.pdl.cmu.edu/DiskSim/Compiling_DiskSim3.0_v1.0.pdf" target="_blank">http://www.pdl.cmu.edu/DiskSim/Compiling_DiskSim3.0_v1.0.pdf</a><br><br>However, I was not sure how to complete the remaining steps on <a href="http://csl.cse.psu.edu/?q=node/322" target="_blank">http://csl.cse.psu.edu/?q=node/322</a> to get FlashSim working correctly. The instructions say to extract src.release.tar.gz which I did. But am I supposed to get rid of my existing (and correctly functioning)  ~/disksim-3.0/src directory and replace it with the src.release directory? I wasn't sure if I should get rid of it or copy over it with the new src.release contents.<br>




<br>Also, after that is resolved, what is the proper command I should use to correctly "make" the files?<br><br>Any help is greatly appreciated.<br><br>Thanks.<br><font color="#888888">Jonathan<br>
</font></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>