『筆記』disksim在超急速trace下跑很慢,如何去加速
1 先用gprof去查可能的bottleneck function
2 以title為例,bottleneck都在處理queue(大多是 insert,get或是delete )
3. 本次發現 logorg_addnewtooutstandq()是bottleneck。原因是裡面有個while loop的功能只為了找到某linked list的tail。解法是: 『維護一個pointer永遠指向outstandq的tail』。注意: outstandq有很多個(也就是有很多條linked lists)。
4. 注意: tail pointer指向的東西(假設是temp)可能會被移除,所以temp被移掉
時最好是將tail-pointer更新成 temp->prev,不然下次addnewtooutstandq時如果發現tail-pointer還是null,就必需重找…(就沒加速到了啦)
5. ps: gprof只有當程式全部跑完才會產生 gmon.out
2014年1月28日 星期二
2014年1月12日 星期日
2013年12月27日 星期五
Improving NAND Endurance by Dynamic Program and Erase Scaling
paper sharing:
title: Improving NAND Endurance by Dynamic Program and Erase Scaling
where: HotStorage13
------------------------------ ------------------------------ ------------------
1. flash的endurance和program時用的電壓有關 ~ (電壓越大~命越短)
2. 承上,所以program speed和endurance就是一個tradeoff囉。( 電壓越大寫越快)
3 他就弄了一個FTL叫 DPES-FTL (dynamic program and erase scaling (DPES)),希望可以提高endurance而又不要害到w rite speed太多
how ?
→ 兩個write req之間的idle time時用小電壓
如何知道會有idle time?
→ by estimation
contributions
1. endurance-programSpeed model
2. DEPS-FTL
title: Improving NAND Endurance by Dynamic Program and Erase Scaling
where: HotStorage13
------------------------------
1. flash的endurance和program時用的電壓有關
2. 承上,所以program speed和endurance就是一個tradeoff囉。(
3 他就弄了一個FTL叫 DPES-FTL (dynamic program and erase scaling (DPES)),希望可以提高endurance而又不要害到w
how ?
→ 兩個write req之間的idle time時用小電壓
如何知道會有idle time?
→ by estimation
contributions
1. endurance-programSpeed model
2. DEPS-FTL
2013年12月25日 星期三
Program Interference in MLC NAND
Program Interference in MLC NAND Flash Memory: Characterization, Modeling, and Mitigation' ICCD13
http://users.ece.cmu.edu/ ~omutlu/pub/ flash-programming-interference_ iccd13.pdf
建一個model,讓你知道在什麼情況下會發生 program interference
情況包含: 1 program location
2 program order
3 current P/E cycle
準度有96%呢~~好強喔~~~
然後呢,要幹麻?
→ 用途1,你可以把這個model掛上disksim,就可以做這 方面的實驗了。
那他拿來幹麻?
→ 他用他預測的model,來做偷調電壓的動作 (我沒看很仔細)
例如: 某個cell讀出來 10V,他查一下model認定該cell原本應該是8V
是被干擾才變成10V,所以就扣減2V
好處?
→ 如果真的被他猜對,原本可能要ECC幫忙的,就省起來了~
省起來又怎樣? ECC不是電路在作嗎?
→ ECC發現error會在correct完後"再寫回",所以如 果可以把不用correct
就可以省寫很多pages啦~
http://users.ece.cmu.edu/
建一個model,讓你知道在什麼情況下會發生 program interference
情況包含: 1 program location
2 program order
3 current P/E cycle
準度有96%呢~~好強喔~~~
然後呢,要幹麻?
→ 用途1,你可以把這個model掛上disksim,就可以做這
那他拿來幹麻?
→ 他用他預測的model,來做偷調電壓的動作 (我沒看很仔細)
例如: 某個cell讀出來 10V,他查一下model認定該cell原本應該是8V
是被干擾才變成10V,所以就扣減2V
好處?
→ 如果真的被他猜對,原本可能要ECC幫忙的,就省起來了~
省起來又怎樣? ECC不是電路在作嗎?
→ ECC發現error會在correct完後"再寫回",所以如
就可以省寫很多pages啦~
2013年12月16日 星期一
買東西的眼光
想要 弄一個網拍賣賣的平台,專門用來賣家裡用不到 但還有點價值的東西…
這種東西,還真他媽的多…平常亂買的能力根本全點滿
當下覺得好像很有用,但事實証明: 根本狗屎了
這些東西靜靜的躺在某個腳落,然後無法發揮功能
是在囤貨 還是收藏 ?! 幹 超可惜 也超浪費錢的
這種東西,還真他媽的多…平常亂買的能力根本全點滿
當下覺得好像很有用,但事實証明: 根本狗屎了
這些東西靜靜的躺在某個腳落,然後無法發揮功能
是在囤貨 還是收藏 ?! 幹 超可惜 也超浪費錢的
寫paper,改intro.的一個上午
早上修了一下 introduction,因為老大說太弱
自己重讀發現: 果然是弱
萬事起頭難,一開始完全不知道怎麼讓它"變強"
只好讀別人的寫法,解析出他們論述的脈胳,之後立刻開工
加了例子(個人是覺得還不錯,專業度和威風度有上升了一小咪)
然後再把幾個不順的句子,重整和微調。
整體,有變得不那麼"弱"了 ha
自己重讀發現: 果然是弱
萬事起頭難,一開始完全不知道怎麼讓它"變強"
只好讀別人的寫法,解析出他們論述的脈胳,之後立刻開工
加了例子(個人是覺得還不錯,專業度和威風度有上升了一小咪)
然後再把幾個不順的句子,重整和微調。
整體,有變得不那麼"弱"了 ha
2013年12月10日 星期二
os作業
題目: 用mulit-process來一起(平行)運算矩陣乘法
提示: a 用 shared memory 來傳資料 (就IPC啊)
b 用 signal 來作handshaking (就我運算完叫醒你,換你算囉)
c 用 fork來作multi-processing
可學到什麼?
就 a b c 囉 hahahah
訂閱:
文章 (Atom)