wiki:GTD_Cloud_One_Haizea

Haizea


【1.Haizea介紹】

  • 簡介:是一個開放原始碼的以VM為基之租約管理架構(virtual machine-based lease management architecture)
    • 資源管理者(排程管理者)
    • 使用租約機制
    • VM-based
    • 開放原始碼

  • 用途:(有兩種使用方式)
    1. 獨立使用,通常用做 simulation
    2. 作為 OpenNEbula 的後端排程
  • 特色:
    • 租約特色:
      • lease必須能平行處理
      • Best-effort 租約 - 將會使用queue等待,直到有合適資源可使用
      • Advance reservation (AR) 租約 - 可以預定於未來某一段時間執行
      • Immediate 租約 - 資源必須馬上被提供
    • 演算法特色:
      • 明確地排程VM部署時所需的相關程序,而不需使用者來做分配
      • 利用 suspend/resume (當有更高權限的租約時,會將較低權限的VM suspend,再 migration 到其他台機器,再resume,也可使用 live-migration)
      • best-effort requests 使用先到先處理 queue with backfilling (aggressive, conservative, or with any number of reservations).

【2.架構】

  • 架構分為三層:
    1. Request Frontend - 接受需求的地方,可接受(1)OpenNEbula的要求 (2)直接從命令列來的要求 (3)檔案tracefile的要求(有 SWF 格式或是 Haizea專用的 LWF 格式)
    2. Scheduling Core - requests 被處理和排程的地方
    3. Enactment Modules - 真正執行排程後後動作的地方,Haizea可以管理 Xen 和 KVM 的叢集(藉著 OpenNEbula)(VMware 再將來也會支持),或是模擬的叢集

【3.租約機制探討】

相較於叢集常見的 Job-based schedule,Haizea 是偏向於Resource (資源)層級的排程,也比 Job-based 的排程更是用於異質性的環境,Haizea使用lease(租約)來分配和管理資源,接下來將細談三種出租約機制 (根據不同需求,來選擇你要的租約機制,再未來會增加兩種機制 Best-effort with deadlines 和 Negotiated leases)

1.Advance reservation(AR) leases:

  • 資源再某一段時間被提供,下圖表示在 13:00~14:00 會使用到 3台node 資源

http://haizea.cs.uchicago.edu/manual/lease_ar.png

2.Best-effort lease:

  • 資源必須盡可能的可用 (有時需求不限定要在那一段時間被執行,但它對資源卻有著嚴格的要求,通常會等到需要的資源都可用時才會被執行,否則會一直存在於佇列)
  • Case1 資源剛好都可以使用

http://haizea.cs.uchicago.edu/manual/lease_be1.png

  • Case2 等待資源可以使用,才開始執行

http://haizea.cs.uchicago.edu/manual/lease_be2.png

  • Case3 遇到權限更高的 AR lease 時,會先讓出資源使用權

http://haizea.cs.uchicago.edu/manual/lease_be3.png

  • Best-effort 又可分為:
    • Preemptible best-effort - 比較適用於 batch-jobs 或是不需互動的工作 (上面的Case都是)
    • Non-preemptible best-effort - 通常用於需要互動時,同時也會避免資源被其他的租約拿走

3.Immediate leases:

  • 資源必須馬上被提供

http://haizea.cs.uchicago.edu/manual/lease_im.png


【4.安裝】

測試平台的 OS 為 Debian 5.03 (AMD64)
  • 相依性套件
    # sudo aptitude install python2.5 python-egenix-mxdatetime python-mako 
    
    • python-psyco 只支援 i386 的處理器
  • 安裝
    # wget http://haizea.cs.uchicago.edu/downloads/haizea-1.0.tar.gz
    # tar zxvf haizea-1.0.tar.gz
    # cd haizea-1.0
    # sudo python setup.py install
    
    • 若是您沒有 root 權限,也可以指定安裝再自己的家目錄
      # python setup.py install --home=$HOME
      
    • 若看到以下訊息則表示安裝成功
      creating /usr/share/haizea/traces/multi
      copying traces/multi/inj1.lwf -> /usr/share/haizea/traces/multi
      copying traces/multi/inj2.lwf -> /usr/share/haizea/traces/multi
      copying traces/multi/withprematureend.lwf -> /usr/share/haizea/traces/multi
      copying traces/multi/withoutprematureend.lwf -> /usr/share/haizea/traces/multi
      running install_egg_info
      Writing /usr/lib/python2.5/site-packages/haizea-XXX.egg-info
      
  • 測試 (使用提供的範本來測試執行,此範本會 simulate 沒有需求的排程
    # sudo haizea -c /usr/share/haizea/etc/sample_trace.conf
    [2006-11-25 13:00:00.00] RM      Starting resource manager
    [2006-11-25 13:00:00.00] TFILE   Loading tracefile /usr/share/haizea/traces/sample.lwf
    [2006-11-25 13:00:00.00] TFILE   Loaded workload with 0 requests ()
    [2006-11-25 13:00:00.00] CLOCK   Starting simulated clock
    [2006-11-25 13:00:00.00] CLOCK   Simulated clock has stopped
    [2006-11-25 13:00:00.00] RM      Stopping resource manager gracefully...
    [2006-11-25 13:00:00.00] RM      --- Haizea status summary ---
    [2006-11-25 13:00:00.00] RM      Number of leases (not including completed): 0
    [2006-11-25 13:00:00.00] RM      Completed leases: 0
    [2006-11-25 13:00:00.00] RM      ---- End summary ----
    
  • 檔案路徑 (預設會放於 /usr/share/haizea)


【5.使用】

Haizea 的使用可以細分為三種模式:
  1. Unattended simulated mode
  2. Interactive simulated mode?
  3. OpenNebula mode

【參考】


Last modified 14 years ago Last modified on Jan 21, 2010, 2:11:15 PM

Attachments (3)

Download all attachments as: .zip