$30 off During Our Annual Pro Sale. View Details »

ASPLOS 2012 出張報告

ASPLOS 2012 出張報告

Avatar for Takahiro Shinagawa

Takahiro Shinagawa

April 25, 2012
Tweet

More Decks by Takahiro Shinagawa

Other Decks in Technology

Transcript

  1. ASPLOS 2012概要(1)  The 17th International Conference on Architectural Support

    for Programming Languages and Operating Systems  第1回は1982年,2008年までは隔年,2009年から毎年開催 2012/4/25 2
  2. ASPLOS 2012概要(3)  採択率は21.5% (37/172)  ラウンド1: 172 本⇒101本 

    査読者3名以上,「平均点<3.5点&最高点<5点」の71本を排除  ラウンド2: 101本⇒74本  PCメンバー2名による追加査読(平均的PCは14本査読)  反証期間(rebuttal period): 著者が反論  ラウンド3: 74本⇒37本  PCメンバー全員で一日かけて議論  9本がshepherdされた  分野  Operating systems (34%)  Compilers and programming languages (28%)  Core topics in computer architecture (37%)  参加者  大平 怜さん(日本IBM)が発表  日本人は参加者数が第2位 2012/4/25 4
  3. 紹介論文  Data Center / Cloud Computing  (Best Paper)

    Clearing the Clouds: A Study of Emerging Workloads on Modern Hardware  OS / Fault Tolerance  Understanding Modern Device Drivers  Cosmic Rays Don't Strike Twice: Understanding the Nature of DRAM Errors and the Implications for System Design  Virtualization  ELI: Bare-metal Performance for I/O Virtualization  Architectural Support for Hypervisor-secure Virtualization 2012/4/25 6
  4. (Best Paper) Clearing the Clouds: A Study of Emerging Workloads

    on Modern Hardware.  背景: クラウド・データセンターでの電力効率問題  Compute density / power consumption の向上が必要  問題: scale-out 負荷ではプロセッサの電力効率が低い  Scale-up 負荷を想定した設計  アウトオブオーダ実行,深いキャッシュ階層  内容:scale-out 負荷でのアーキテクチャ的問題を分析  Scale-out 性能を測定する「CloudSuite」ベンチマークを導入  Data Serving, MapReduce, Media Streaming, SAT Solver, Web Frontend, Web Search  従来の scale-up 負荷と比較  PARSEC, SPECint, SPECweb09, TPC-C, TPC-E, Web Backend  現状のプロセッサの問題点を4点指摘,今後もその傾向は継続  命令キャッシュのサイズ,命令・メモリ並列性,データワーキングセット,チップ内・ チップ間通信帯域 2012/4/25 7
  5. (Best Paper) Clearing the Clouds: A Study of Emerging Workloads

    on Modern Hardware.  Scale-out workload における4つの問題点  【フロントエンド】 命令キャッシュのミス率増加  L2 より大きいが L3 よりは小さい⇒命令フェッチ遅延→コアストール  【コア】 命令レベル・メモリレベル並列性が低い  ILP は 0.6~1.1, MLP は 1.4~2.3 ⇒多数のCPU資源が無題になる  分岐予測,ALU,forwarding paths, レジスタバンク,スケジューラ,ROB, LSQ, …  【データアクセス】 ワーキングセット(<2MB) < L3 キャッシュ  L3 がチップの広範囲を占めるわりに性能は向上しない  プリフェッチも効かないか逆効果(あちこちアクセスする)  【帯域幅】 広帯域の必要性が低い  共有データは少ない  メモリ帯域利用率は 15% 程度まで→帯域の無駄 2012/4/25 8
  6. Understanding Modern Device Drivers 2012/4/25 9  背景: デバイスドライバはOSのコードの多くを占めている 

    Linuxの70%,バグの温床,研究も多数  Shadow driver, RevNIC, Nooks, Palladium, XFI, Devil, Micro-drivers, etc.  問題: 多くの研究は一部のクラスのデバイスのみ扱う  NIC, sound card, storage deviceなど  他のデバイスの性質は知られていない  内容: デバイスドライバの様々な性質を明らかにする  Linuxの全てのデバイスドライバを調査  “DrMiner”でdata-flow analysis, ”DrComp”で類似コード抽出  デバイスの挙動を推測  ドライバは何をしているか?,ドライバの相互作用,ドライバの冗長性
  7. Understanding Modern Device Drivers 2012/4/25 10  ドライバは何をしているか?  研究時のドライバの挙動に対する前提を検証

     request handling and interrupts (only 23.3%), initialization and cleanup (36%), error handling (5%), configuration (15%), power management (7.4%), ioctl handling (6.2%)  15%のドライバは計算処理をしている(sound, NIC, wireless, CD-ROM, ..)  複数デバイスサポート(3,217個のバス・デバイスドライバで14,000デバイス)  ドライバの相互作用  デバイス内プロセッサの活用,汎用性向上,隔離用インターフェイス  {Kernel library, Memory management, Synchronization}, Device library, Kernel services  多くのドライバはカーネルサービスとの相互作用少⇒ユーザレベル・VM等での隔離が容易  デバイスもカーネルも直接は呼び出さないドライバ⇒”miniport”ドライバとして単純化可能  ドライバの冗長性  ライブラリやサブシステムによる抽象化の機会  8%のコードに類似性がある
  8. Cosmic Rays Don't Strike Twice: Understanding the Nature of DRAM

    Errors and the Implications for System Design 2012/4/25 11  背景: DRAMエラーはデータセンターでの主要な障害要因  Soft-error には ECC による SEC-DED が有効  α線や宇宙線などによる一時的エラー  Hard-error には page retirement が有効  Solaris は壊れたページを特定して使用不可にする  問題: soft-errorの頻度>hard-errorの頻度は本当か?  発生頻度は桁が違うと言われている  多くの研究はsoft-errorを対象としている  実際にそれを裏付ける大規模な field work は存在しない  内容: 実システムにおける大規模なDRAMエラーの分析  IBM Blue Gene/L, Blue Gene/P, SciNet のスパコン・クラスタ, Googleデータセンタからランダムに選択した20,000台のマシン  総計300テラバイト・年のメモリを調査
  9. Cosmic Rays Don't Strike Twice: Understanding the Nature of DRAM

    Errors and the Implications for System Design 2012/4/25 12  方法: アプリケーションで繰り返しメモリアクセス  同一カ所の繰り返しエラーをhardと識別  同じ場所に2度cosmic rayが来る可能性は極めて低い  結果:  エラーが発生したメモリバンクの3分の1以上がhard errorの兆候  2週間以内に同じ物理アドレスでエラーが発生  あるシステムでは95%以上がhard error  領域によってエラー発生率に偏りがある(特定のrow/column)  OSが酷使する領域はエラーが起きやすい傾向にある  より複雑なエラーには前兆がある場合が多い  Multi-bit errorsやchipkillの前に特定箇所に繰り返しエラー発生  ECCによるSEC-DEDでは解決できないエラーも多発  20%~45%のreduandant bit-steering, 15%のchipkill
  10. ELI: Bare-metal Performance for I/O Virtualization 2012/4/25 13  背景:仮想化環境におけるI/O性能

     デバイスのゲストへの直接割当が活用(GPU, NIC, Diskなど)  問題:Bare-Metalの60~65%の性能しか出ない  割り込み前後での ”VM exit” のコストが大きい(~150K回/s)  提案:ELI (Exit-Less Interrupts): 割り込みを直接ゲストに  IDT(割り込みテーブル)をシャドウ化  VMM (Hypervisor)がIDTの中身を制御  直接割当デバイス以外のハンドラを “non-present” に設定  通常デバイスへの割り込み発生時はVMMに制御が移る  直接割当デバイスへの割り込みは直接ゲストに送られる  ゲストから EOI の発行などを可能にする  最新の x2APICを使用(レジスタ単位で exit の有無を設定可能)  xAPICまではMMIOなのでページ単位でしかexitの有無を設定不可能
  11. Architectural Support for Hypervisor-secure Virtualization 2012/4/25 14  背景: ハイパーバイザの普及

     Amazon EC2等のIaaS型クラウドで活用  問題: ハイパーバイザからVMを守れるか?  ハイパーバイザが乗っ取られた時のVMの機密性・完全性維持  普通はハイパーバイザが全権限を持っている  提案: hypervisor-secure virtualization (HyperWall)  CPUを拡張して保護機構を導入する  CIP (Confidentiality and Integrity Protection) table  ハイパーバイザやDMAからのページ単位のメモリ保護  VM終了時のメモリゼロ初期化  CPU内電子署名による保護状態のチェック  VMの起動や停止など管理タスクはハイパーバイザが実行