1. 程式人生 > >天人合一之畢設——實踐階段8—— 全面測試、優化策略的測試與實施

天人合一之畢設——實踐階段8—— 全面測試、優化策略的測試與實施

    上次去找師兄聊了聊,首先對前期工作他回答了我不用考慮庫函式

    其次,物件大小開的有點小,可以嘗試開到1G左右

    而且只用一個程式不夠豐滿,讓我在網上再找3個較簡單的程式進行全面測試

    要找肯定儘量找那些有訪存特性的程式,增刪改查、搜尋之類的

    目前覺得可能可以去試試找:二分查詢、連結串列的增刪改查、二叉樹遍歷、圖遍歷等程式

    對於下一步的工作

    1.設計優化策略

    (1)層次結構:NVM做主存,DRAM做加速器

            一開始全部放在NVM中,監測到區域性熱的時候(迴圈)遷移到DRAM中,區域性熱結束後遷回

            有一個問題:比如一個物件有兩段區域性熱,用一次遷入遷出會不會好一點

            畢竟遷移自身也要付出時間和讀寫的代價

            當訪存特徵符合二八定律時,我們是不是可以認為那些佔用了多次讀寫的少數物件一定是經歷了迴圈體

            關於監測區域性熱,目前想到的思路是這樣:

            在原有的逐行監測基礎上,遇到迴圈體,之前是物件訪問次數*repeatcount

            我們在物件屬性裡新增一個屬性,即物件在每個迴圈體裡訪問的次數順序表,並記錄下迴圈體位置

            到時候等統計完總體的了,我們再來看是根據固定值還是百分比來劃分閾值

    (2)平行結構:一個整體

            根據閾值進行預放置,讀寫密集的放入DRAM,其他放入NVM

            這要根據訪存概率分佈來看了,分兩種情況

            1)符合二八定律  那就是將少數訪問多的物件放入DRAM,其餘NVM

            2)均勻分佈,用一刀劃的方法肯定不太好,那這種情況得出一個壞結果也是可以的

                  如果是均勻的少,這種分佈可能更加適合層次結構,一開始就全部放在NVM中

                  如果是均勻的多,那麼可能有一部分被放入DRAM中是由於全放在NVM中的

                   但是一般情況很難出現訪問很均勻的情況的,到時候看結果再說吧

        2.實施優化策略

            就是和前面類似的一個插樁過程

        3.撰寫論文

            按師兄的提醒,思路程式碼好解決,論文很難造,最好邊做邊寫論文

            目前把第一章緒論寫的差不多了,可是思路部分,尤其是前面的分析程式,真的很難寫啊....啊啊啊,哭唧唧