Skip to main content
QUICK REVIEW

[論文レビュー] TEMANEJO - a debugger for task based parallel programming models

Steffen Brinkmann, José Gracia|arXiv (Cornell University)|Dec 20, 2011
Distributed and Parallel Computing Systems参考文献 1被引用数 11
ひとこと要約

Temanejo は、StarSs のようなタスクベースの並列プログラミングモデル向けのデバッガであり、実行時タスク依存グラフを可視化し、グラフィカルユーザーインターフェースを通じてタスクスケジューリングを制御できる。Ayudame ライブラリと StarSs ランタイムに統合されており、リアルタイムでのデバッグ、タスクの状態監視、実行順序およびスレッド動作の動的制御を可能にし、不規則でデータ依存性のある並列ワークロードのデバッグ体験を著しく向上させる。

ABSTRACT

We present the program Temanejo, a debugger for task based parallelisation models such as StarSs. The challenge in debugging StarSs applications lies in the fact that tasks are scheduled at runtime, i.e dynamically in accordance to the data dependencies between them. Our tool assists the programmer in the debugging process by visualising the task dependency graph and allowing to control the scheduling of tasks. The toolset consists of the library Ayudame which communicates with the StarSs runtime on one side and of the debugger Temanejo on the other side which communicates with Ayudame. Temanejo provides a graphical user interface with which the application can be analysed and controlled.

研究の動機と目的

  • タスクスケジューリングが動的かつデータ依存的であるため、従来のデバッグ手法が効果を発揮しないタスクベースの並列プログラムのデバッグ課題に対処すること。
  • データ並列アプリケーションにおけるタスク実行フロー、依存関係、実行時状態のリアルタイムな洞察を開発者に提供すること。
  • 実行中にタスクのスケジューリングをインタラクティブに制御できること、特に一時停止、優先順位付け、ブロッキング、再起動の制御を含む。
  • 色分けされたタスクノードを用いたタスク実行時間とロードバランスの可視化により、パフォーマンス分析を支援すること。
  • アプリケーションコードの変更なしに、SMPSs や OMPSs のような既存の StarSs ベースのフレームワークとシームレスに統合できること。

提案手法

  • デバッガは、StarSs ランタイムと Temanejo GUI 間の通信ブリッジとして Ayudame ライブラリを使用し、リアルタイムなデータ交換を可能にしている。
  • Temanejo は、タスクのステータス、実行スレッド、関数、データ依存関係を表すために色分けされたノードとエッジを用いて、進化するタスク依存グラフを可視化している。
  • GUI を通じた動的制御をサポートしており、特定のタスクや関数の一時停止、優先順位付け、ブロッキングが可能である。
  • 実行中いつでも gdb を起動でき、グローバルまたは指定された関数に対して実行可能であり、標準ツールと組み合わせたハイブリッドデバッグを可能にしている。
  • タスク実行時間の情報が収集され、色で表示されており、パフォーマンスのボトルネックやロードバランシングの問題を特定するのに役立っている。
  • 今後の拡張機能には、動的スレッド数の調整、実行順序のカスタマイズ、gdb 以外の複数のデバッガのサポートが含まれる。

実験結果

リサーチクエスチョン

  • RQ1タスクベースの並列モデルに内在する動的かつデータ依存的なタスクスケジューリングを、効果的に可視化するにはどうすればよいか?
  • RQ2開発者が実行時中にタスク実行順序を検査・操作できるために必要なインタラクティブな制御は何か?
  • RQ3デバッグツールは、タスク実行時間とロード分布をどのように露出することでパフォーマンス分析を支援できるか?
  • RQ4アプリケーションコードを変更せずに、デバッガと StarSs のようなランタイムシステムとの統合を実現するメカニズムは何か?
  • RQ5gdb のような既存のデバッグツールは、タスクベースのプログラム向けの視覚的でインタラクティブなデバッグ環境にどのように統合できるか?

主な発見

  • Temanejo は、リアルタイムでタスク依存グラフの動的構築と実行を可視化し、開発者にプログラム構造と実行フローに関する即時の洞察を提供した。
  • このツールは、タスクスケジューリングのインタラクティブな操作を可能にし、一時停止、優先順位付け、ブロッキングを含む、レースコンディションや論理エラーの診断に不可欠な機能を提供した。
  • 色分けされたタスクノードとエッジは、タスクのステータス、実行スレッド、関数、データ依存関係に関する情報を効果的に伝えることができ、視覚的デバッグの効率を向上させた。
  • タスク実行時間の可視化は、インストルメンテーションのオーバーヘッドのため正確ではないものの、パフォーマンスボトルネックやロードバランシングの問題を特定する強力なヒューリスティックであった。
  • gdb との統合により、開発者はいつでもラインレベルのデバッグに切り替えられ、高レベルの概要と低レベルの検査を組み合わせたデバッグが可能になった。
  • このツールは拡張可能で、現在も開発が継続されており、今後の計画された機能には、動的スレッド数の調整、実行順序のカスタマイズ、複数のデバッガのサポートが含まれる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。