LIME: A Framework for Debugging Load Imbalance in Multi-threaded Execution Jungju Oh, Christopher J. Hughes, Guru Venkataramani Riding the Design Wave I セッション 担当:肥後芳樹(大阪大学) 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 1 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 研究の背景 • マルチコアのCPUが増えている – クロック数の向上スピードは遅い – 1CPUあたりのコア数はどんどん増えている • スケーラビリティの高いシステムを構築するために は,マルチコアCPUの資源をうまく使う必要がある – Dynamic Task Schedulingを使う手もあるけど,それ自体 のオーバーヘッドがかなり高い 紹介論文の図2(負荷不均衡の例) • スレッド間の負荷不均衡をプロ グラマに提示する手法が必要! 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 2 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 貢献 • ソースコードのどの部分が負荷不均衡の原 因になっているのかを提示するシステム (LIME)の開発 – 各スレッドでループの回数が違う – ハードウェアとの関連(キャッシュの有無等) • SPLASH-2とPARSECのベンチマークプログ ラム(有名?)から負荷不均衡の検出 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 3 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ LIMEの概要 • 2種類のプロファイラを用いる – SESC:ハードウェアとの間のいろんな情報を収集可能,し かし,速度遅い – Pin:制御フローの情報のみ収集,速度速い • 大まかな処理の手順 – STEP1:関連のありそうなイベントをまとめる – STEP2:各グループ内でリーダーを特定する.リーダーと はこのグループによる負荷不均衡の中心的な役割をして いるイベント – STEP3:重回帰分析を行うことにより,どのリーダーがプロ グラムの負荷不均衡に支配的であるかを特定 – STEP4:STEP3の結果をランク付けして表示 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 4 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 評価 • 15個のベンチマーク,スレッドの数を8,16,32,64個で実行し, LIMEで監視 • SESCを使った場合の評価では,平均で,制御フローにより 1.3個,キャッシュミスにより,2.1個の不可不均衡が発生して いた • Pinを使った場合の評価では,制御フローにより負荷不均衡 を高速に見つけれた • キャッシュミスの指摘の正しさは,「キャッシュミスが起こらな かったこと」にして,負荷不均衡が軽減されていることを確認 • 制御フローの指摘の正しさは,1つ1つ手作業により精査した. 論文中では,3つの事例を紹介 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 5 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ Synthesis of Live Behaviour Models for Fallible Domains Nicolas D’lpplito, Victor Braberman, Nir Piterman, Sebastian Uchitel Riding the Design Wave I セッション 担当:肥後芳樹(大阪大学) 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 6 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 制御設計(Controller synthesis)の例 • 旅行代理店は,以下の既存システムを組み合わせ ることにより,パック旅行を販売したい – 飛行機チケット販売システム – レンタカー予約システム – ホテル予約システム 紹介論文の図1(レンタカー予約システム) • 統合したシステムはさまざまな問題に対応しないと いけない – 飛行機が予約できなかった場合には,レンタカーとホテル の予約はしない等 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 7 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 研究の背景 • 既存のコンポーネントを自動的に,安全に組 み合わせたい – 特に,service-oriented なアーキテクチャでは • 最近注目を集めている自己適応型(selfadaptive)システムでは,制御設計はとても大 事な技術 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 8 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 手法の特徴 • 基礎的な要求工学のベストプラクティスに従う – システムが動作する環境に明確な仮定を置く – Controlledとmonitorアクションの分離 • 2ページ前の図の実線と破線 • 計算複雑度は多項式時間 – 既存手法は指数時間 • ユーザは,GR(1)やSGR(1)を用いて仕様を書く 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 9 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 評価 • 既存手法の評価で使われた課題を,既存手 法よりも正しくモデル化できるかを評価 • 4つの課題について,定性的な評価,時間に ついては評価なし – 4つの課題に対して,「このように扱うと提案手法 でうまくできるよ」と書いている,と思う... • 感想:論文としての完成度はいまいち – 高い知識を要求,表記ミス,変な文章 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 10 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ Coverage Guided Systematic Concurrency Testing Chao Wang, Mahmoud Said, Aarti Gupta Riding the Design Wave I セッション 担当:肥後芳樹(大阪大学) 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 11 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 背景 • メモリ共有型マルチスレッドプログラムのデ バッグは困難を極める • 全てのインターリーブ(スレッド間のやり取り) の組み合わせを網羅的にテストするのは無 理 • 既存手法もスケーラビリティが高くない 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 12 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 貢献 • (既存手法に比べて)スケーラビリティの高い 手法を提案 • ちゃんとしたツールを作っている(ような印象) 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 13 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 手法概要 • STEP1:正しい結果を得ることが分かっている テストケースを実行し,その動的な情報(共有 メモリにアクセスする命令の順番等)を収集 • STEP2:命令の順番に当てはまらないテスト ケースを生成 – 正しい結果を得ることが出来れば,生成したテス トケース中の命令の順番も,次回以降のテスト ケース生成に用いる – 抽象化を行いスレッド数が多くても実行時間が極 端に増えないようにしている 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 14 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/ 評価 • 既存手法DPOR,PCBとの比較 – 実行時間 – 見つけるべきバグを見つけれるか • 結果 – 提案手法は最も高速 • 既存手法はスレッド数が多くなると指数的に時間がか かるが,提案手法の時間増加は穏やか – 既存手法は見つけたが提案手法が見つけれな かったバグはない 2015/10/1 ICSE'11勉強会 Riding the Design Wave I セッション 15 KUSUMOTO LABORATORY - Software Design Laboratory Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. http://sdl.ist.osaka-u.ac.jp/
© Copyright 2025 ExpyDoc