22nd acm symposium on operating systems principles (sosp2009)参加報告

40
SOSP 2009報告 at 20回仮想化実装技術勉強会(vimpl) 2009/Nov/5 須崎有康

Upload: kuniyasu-suzaki

Post on 14-Jan-2015

2.138 views

Category:

Technology


0 download

DESCRIPTION

22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告 at 20回仮想化実装技術勉強会(vimpl)2009/Nov/5 http://qwik.atdot.net/vimpl/82.html

TRANSCRIPT

Page 1: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

SOSP 2009報告

at 20回仮想化実装技術勉強会(vimpl) 2009/Nov/5

須崎有康

Page 2: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

概要• 22nd ACM Symposium on Operating Systems Principles

– October 11-14, 2009– Big Sky Resort, Big Sky, MT (異常気象で雪があり、とっても寒かった)– Submit 139本、Accept 23本 (17%)、Best Paper 3本

• WIP Submit 64件、Accept 16件– 参加者500名程度。半数が併設Workshopにも参加。

– 感想:一発ネタでは通らない。– 参考文献を見ると関連研究がUSENIX ATC, EuroSys, ASPLOSなどに通っている。

– Keynote SpeechはTuring Award Winnerの Barbara Liskov– Marc Wiser Award は Eric Brewer (UCB)– SOSP 2009 Report

• 英語だが質問まで記録 http://www.mrry.co.uk/blog/2009/10/12/sosp-2009-day-1/• 土屋さん(日本語) http://tsuchiya-yoshihiro.blogspot.com/2009/09/sosp-2009.html

– (写真)http://picasaweb.google.com/tsuchiya.yoshihiro/SOSP2009BigSkyMT?feat=directlink#

• 太田さん(日本語) http://kzk9.net/blog/2009/08/sosp_2009_review.html

• 交互に行われているOSDI2010はバンクーバー• SOSP2011はバンケットで候補あがる。ポルトガル(リスボン、どこかの島)、

ドイツらしい。– 今後、中国という声もあるが日本はない。

Page 3: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

プログラム1日目• Session 1: Scalability (Chair: Jeff Dean, Google)

– Awarded Best Paper! FAWN: A Fast Array of Wimpy Nodes• G. Andersen (Carnegie Mellon University), Jason Franklin (Carnegie Mellon University), Michael Kaminsky (Intel Research

Pittsburgh), Amar Phanishayee (Carnegie Mellon University), Lawrence Tan (Carnegie Mellon University), Vijay Vasudevan(Carnegie Mellon University)

– Awarded Best Paper! RouteBricks: Exploiting Parallelism to Scale Software Routers• Mihai Dobrescu (EPFL) and Norbert Egi (Lancaster University/Intel Research), Katerina Argyraki (EPFL), Byung-Gon Chun (Intel

Research), Kevin Fall (Intel Research), Gianluca Iannaccone (Intel Research), Allan Knies (Intel Research), Maziar Manesh (Intel Research), Sylvia Ratnasamy (Intel Research)

– The Multikernel: A New OS Architecture for Scalable Multicore• Andrew Baumann (ETH Zurich), Paul Barham (MSR Cambridge), Pierre-Evariste Dagand (ENS Cachan Bretagne), Tim Harris

(MSR Cambridge), Rebecca Isaacs (MSR Cambridge), Simon Peter (ETH Zurich), Timothy Roscoe (ETH Zurich), Adrian Schüpbach (ETH Zurich), Akhilesh Singhania (ETH Zurich)

• Session 2: Device Drivers (Chair: Philip Levis, Stanford)– Fast Byte-granularity Software Fault Isolation

• Miguel Castro (Microsoft Research), Manuel Costa (Microsoft Research), J.P. Martin (Microsoft Research), Marcus Peinado(Microsoft Research), Periklis Akritidis (Microsoft Research and Cambridge University), Austin Donnelly (Microsoft Research), Paul Barham (Microsoft Research), Richard Black (Microsoft Research)

– Tolerating Hardware Device Failures in Software• Asim Kadav (University of Wisconsin-Madison), Matthew J. Renzelmann (University of Wisconsin-Madison), Michael M. Swift

(University of Wisconsin-Madison) – Automatic Device Driver Synthesis with Termite

• Leonid Ryzhyk (NICTA, UNSW), Peter Chubb (NICTA, UNSW), Ihor Kuz (NICTA, UNSW), Etienne Le Sueur (NICTA, UNSW), Gernot Heiser (NICTA, UNSW, Open Kernel Labs)

• Session 3: Debugging (Chair: Yuanyuan Zhou, UCSD)– Automatically Patching Errors in Deployed Software

• Jeff H. Perkins (MIT), Sunghun Kim (HKUST), Sam Larsen (VMware), Saman Amarasinghe (MIT), Jonathan Bachrach (MIT), Michael Carbin (MIT), Carlos Pacheco (BCG), Frank Sherwood, Stelios Sidiroglou (MIT), Greg Sullivan (BAE AIT), Weng-Fai Wong (NUS), Yoav Zibin (Come2Play), Michael D. Ernst (U. of Washington), Martin Rinard (MIT)

– Debugging in the (Very) Large: Ten Years of Implementation and Experience• Kirk Glerum (Microsoft), Kinshuman Kinshumann (Microsoft), Steve Greenberg (Microsoft), Gabriel Aul (Microsoft), Vince Orgovan

(Microsoft), Greg Nichols (Microsoft), David Grant (Microsoft), Gretchen Loihle (Microsoft), and Galen Hunt (Microsoft) – Detecting Large-Scale System Problems by Mining Console Logs

• Wei Xu (UC Berkeley), Ling Huang (Intel Research Berkeley), Armando Fox (UC Berkeley), David Patterson (UC Berkeley), Michael Jordan (UC Berkeley)

Page 4: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

プログラム2日目• Session 4: I/O (Chair: Peter Chen, Michigan)

– Better I/O Through Byte-Addressable, Persistent Memory• Jeremy Condit (Microsoft Research), Edmund B. Nightingale (Microsoft Research), Christopher Frost (UCLA),

Engin Ipek (Microsoft Research), Doug Burger (Microsoft Research), Benjamin C. Lee (Microsoft Research), Derrick Coetzee (Microsoft Research)

– Modular Data Storage with Anvil• Mike Mammarella (UCLA), Shant Hovsepian (UCLA), Eddie Kohler (UCLA/Meraki)

– Operating Systems Transactions• Donald E Porter (The University of Texas at Austin), Owen S Hofmann, Christopher J Rossbach , Alexander

Benn , Emmett Witchel

• Session 5: Parallel Debugging (Chair: Jeff Chase, Duke)– Do You Have to Reproduce the Bug at the First Replay Attempt? -- PRES: Probabilistic

Replay with Execution Sketching on Multiprocessors• Soyeon Park (UC San Diego), Weiwei Xiong (University of Illinois at Urbana-Champaign), Zuoning Yin

(University of Illinois at Urbana-Champaign), Rini Kaushik (University of Illinois at Urbana-Champaign), Kyu H. Lee (Purdue University), Shan Lu (University of Wisconsin-Madison), Yuanyuan Zhou (UC San Diego)

– ODR: Output-Deterministic Replay for Multicore Debugging• Gautam Altekar (UC Berkeley), Ion Stoica

• Session 6: Kernels (Chair: Timothy Roscoe, ETH Zurich)– Awarded Best Paper! seL4: Formal Verification of an OS Kernel

• Gerwin Klein (NICTA, UNSW), Kevin Elphinstone (NICTA, UNSW), Gernot Heiser (NICTA, UNSW, Open Kernel Labs), June Andronick (NICTA), David Cock (NICTA), Philip Derrin (NICTA), Dhammika Elkaduwe(NICTA, UNSW, University of Peradeniya), Kai Engelhardt (NICTA, UNSW), Michael Norrish (NICTA, ANU), Rafal Kolanski (NICTA, UNSW), Thomas Sewell (NICTA), Harvey Tuch (NICTA, UNSW), Simon Winwood(NICTA, UNSW)

– Helios: Heterogeneous Multiprocessing with Satellite Kernels• Edmund B. Nightingale (Microsoft Research), Orion Hodson (Microsoft Research), Ross McIlroy (University of

Glasgow, UK), Chris Hawblitzel (Microsoft Research), Galen Hunt (Microsoft Research) – Surviving Sensor Network Software Faults

• Yang Chen (University of Utah), Omprakash Gnawali (USC), Maria Kazandjieva (Stanford University), Philip Levis (Stanford University), John Regehr (University of Utah)

Page 5: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

プログラム3日目• Session 7: Clusters (Chair: David Andersen, CMU)

– Distributed Aggregation for Data-Parallel Computing: Interfaces and Implementations

• Yuan Yu (Microsoft Research), Pradeep Kumar Gunda, Michael Isard

– Quincy: Fair Scheduling for Distributed Computing Clusters• Michael Isard (Microsoft Research), Vijayan Prabhakaran, Jon Currey , Udi Wieder , Kunal Talwar , Andrew

Goldberg

– UpRight Cluster Services• Allen Clement (UT Austin), Manos Kapritsos, Sangmin Lee , Yang Wang , Lorenzo Alvisi , Mike Dahlin ,

Taylor Riché

• Session 8: Security (Chair: Stefan Savage, UCSD)– Improving Application Security with Data Flow Assertions

• Alexander Yip (MIT), Xi Wang , Nickolai Zeldovich , and M. Frans Kaashoek

– Heat-ray: Combating Identity Snowball Attacks using Machine Learning,Combinatorial Optimization and Attack Graphs

• John Dunagan (Microsoft Research), Alice X. Zheng (Microsoft Research), Daniel R. Simon (Microsoft)

– Fabric: A Platform for Secure Distributed Computation and Storage• Jed Liu (Cornell University), Michael George , K. Vikram , Xin Qi , Lucas Waye , Andrew C. Myers

Page 6: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

seL4: Formal Verification of an OS KernelGerwin Klein (NICTA, UNSW), Kevin Elphinstone (NICTA, UNSW), Gernot Heiser (NICTA, UNSW, Open Kernel

Labs), June Andronick (NICTA), David Cock (NICTA), Philip Derrin (NICTA), Dhammika Elkaduwe (NICTA, UNSW,University of Peradeniya), Kai Engelhardt (NICTA, UNSW), Michael Norrish (NICTA, ANU), Rafal Kolanski (NICTA,

UNSW), Thomas Sewell (NICTA), Harvey Tuch (NICTA, UNSW), Simon Winwood (NICTA,UNSW)

• OSカーネル(8,700 LOC)を形式検証した話

– 仕様記述、言語の規制、 OSの動作、ハードウェアの

動作を理解し、且つ効率的なコードが作成できた

Page 7: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

seL4: Formal Verification of an OS Kernel

• 検証対象はCのコードのみ。– 記述はC99のsubset [Tuch’s Ph.D thesis 09]

• Function pointerはダメ。Goto, switchはダメ。複合リテラルをlvalueに使うことはダメ。unionはダメ。

– Functional Correctness• 仕様である“Abstract Specification”&”Execution Specification(Haskell

prototype)”に従う動作をするかの検証• Refinement Proof [Roever&Engelhardt’98]による検証

• 検証は Isavelle/HOL[G.Klein ICFP09]を利用。– Haskell Prototypeで検証。HaskellからCが自動生成できるが、効率のため

に人手で作成。

• マイクロカーネルL4を改良。Bootloader、Driverは含まず。– Capability Authenticationを採用。EROS (Penn State)[SOSP99]をベース。– カーネルメモリ管理はアプリケーションとして外部へ。[SIGOPS09 April]– Concurrency/non-determinismはevent-based execution model [fluke

OSDI99ユタ大]を採用– ドライバはタイマのみ。

• ターゲットはARMv6– MMUの関係らしい。

Page 8: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Theorem ProberIsabelle/HOL

Hardware SimulatorQEMU for ARM

C99 Subset

Tuch’s Ph.D thesis 08POPL’07HotOS’05

PrototypeHaskell

refinement

Technique Paper for seL4 Tool

capability systemderived Flex [OSDI’99]

Event-based Execution

PollingSIGOPS 08

April

Export Memory allocation

seL4Functional level correctness

8,700 LOC C code600 LOC assembler

Except bootloader, drivers

Abstract Specification

Execution Specification

ICFP’09

検証構成

Page 9: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

C99の制限• スライドからの転載

Page 10: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Isavelle/HOL for scheduler (Abstract Specification: What)

Haskell (Ececutable Specification: How)

C code

Deterministicな部分のみ

Machine Interface (メモリ・Cahce・MMU動作検証)

Page 11: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Bugの発見と開発期間• スライドからの

転載

• Reference: http://en.wikipedia.org/wiki/Evaluation_Assurance_Level

– EAL4: Methodically Designed, Tested, and Reviewed • AIX, HP-UX, FreeBSD, Novell NetWare, Solaris, SUSE Linux Enterprise Server 10, Red Hat

Enterprise Linux 5, Windows 2000 Service Pack 3, Windows 2003, Windows XP, and VMware ESX version 3.0.2.

– EAL5: Semiformally Designed and Tested• LPAR on IBM System z

– EAL6: Semiformally Verified Design and Tested• Green Hills Software

In the mid to late 1990s, vendors reported spending US$1 million and even US$2.5 million on evaluations comparable to EAL4.

Page 12: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Fast Byte-granularity Software Fault Isolation

Miguel Castro (Microsoft Research), Manuel Costa (Microsoft Research), J.P. Martin (Microsoft Research), Marcus Peinado (Microsoft Research), Periklis Akritidis (Microsoft Research and Cambridge University), Austin Donnelly

(Microsoft Research), Paul Barham (Microsoft Research), Richard Black (Microsoft Research)

• BGI(Byte Granularity Isolation)と呼ぶソフトウェアによる障害隔離(fault isolation)技術– 既存の低速Fault Isolationは実用的ではない

• 比較対象:Xfi[OSDI06], SFI[USENIX-Sec06], Nooks[OSDI04], SafeDrive[OSDI06], Mondrix[SOSP05]

– Mondrix日本語解説 前田さん@東大» http://web.yl.is.s.u-tokyo.ac.jp/meeting/doc/Mondriaan_Memory_Protection.ppt

– Nooks(OSDI)日本語解説 金田さん» http://web.yl.is.s.u-tokyo.ac.jp/meeting/doc/kaneda-2004-10-19_survey.ppt

– 既存のソースコードの変更不要。再コンパイル、Interposition Libraryは必要。

• Windows Vistaの既存のドライバを対象

Page 13: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

BGIの構成

• 書込み、関数呼び出しはチェックされる

Page 14: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

保護機構

• ACL (Access Control List)を持つ– read, write, icall, type, ownershipの項目– ACL設定

• SetRight(p,s,r), SetType(p,s,r) p: start point, s: size– ACLチェック

• CheckRight(p,s,r), checkType(p,r)

– これらの設定、チェックはコンパイラで挿入、ライブラリが実行。

– write integrity: prevents bad writes– control-flow integrity: prevents bad control flow– type safety for kernel objects: correct use of API

• リカバリはPlug&Playを使って正しいドライバに入れ直すことで修正– 検出がメインで、リカバリはメインではない

Page 15: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

効率的なチェック

• ハードウェアのalignmentに合わせてチェック– 8バイト毎に1バイトのACLチェックアレイあり。

• コンパイラでlocal&global 変数のlayoutが、チェックでぶつからないように配置。[SSP08]

Page 16: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

性能• Fatとintelproのドライバにfault injectする。

• 検出率。Blue screenとhangするfaultに分類

• 既存のバクの検出。デバッガとして利用できる

• 性能– CPUのオーバーヘッド増加が10%程度、性能低下が10%– 比較。ハードウェアページプロテクションを利用するNooksでは100%以上のオーバーヘッド

Page 17: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Tolerating Hardware Device Failures in Software

Asim Kadav (University of Wisconsin-Madison), Matthew J. Renzelmann (University of Wisconsin-Madison), Michael M. Swift (University of Wisconsin-Madison)

» SwiftはNooksの開発者

• 物理デバイス自体の障害をソフトウェアで耐性を持たせる “Carburizer(炭素添加物)”– デバイス障害のほとんどは一時的なもの。障害が見つけにくい。

• ドライバ作成規定が守られていない。

• 一時的な障害で落ちるのではなく、リカバリする。

• CIL(プロプロセッサ)で実装。ドライバのソースをhardeningする。Linux 2.6.18.8を対象。

Page 18: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

ベンダーのドライバ記述要求多くは満たされていない

Carburizer

Page 19: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Carburizerの実装

Page 20: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Carburizerでの修正• 無限loopからのtimeour (AMD 811e network driver)

• Boundary Check (Pro Audio Sound Driver)

Page 21: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Carburizerでの修正• Null pointer check (RR3xxx SCSI driver)

• Error Reportの挿入 (forcedeth network driver)

Page 22: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Carburizerの性能

• 発見率

• Error Report挿入率

Page 23: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

リカバリ

• Shadow Driverを使う。

– Passive Mode (監視のみ)– Active Mode

• 障害があった際にドライバをリブートする。カーネルにも停止を認識させない。

• デバイスへの要求はペンディングしてリブート後に処理。

• Shadowドライバの実装についてはWIOV08で発表

Recovery

Page 24: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Automatically Patching Errors in Deployed Software

Jeff H. Perkins (MIT), Sunghun Kim (HKUST), Sam Larsen (VMware), Saman Amarasinghe(MIT), Jonathan Bachrach (MIT), Michael Carbin (MIT), Carlos Pacheco (BCG), Frank

Sherwood, Stelios Sidiroglou (MIT), Greg Sullivan (BAE AIT), Weng-Fai Wong (NUS), YoavZibin (Come2Play), Michael D. Ernst (U. of Washington), Martin Rinard (MIT)

• 攻撃されたソフトウェア(アプリケーション)に対して自動的に修復するパッチを作成する ClearView– ソースコード不要。バイナリから自動生成。– Windows XP (SP2/SP3)への攻撃から防御できた。

• 攻撃者は既知の10種類の脆弱性、およびClearViewのソースコードを理解していた。機能を保持し、攻撃から守る7種類のパッチが自動生成できた。

• M.RinardはFailure oblivious Computing[OSDI04]の人。– 何らかのエラーが発生してもプログラムの処理を停止せず、不整合が発見され

たというログだけを残し、処理を継続させることで処理の大規模化・高速化 ができる。

• S.Sidiroglou はSelf Healing[ASPLOS09]の人。

Page 25: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

動機・対処

• 通常の修正パッチは問題発覚後、平均28日後[Symantech Report 06]。

• ClearViewは問題発覚後、自動的に生成する。– Daikon:Dynamic Invariant detection toolを利用

• プログラムの実行履歴から不変情報(invariant)を自動的に検出する。不変情報のパターンマッチングを行うツールとを組み合わせる事でプログラム自動生成ができる。

• http://groups.csail.mit.edu/pag/daikon/ ソースあり

– dynamoRIO:Runtime Introspection and Optimizationをプログラム操作に利用

• http://groups.csail.mit.edu/cag/dynamorio/ ソースあり

– 生成されたパッチは複数クライアント上でtrial&Errorで評価。

Page 26: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Detect, Learn, Repair

Page 27: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告
Page 28: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

攻撃に対するパッチの作成• FireFoxの脆弱性に対して攻撃

– DARPAで雇用したSpartaが攻撃

– 利用した脆弱性

• 3つの脆弱性に対してはパッチが作成できなかった。このうち2つは実験後に修正して対処可能

Page 29: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Operating Systems TransactionsDonald E Porter (The University of Texas at Austin), Owen S Hofmann,

Christopher J Rossbach , Alexander Benn , Emmett Witchel

• TOCTTOU(time-to-check-to-time-of-use)攻撃に対して、atomicに実行することを強制するsys_xbegin(), sys_xend()を開発。TxOSと呼ぶ。

• メンバーはTransactional memory用のLinuxであるTxLinux[SOSP07]を作っていたメンバー。

Page 30: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

競合条件の発見• Speculator[SOSP05]を使ってCopy-On-Writeページをマーク。

• sys_xbegin,sys_xendに対応するシステムコールを改良

– 303 system call中150をサポート(2.6.22)

Page 31: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Shadow Inode

Page 32: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

並列性

• 既存の vipwやuseraddコマンドは lock fileを作ることで排他制御。renameのアドホックな解決

法ではファイルシステム全体を停止してしまう。

• 細粒度のTxOSでは並列性があり、スケーラブル

Page 33: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

比較

Publish private

copy by ptr swap

Discard undo log,

release locks

Commit

mechanism

Discard private copies

Undo logRollback

mechanism

Private copies + annotations

Two-phase

locking

Isolation

mechanism

Private copies of data structures

Shared data

structures

Speculative write location

TxOSPrevious Systems

Page 34: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

Surviving Sensor Network Software Faults

Yang Chen (University of Utah), Omprakash Gnawali (USC), Maria Kazandjieva (StanfordUniversity), Philip Levis (Stanford University), John Regehr (University of Utah)

• センサーネットワークで利用できるTinyOS “Neutron”– Memory safety bugから高速にリカバできる。

– アプリケーションもカーネルも独立してリカバ・リブートできる。– リカバする以前のデータを保持し(precious state)、リカバ後に渡すことでセンサーネッ

トワークで必要な情報(routing tableなど)を継続して使え、障害に強い。

• 関連研究– Microreboot[OSDI04]

• 日本語資料:リカバリ指向コンピューティング、 川本 真一(OSDIの連名者)、IEICE CPSY2004

• BYTE EYE「リカバリ指向コンピューティング」– http://itpro.nikkeibp.co.jp/article/COLUMN/20051202/225617/– Recovery-Oriented Computing: Building Multitier Dependability, IEEE Computer, November

2004, pp.60-66“.(C)2004 IEEE. の翻訳

– Recovery Domain[ASPLOS09],Rx[ACM TCS 07]• 障害時に checkpoint と re-execution を併用してリカバ。

Page 35: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

TinyOS “Neutron”• センサーネットワークデバイス用の小さなOS

– 16bit micro controller (MSP430F1611)– RAM 10KB– Flash 48KB– 2.4GHz 802.15.4 radio (802.h11b)

• リブートはペナルティが大きい。チェックポイントする能力もない。– アプリケーション(FTP: Flood

Time Synchronization Protocol, CTP: Collision Tree Protocol)でもrouting tableの再設定はペナルティが大きい。

Page 36: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

リカバリ• データをReboot volatile と reboot persistent に分け、

persistent はprecious stateを保存。– 下記のようにpreciousな変数を指定。

tableItem @precious() table[MAX_ENTRIES];uint8_t @precious() tableEntries;

– ツールチェイン• nesC [PLDI03] “precious” annotationを処理• Deputy Compiler[ESDP07]でtype safeとmemory safeを強制。

• 複数のApplication recovery units と唯一の kernel recovery unitに分けて管理。– カーネルリブートはブートローダがprecious stateを復旧。

Page 37: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

性能評価• リブートなし、リブート、リブートwith Neutronを比較

• コードサイズ、停止時間

Page 38: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

感想・傾向

• 動的にバイナリを使えるツールが揃ってきた。オープンソースで提供され、これらを活用。– DynamoRIO[CGO05], Pin [PLDI05],Valgrind[PLDI07]

• 厳密な実行ではなく、大規模化・複雑化に耐える方向に。– リカバリ指向コンピューティング– エラー忘却型コンピューティング(Failure-oblivious computing)

• カーネルやVMMは仕様記述やTransaction処理によって厳密に。– UIUCのSVA (Secure Virtual Architecture[USENIX-Sec09])– Cross-VM Side-channel Attackにも耐えられる?

• Hey, You, Get Off of My Cloud:Exploring Information Leakage in Third-Party Compute Clouds[CCS’09]

Page 39: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

HotStorage 2009• 53 paper submitted,11 paper accepted 21% (このworkshopが一番)• 次回はUSENIX Annual Tech と共催。3月にdeadline• 土屋さんのブログが充実 http://tsuchiya-yoshihiro.blogspot.com/2009/10/sosp-2009-big-sky-mthotstorage.html

• Device-Transparency: a New Model for Mobile Storage– Jacob Strauss (MIT), Christopher Lesniewski-Laas (MIT), Justin Mazzola Paluska (MIT),

Bryan Ford (MPI-SWS), Robert Morris (MIT), and Frans Kaashoek (MIT)– デジカメ、PC,ネットワークストレージのデータを一括管理できる機構提案。Metadeta everywhere

でデータ自体を探し出す。Device Transparent Storage• Does Virtualization Make Disk Scheduling Passé?

– Dave Boutcher and Abhishek Chandra (University of Minnesota) – XenのDom0/DomU間のLinux I/Oスケジューラ(anticipatory,cfq,cfq16,deadline,noop)の合性試

験。DomUがCFQ, Dom0でNOOPとするのがよい。ただしベンチマークに依存。

• Why panic()? Improving Reliability with Restartable File Systems– Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale, Andrea C. Arpaci-

Dusseau, Remzi H. Arpaci-Dusseau, and Michael M. Swift. (University of Wisconsin-Madison)

– Checkpointとリプレイでpanicをしない提案。リカバリが問題でtransparency unwind が実現できるか問題。

• パネルが面白かった。POSIXのAPIは不要(参考 HotOS09 “Hierarchical File Systems are Dead”)という一方、ベースとなるのはやはりPOSIXベースのファイルシステムになっていると言う現状。

Page 40: 22nd ACM Symposium on Operating Systems Principles (SOSP2009)参加報告

HotPower2009

• On the Energy (In)efficiency of Hadoop Clusters– Jacob Leverich,Christos Kozyrakis (Stanford University)

– Hadoopのpower効率は使用率によって大きく変わらない。つまり、40%の4台より、80%の2台のほうが効率がよい。

– CPUの効率と逆で、CPUではlow powerをたくさん持つのがよいが、Diskでは少ないhigh powerを持つのがよい。

• Energy Dumpster Diving– Maria Kazandjieva, Brandon Heller , Philip Levis (Stanford University), and Christos

Kozyrakis (Stanford University)

– PowerNetと言うデバイス(電源に刺すセンサーデバイス)をTinyOS付きでUCBと共同開発。Philip Levis はNeutronの人。

– 使い方の特徴解析。モニターのBack/Whiteで10%違う。Switchはトラフィックに依存しないなどの結果を報告。