品川准教授のブログ

東京大学で准教授をしています。主に研究分野(OSや仮想化などのシステムソフトウェア)に関連したことを気まぐれに書きます。

国際会議 EuroSys 2020

国際会議 EuroSys 2020 (The European Conference on Computer Systems) のメモです。EuroSys は SOSP, OSDI に次ぐシステムソフトウェア系のトップカンファレンスです。

※1 随時更新していますが、スローペースです。
※2 興味の程度によって分量に差があります。
※3 ざっと眺めただけですので、内容も間違っているかもしれません。

目次


概要

  • バーチャル会議(slack + Discord + YouTube + Zoom)
  • 投稿数234本、採択数43本、採択率18.4%
  • 2 round review

2020年4月28日(火)

Session 1: Kernel – Efficient data structures – Security – Programming Languages and Verification

TLBシュートダウンを邪魔するな!

(Don’t shoot down TLB shootdowns! ) Nadav Amit, Amy Tai, Michael Wei (VMware Research Group)

[Paper] [Video]

複数コアのTLBをフラッシュするTLBシュートダウンを高速化する話。主に以下の4つの手法を用いる。

  • 並行フラッシュ: 従来は自コアでTLBフラッシュしてから他コアにTLBフラッシュを送っていたのに対し、先に他コアにTLBフラッシュのIPIを送ってから自コアでTLBフラッシュして平行処理にする(30年前に提案済みだが忘れられていた)
  • キャッシュライン統合: 従来はSMPに関する情報とTLBフラッシュに関する情報が共有メモリ上の別々のデータ構造に置かれていてコア間の情報共有時にキャッシュミスやミスアラインによるTLBミスが発生していたのに対し、SMP情報とTLBフラッシュのデータ構造をまとめてキャッシュラインを統合することでキャッシュミスを減らす
  • 早期応答: 従来はIPIを受け取ったらTLBフラッシュしてから応答IPIを返していたのに対し、先に応答IPIを返してからTLBフラッシュする
  • コンテキスト内フラッシュ: 従来はKPTIのカーネルテーブルをフラッシュしてからすぐにユーザテーブルをフラッシュしていたのに対し、ユーザテーブルのフラッシュを当該プロセスにコンテキストスイッチするまで遅らせておいてまとめてフラッシュする。

他にも以下の最適化をおこなう。

  • Userspace-safe batching
  • Avoid TLB flushes on Copy-on-Write
  • TLB flushes in virtualization

Mousse: 野生環境でのプログラムの選択的シンボリック実行のためのシステム

(Mousse: A System for Selective Symbolic Execution of Programs with Untamed Environments) Nadav Amit, Amy Tai, Michael Wei (VMware Research Group)

[Paper] [Video]

制御された仮想環境ではなくデバイスドライバやカスタムハードウェアなどを含むような仮想環境ではない「野生(Untammed)」環境においてシンボリック実行をおこなう話。

実環境、高性能、使いやすさの3つを目標として、以下の3つのソリューションを使う。

  • プロセスレベルSSE(選択的シンボリック実行): VMを使わずユーザレベルプロセスで対象プログラムとSSEエンジンの両方を動かす
  • 実行環境を意識した並行性: 実行環境の知識を持ったソフトウェア層である呼び出しが実行環境の状態を変更するかどうかを判断して、並行実行できる場合は複数のパスを並行して実行する
  • 分散実行: サーバと連携して複数の物理デバイスで実行パスを並列検査する

5つのAndroid OSのサービスで実験して、実行環境を意識した平行性により実行時間が最大59%削減、分散実行では最大63%削減した。

NUMAシステム上でのRCUのためのHTMに基づく更新側同期

(An HTM-Based Update-side Synchronization for RCU on NUMA systems) SeongJae Park (Amazon), Paul E. McKenney (Facebook), Laurent Dufour (IBM Linux Technology Center), Heon Y. Yeom (Seoul National University)

[Paper] [Video]

Keystone: トラステッド実行環境を構築するためのオープンフレームワーク

(Keystone: An Open Framework for Architecting Trusted Execution Environments) Dayeol Lee, David Kohlbrenner, Shweta Shinde, Krste Asanovic, Dawn Song (UC Berkeley) [Paper] [Video]

ハードウェアエンクレーブを用いた忘却型協調分析

(Oblivious Coopetitive Analytics Using Hardware Enclaves ) SeongJae Park (Amazon), Paul E. McKenney (Facebook), Laurent Dufour (IBM Linux Technology Center), Heon Y. Yeom (Seoul National University)

[Paper] [Video]


2020年4月29日(水)

Session 2: Kernel – Efficient data structures – Programming Languages and Verification

Sponsored by Microsoft

Ipanemaによる証明可能なマルチコアスケジューラ: ワークコンサーベーションの応用

(Provable Multicore Schedulers with Ipanema: Application to Work Conservation) Baptiste Lepers (University of Sydney), Redha Gouicem (Sorbonne University/LIP6/Inria), Damien Carver (Sorbonne University/Inria/LIP6), Jean-Pierre Lozi (Oracle Labs), Nicolas Palix (Université Grenoble Alpes), Virginia Aponte (CNAM), Willy Zwaenepoel (University of Sydney and EPFL), Julien Sopena (LIP6 (UPMC/CNRS) – Inria), Julia Lawall (Inria/LIP6), Gilles Muller (INRIA), Jean-Pierre Lozi (Oracle Labs / Université Nice Sophia Antipolis)


To be continued...