wanghanchi

@wanghanchi

Joined on Jul 15, 2022

  • contributed by < WangHanChi > 作業要求 :::info [x] 完成實作 queue.c 所有功能 [x] make test 取得 100 分 [x] 研讀 lib/list_sort.c 並將其加入專案中 [x] 實作新的命令 shuffle [ ] 完成 entropy 相關命令 / 選項
     Like  Bookmark
  • Arm cortex-m4 hello world bare metal 安裝流程 安裝 arm-none-eabi-gcc 首先先去下載原始壓縮檔 $ sudo apt-get install gcc-arm-none-eabi 原本的安裝的不會有 GDB,要自己額外去裝才可以用 先安裝套件
     Like  Bookmark
  • contributed by < WangHanChi > 作業要求 :::info [x] 研讀上述 Linux 效能分析的提示 描述,在自己的實體電腦運作 GNU/Linux,做好必要的設定和準備工作 [x] 研讀上述費氏數列相關材料 (包含論文),摘錄關鍵手法,並思考 clz / ctz 一類的指令對 Fibonacci 數運算的幫助。請列出關鍵程式碼並解說 [x] 複習 C 語言 數值系統 和 bitwise operation,思考 Fibonacci 數快速計算演算法的實作中如何減少乘法運算的成本; [x] 學習指出針對大數運算的加速運算和縮減記憶體操作成本的舉措,紀錄你的認知和疑惑 [ ] 注意到 fibdrv.c 存在著 DEFINE_MUTEX, mutex_trylock, mutex_init, mutex_unlock, mutex_destroy 等字樣,什麼場景中會需要呢?撰寫多執行緒的 userspace 程式來測試,觀察 Linux 核心模組若沒用到 mutex,到底會發生什麼問題。嘗試撰寫使用 POSIX Thread 的程式碼來確認
     Like 1 Bookmark
  • contributed by < WangHanChi > rbtmalloc :::info 面談紀錄[ ] CS:APP 第九章要看完 [ ] 參考 thestinger/allocator 的測試方法 (eg. test_small.c) 以完成小中大記憶體的測試還有不同數量執行緒的測試 (lock 競爭) [ ] 閱讀 thestinger/allocator 中的 alloc.c [ ] 閱讀 struct/isoalloc 中的 PERFORMANCE.MD (<- 也許可以從中找到改進的點) 與 src/iso_alloc_util.c
     Like  Bookmark
  • contributed by < WangHanChi > 作業要求 :::info 測驗一[ ] 解釋上方程式碼運作原理,指出其設計和實作缺失,並予以改進。不用抄寫題目,專注於你對程式碼的理解 [ ] 原本的程式碼只實作 first-fit 演算法,請重新實作為 best-fit [ ] 將 memory pool 程式碼引入到 fibdrv 或課程作業中 測驗二
     Like 1 Bookmark
  • contributed by < WangHanChi > 作業要求 ktcp [ ] 學習〈Linux 核心設計: 針對事件驅動的 I/O 模型演化〉 [ ] 探討 TCP 伺服器開發議題 [ ] 學習 Linux 核心的 kernel thread 和 workqueue 處理機制 [ ] 學習 Concurrency Managed Workqueue (cmwq) [ ] 預習電腦網路原理
     Like  Bookmark
  • contributed by < WangHanChi > 作業要求 :::info 測驗一[x] 摘錄上述紅黑樹新增和刪除節點操作的程式碼,解釋其原理 [x] 運用你在第 3 週測驗題提及的延伸問題所開發出的效能評比程式,分析不同 rbtree 實作的效能落差 [ ] jemalloc 專案的 test/unit/rb.c 對 rbtree API 有更完整的涵蓋,其中 summarize/filter 能夠特化查詢範圍,請自 jemalloc 移植更豐富的 rbtree API 及其實作,並撰寫相關的測試程式 (含效能評比) [ ] 解讀 Linux 核心的 include/linux/rbtree.h, include/linux/rbtree_types, lib/rbtree.c 運作原理,並探討能否運用上述手法,以縮減 rbtree 節點的佔用空間
     Like  Bookmark
  • contributed by <鄒崴丞StevenChou>, <王漢祺WangHanChi> ::: success Expectation (Goal) [X] 1. RISC-V Atom 的 pipeline 採用簡化的設計,而非典型的 3-stage,請分析其設計動機和對於 FPGA 的效益(特別是 LUT 的數量精簡) [x] 2. 以 Verilator 驗證 RISC-V Atom,並確保 Dhrystone 一類的專案得以在該處理器上運作 [x] 3. 學習 AtomSim 和撰寫相關文件 [x] 4. 嘗試實作 RV32M 指令,並運用 riscv-arch-test 或 riscv-tests 確保可通過所有的 RV32I / RV32M 指令測試 [x] 5. 詳實紀錄上述過程,包含遇到的技術問題,可在 GitHub 上提交issue,和原開發者的討論也被認定是參與的一種形式,當然,最後若能貢獻 RV32M 或相關的實作,會是更好。 :::
     Like  Bookmark
  • contributed by < WangHanChi > 作業要求 :::info 測驗 1[ ] 指出 treesort.c 程式碼的缺失並改進 [ ] 利用 Linux 核心的 list.h 標頭檔改寫並整合進第一次作業的實驗程式碼中,探討 Tree sort 的效率 [ ] 研讀 Linux 核心的 Red–black tree 程式碼,比較給定的 treesort.c 實作手法,指出後者的改進空間並予以實作
     Like  Bookmark
  • contributed by < WangHanChi > 作業要求 :::info 測驗 1[x] 解釋上述程式碼原理,並用 __builtin_clzl 改寫 [x] 在 Linux 核心原始程式碼找出類似的使用案例並解釋 [x] 當上述 clz 內建函式已運用時,編譯器能否產生對應的 x86 指令?
     Like  Bookmark
  • contributed by < WangHanChi > 作業要求 :::info 測驗一[x] 解釋上述程式碼運作原理 [x] 針對 Quick sort 提出上述程式碼的改進方案並實作 [ ] 引入上述的 hybrid sort 策略並在 Linux 核心風格的 circular doubly-linked list 實作,需要量化性能表現並探討不同資料集 (data set) 的影響 [ ] BONUS: 嘗試對 Linux 核心提出排序程式碼改進的貢獻
     Like  Bookmark
  • lib/list_sort.c 出於好奇,我會將這些 list_sort.c 的問題,對 ChatGPT 進行提問,並將對話附在下方,最後再做比較及總結 研讀過程 merge __attribute__((nonnull(2,3,4))) static struct list_head *merge(void *priv, list_cmp_func_t cmp, struct list_head *a, struct list_head *b) {
     Like  Bookmark