2. 概要
• 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はバンケットで候補あがる。ポルトガル(リスボン、どこかの島)、
ドイツらしい。
– 今後、中国という声もあるが日本はない。
3. プログラム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)
4. プログラム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)
5. プログラム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
6. 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)
• OSカーネル(8,700 LOC)を形式検証した話
– 仕様記述、言語の規制、 OSの動作、ハードウェアの
動作を理解し、且つ効率的なコードが作成できた
10. Isavelle/HOL for scheduler (Abstract Specification: What)
Haskell (Ececutable Specification: How)
Deterministicな部分のみ
Machine Interface
C code
(メモリ・Cahce・MMU動作検証)
11. 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.
12. 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の既存のドライバを対象
17. 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を対象。
24. 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)
• 攻撃されたソフトウェア(アプリケーション)に対して自動的に修復するパッチ
を作成する ClearView
– ソースコード不要。バイナリから自動生成。
– Windows XP (SP2/SP3)への攻撃から防御できた。
• 攻撃者は既知の10種類の脆弱性、およびClearViewのソースコードを理解していた。
機能を保持し、攻撃から守る7種類のパッチが自動生成できた。
• M.RinardはFailure oblivious Computing[OSDI04]の人。
– 何らかのエラーが発生してもプログラムの処理を停止せず、不整合が発見され
たというログだけを残し、処理を継続させることで処理の大規模化・高速化 がで
きる。
• S.Sidiroglou はSelf Healing[ASPLOS09]の人。
29. Operating Systems Transactions
Donald 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]を作っていたメンバー。
38. 感想・傾向
• 動的にバイナリを使えるツールが揃ってきた。オープン
ソースで提供され、これらを活用。
– 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]
39. 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ベースのファイルシステムになって
いると言う現状。
40. 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はト
ラフィックに依存しないなどの結果を報告。