課程名稱 |
虛擬機器 Virtual Machines |
開課學期 |
102-2 |
授課對象 |
電機資訊學院 資訊網路與多媒體研究所 |
授課教師 |
徐慰中 |
課號 |
CSIE5310 |
課程識別碼 |
922 U4140 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期四6,7,8(13:20~16:20) |
上課地點 |
資111 |
備註 |
總人數上限:50人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1022CSIE5310_VM |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
虛擬化技術在各種計算機系統領域都被用來創新解決問題的方法。在支援作業系統(OS) 上,虛擬機器監督器(VM Monitor), 譬如以VMware, Xen, 或KVM為基礎,能讓一套硬體系統上同時執行多個不同的OS,大量提昇伺服器硬體系統的使用效率。在支援程式語言(Programming Language) 上,高階語言虛擬機,譬如JVM and DVM有效解決程式移植的問題。在支援計算機架構(Computer Architecture) 上,Process VM,譬如 Virtual PC或IA32-EL讓不相容的執行碼可以跨越平台使用。這些虛擬機所使用的原理和技術,被認為是計算機領域的硬體(Hardware), 軟體(Software), 應用(Application) 之外的第四個應具備的學科訓練。課程內容包含程序虛擬機(Process Virtual Machines), 高階語言虛擬機(High-level Language Virtual Machines) ,及系統虛擬機(System Virtual Machines) ,以及虛擬化技術在各領域的創新應用。 |
課程目標 |
本課程的設計專注在讓學生了解虛擬化基本的原理,廣泛的應用,實現的方法, 和效能的考量,以及虛擬化技術在各領域的創新應用。本課程除了基本原理和實作技術,也搭配業界最新開發系統的實例。 |
課程要求 |
Computer Architecture or Computer Organization
Operating System
Compiler
System Programming
|
預期每週課後學習時數 |
|
Office Hours |
|
指定閱讀 |
教科書
Selected papers from OSDI, VEE, ISCA, Micro, ASPLOS, CGO, and Usenix conferences |
參考書目 |
教科書:
書名:Virtual Machines: versatile platforms for systems and processes,
作者: James Smith and Ravi Nair
出版社: Morgan Kaufmann
出版年: 2005 |
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
第1週 |
2/20 |
Chapter 1: Introduction to Virtual Machines |
第2週 |
2/27 |
Chapter 1 Review and Chapter 2 |
第3週 |
3/06 |
Emulation: Dynamic Binary Translation |
第5週 |
3/20 |
Process Virtual Machines:
Memory architecture, exception emulation, OS emulation |
第6週 |
3/27 |
Process Virtual Machines |
第7週 |
4/03 |
Spring Break |
第8週 |
4/10 |
Dynamic Binary Optimization |
第9週 |
4/17 |
Mid-term Exams |
第10週 |
04/24/2014 |
Midterm Exam discussion and Chapter 4 (trace, superblock, speculative code motion) |
第11週 |
4/29 |
System Virtual Machines:
CPU virtualizations |
第12週 |
5/08 |
System Virtual Machines: CPU,
Memory and I/O virtualizations |
第13週 |
5/15 |
I/O Virtualization |
第14週 |
5/22 |
System Virtual Machines:
Case study, ARM/KVM implementation
Homework Assignment#2 Tutorial |
第15週 |
5/29 |
System Virtual Machines: Multi-processor virtualizations and GPGPU virtualizations |
第16週 |
06/05 |
Paper Presentations |
第17週 |
6/09 evening |
Paper presentations |
第18週 |
6/09 |
Paper presentations |
第3-2週 |
3/06 |
Homework#1 source code tar file |
第3-2週 |
|
Chapter 2 Review |
第4-1週 |
3/13 |
Process Virtual Machines:
compatibility, state mapping, instruction emulation |
第5-1週 |
|
Chapter 3 Review |
第7-1週 |
4/03/2014 |
Dynamic Binary Optimization reference papers ADORE |
第7-2週 |
4/03/2014 |
Dynamic Binary Optimization reference Paper (Dynamic Helper Thread) |
第11-2週 |
05/03/2014 |
Homework Assignment#2 |
第4-00週 |
03/13 |
references papers (QEMU) |
第4-01週 |
03/13 |
reference papers (HQEMU) |
第4-02週 |
03/13 |
reference papers (LLBT) |
|