2014年2月19日 星期三

Exploiting workload dynamics to improve SSD read latency via differentiated error correction codes

   goal:  加快 read page latency (如圖最下方)

   方法:
        如圖最下: 有點像切pipeline。一個pages分成多個segment,如最上方圖(b),如此,讀第二個         segment的時候就可以同時幫第一個pages做ECC解碼的動作。


   concern:
        ECC size 均分到各個segment之, ECC的能力會變弱…(e.g., 原本能允許整個pages發生16bit的error,現在每個segment最多承受4bit)。  所以要想辦法降低 error rate。 方法:  降低寫入的速度,來提高reliability (也就是減少error rate啦)

    how about write latency ?  不就犧牲太多??
         配套 1 加RAM當 write buffer
                  2 只在有idle time的時候做"慢速寫入"
                      ps: idle time指的是host沒發request來的時候,此處是用估計的…非即時偵測。
 
     






   

2014年2月17日 星期一

用blktrace 錄 postmark

1 準備一個partition (就是讓postmark噴 request過去的啦)。
       
         a. what size of partition
         b. what filesystem    
       
          e.g., sudo postmark xx.conf


2 打開blktrace (準備攔截噴到那個partition的IO)
   例如  blktrace -d  /dev/sda3
    note: 如果你硬要自己取 blktrace outputfile的名子,要小心…。e.g., 我取『pm_64-        128file_32rec_5000WTx_5GB.blktrace.out』  這個名子 blkparse 都失敗…


3 新開一個terminal來啟動 postmark →設參數 (看你想要什麼樣的workload) → run
   這樣postmark就開始噴request了

    note:  跑postmark前,最好先清空cache。參考網址




     ps 每次設參數很煩 你就寫一個 .conf 檔,然後用 "load" 載入
     note:  設定postmark file數時(e.g., set number)要確定沒超過 partition size,不然可能出現權限問題


4 等到噴完 用ctrl + c 終止 blktrace ,然後再同一個目錄下會出現很多log檔~


5 用 blkparse 去解碼,不然你是看不懂那一堆 log檔的
   e.g., blkparse sdb4.blktrace* > pm64_128kbfile_32kbrec_5GB.dis.tmp


6 post-processing if needed.
   像是後製成 disksim可以吃的格式。



---------
ref: http://www.cse.unsw.edu.au/~aaronc/iosched/doc/blktrace.html

     

web2 +mp3 結果圖 分析

1 原本paper上的圖有開work-conserving,要把他改成新圖。
   而且只放  前100sec (也就是有灌滿的期間)



2 在該段期間內,QDI差異約6~7倍 (當然,承受較多的user受到干擾)



3 無GC ,  so no GCI