分享到plurk 分享到twitter 分享到facebook

版本 ead1d32d29bf3d20e818b679ac81bbf67c0cdb4a

embedded/2016q1h5

Changes from ead1d32d29bf3d20e818b679ac81bbf67c0cdb4a to 1ebbde2e8e713bb9bdd6476327ce02f5450fc853

---
title: 2016q1 Homework #5
toc: no
...

預期目標
------------
* 培養團隊合作默契
* 強化表達能力
* 準備日後可用於研究所推薦甄試和申請工程師職務用途的技術報告

注意須知
--------
* 自 Homework 5 之後,都是分組進行
* 在每次 checkpoint 日的中午前,製作一份時間在 40 分鐘內的錄影,至少涵蓋以下:
* 在每次 checkpoint 日的 11:59AM 前,上傳一份時間在 40 分鐘內的錄影,至少涵蓋以下:
    - 探討背景知識
    - 開發進度
    - 面臨的問題
    - 接下來預計導入的解決方案
* 技術報告的影片經過剪接編輯後,上傳到 YouTube,設定存取權限為「公開」
    - 參考: [GUTS channel](https://www.youtube.com/channel/UCIm-u7l65hp5jboSJrB7U5w/videos)
    - 示範: [GUTS channel](https://www.youtube.com/channel/UCIm-u7l65hp5jboSJrB7U5w/videos)
    - 在共筆中清楚標注技術報告的 YouTube 連結
* 本次作業對應的 checkpoint 為 4 月 26 日
* 開發過程請詳實更新於[分組共筆](https://embedded2016.hackpad.com/2016-c9i9qW6eGpb)中
* 不需要準備 PowerPoint / OpenOffice 一類的投影片,我們只需要詳實清楚的文字、圖表,以及程式碼
* **不需要**準備投影片,我們只要詳實清楚的文字、圖表,以及程式碼 (語文能力是本課程的要求項目之一)
* 各組預期目標請見下方各節

## server-framework
- 彙整 [2016q1 Homework #3](/embedded/2016q1h3) 的開發成果,詳實分析 server-framework 的架構、系統設計,效能評估,以及效能改進方案
- 說明 async, reactor, protocol-server 彼此之間的關聯
- 探討 epoll, pipe, signals 等系統呼叫,以及 server-framework 如何使用
- 多執行緒設計的議題
- 分析 HTTP request 和 web server 的行為
- 實做與分析 lock-less thread pool
- 提出效能分析 (含 HTTP 1.1 Keep-Alive) 以及改善方案
- 需要透過 gnuplot 建立圖表

## epoll experiments