Try   HackMD

2017 年春季班第一次分組表

主講人: jserv / 課程討論區: 2017 年系統軟體課程

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
返回「作業系統設計與實作」課程進度表

Policy

  • 選修課程的學生 2 人 一組
    • 日後會依據作業和報告份量調整分組
  • 旁聽的學生可自由選擇加入 既有的 組別
    • 旁聽學生的標注方式為「括號後方緊接著#」,如 lonely (梅仁耀)#
  • 每週更新共筆並準備進度報告影片
  • 授課教師跟學生一同分組,也是每週做報告

分組名單 (GitHub 帳號 + 中文姓名; 中間用「空白」區隔)


Team 1

  • [ ]yangyang95 (翁瑞陽)
  • [ ]changyuanhua (張圜華)

參照到 Wikipedia 時,一律用英文版本; 缺乏足夠的效能分析; 錄影字體太小,應該先切換到瀏覽器的 fullscreen 模式;
[May 2] 洽詢 champ 學長

Team 2

  • [ ]tina0405 (許雅雯)
  • [ ]heathcliffYang (楊惟晶)

注意螢幕字體,目前過小; 注意音量的一致性;
錄影分段過多,請用合併;
Part 3 / 1:30: memory 的台灣慣用翻譯是「記憶體」,不是「內存」;
Part 7 / 1:03: atomics 描述不精確;
Part 8 / 1:12: full barrier 為何?
Part 8 / 3:19: 如何解釋 add 的時間成本?

Team 3

  • [ ]jack81306 (林宸慶)
  • [ ]peterting (丁榮主)

避免使用 bandicam,多用開放原始碼解決方案; data flow
[May 2] 移轉到 Team 10

Team 4

  • [ ]ierosodin (許耕福)
  • [ ]stanleytazi (蔡玉倫)#
  • [ ]refleex (李孟儒)

Team 5

  • [ ]zhanyangch (陳展揚)
  • [ ]hunng (郭泓梃)
  • Task: 比照 B02: raytracing 要求,以 SIMD 改善 math-toolkit.h 定義的若干數學操作函式,進而推廣到整個光線追蹤的演算法 (可在不影響正確性的前提下,將原本的實作替換)。

顯示效果佳,程式碼請繼續
[May 2] new task: 參考 Joshua Barczak 的 SIMD Raytracing 實作,改寫原有的程式碼,但是 model 應該和 B02: raytracing 一致

Team 6

  • vtim9907 (徐偉庭)
  • henry0929016816(林彥亨)

錄影字體太小,應該先切換到瀏覽器的 fullscreen 模式;
4:35: 延伸閱讀 Data Alignment
5:45: 執行 gdb 時,加上 -q 參數以抑制冗長的授權聲明輸出;
10:53: 如何解釋程式執行結果?
25:58: data alignment 的衝擊為何?
[May 2] new task: 擴充 MathEX,設計高效能的數學表示式運算器,參考 muparserSSE - A Math Expression Compiler

Team 7

  • zmke (柯宗銘)
  • petermouse (林軒毅)
  • 0xff07 (林有容)#

2:47 補上 tqueue_{push,pop} 的實作示意圖; 4:47 描述整合時期所遇到的問題時,應一併探討如何修改 (patch); 缺乏效能分析
5:48: 是否考慮到 ABA problem?
[May 2] 併入 Team 2

Team 8

  • Cayonliow (廖其忻)
  • king1224 (洪正皇)
  • csielee (李東霖)#

改用 GraphViz 製圖; 08:51 刪除的時間計算不精準/不正確;
理工人不要隨便說「好像」;
0:5 是 "concurrent",不是 "concurrency";
3:59: 時間刻度改為 ms,不要用 sec;
4:09: 用統計模型來表示 append 的時間成本;
4:39: 需要更好的正確性檢驗機制;
[May 2] 移轉到 Team 4

Team 9

  • donbader(馮禹德)
  • yanang(陳彥安)

錄影字體太小,應該先切換到瀏覽器的 fullscreen 模式; 程式碼列表的字體也過小; ns 中文翻譯是「奈秒」;
[May 2] 併入 Team 5

Team 10

  • laochanlam(劉俊林)
  • etc276(洪得揚)

錄影的字體太小, 注意 Galois 的發音;
需要考慮數值分佈

Team 11

  • illusion030(李泓哲)
  • ryanwang522(王韻華)

避免用雙欄 (both) 模式,改用全螢幕瀏覽; 畫面偶有閃爍; 程式碼呈現用白底黑字; 重構前應該全面指出既有問題;
使用 Visual Studio Core 很潮!
2:01: 學習 Linux 核心 list_for_each_entry 的技巧;
3:20: localPtr 的命名過於累贅;
3:41: 需要說明如何分離 interface 和 implementation,以及後續如何做 polymorphism;
4:47: findLastNameremoveByLastName 命名不夠簡潔,只要能找到明確的人名,就可用 remove 移除,搜尋方法可能很多種 (如透過 regex [regular expression]); checkAPI 的存在是否必要?
5:29: optProvider 的命名不直覺;
5:39: 個別 phonebook 實作無可避免伴隨著各自的 structure,該如何用一致的 interface 去操作?
6:02: 與其用編譯時期挑選實作,不如在執行時期。還能因此設計更好的 benchmark suite;
6:39: main 函式應該簡化,將呼叫 interface 對應實作和效能比較的部分獨立出來;
6:57: 同前面討論,這部分的 abstraction 設計不佳;
8:53: 共用的程式碼如 _Generic 的處理,應該獨立出新的檔案;
9:52: 檔名和 build rules 應調整,將可共用的程式名稱放到 SRCS_common,個別的 phonebook 實作可用 impl_naive.c, impl_hash.c, impl_mempool.c 去區分;
10:49: 如何追蹤已配置的資源 (resources) 呢?該如何避免 leak 或者 shared memory 沒釋放的狀況?

Team 12

  • baimao8437(石碩亨)
  • xdennisx(徐銘宏)

編譯時應加上 -g 選項; 減少使用 Sublime 這類私有軟體,多用開放原始碼解決方案; 缺乏更深入的效能分析 (lock contention)
[May 2] new task: 延續上學期 MapReduce 的成果,強化效能和應用案例

Team 13

  • twzjwang (王贊鈞)
  • rayleigh0407 (戴子祐)

YouTube 網址用較短的版本,如 youtube.com/watch?v=EmDuuLygwHY;
螢幕字體太小,請調整;
用軟體去除背景噪音,如 Audacity;
5:17: 在工程中,如何控制 error rate 並取捨呢?
[May 2] 移轉到 Team 6

Team 14

  • hugikun999 (何俊逸)
  • claaaaassic (黃經典)
  • Weinux (黃士瑋)#

螢幕字體太小,請調整;
用軟體去除背景噪音,如 Audacity;
合併影片;
Part 1 / 8:44: 如何避免 sequential access 呢?能否透過多執行緒加速?又,如果資料是會持續變動 (考慮到 enqueue 和 dequeue),該如何調整?
13:08: 在多執行緒環境中,如何透過 lock-free memory pool 來改善操作?參考: How to write a thread-safe and efficient, lock-free memory allocator in C?Allocating Memory in a Lock-Free Manne
13:30: fuzzy 音標拼音: [f'ʌzi];
18:30: 預期達到怎樣的效果呢?如何整合呢?
Part 2 / 3:40: 考慮到 first_name 和 last_name 的組合,該怎樣設計有效的資料結構呢?
Part 3 / 2:14: 命名方式應調整; djb2
Part 3 / 3:48: 為何不用 Part 2 的資料來測試;
[May 2] 合併到 Team 11

Team 15

  • chenweiii (魏禛)
  • Sean1127 (鄭宇軒)
  • paul5566 (陳柏霖)#
  • Lukechin (呂科進)#

[May 2] 合併到 Team 12