並列分散処理向けプログラミング言語X10向けの対話的にフィルタリング可能な挙動可視化ツールの開発

書誌事項

タイトル別名
  • An Interactive Profiler/Visualizer with Event Filters for Parallel Distributed Language X10

この論文をさがす

抄録

本研究では,並列分散処理向けプログラミング言語X10の暗黙的な挙動を解析するためのプロファイラおよびビジュアライザを開発した.X10では非同期処理や分散処理が抽象化されるため,スレッド生成や同期,移動,分散ノード間通信のような低レベルな操作がX10処理系によって自動的に行われる.そのような暗黙的なプログラムの動作は可読性や保守性を高める一方で,チューニングやデバッグを困難にさせる可能性が出てくる.しかしながら,今後メニーコアやアクセラレータ上で大量の並列スレッドを用いたソフトウェア開発が求められるなか,すべての暗黙的な動作の実行履歴をユーザに開示することは現実的ではない.本研究で開発したプロファイラは,X10固有の非同期・分散処理構文に対してコンパイル時に追跡コードを挿入し,スレッド移動,同期,通信のような動作イベントを収集する.さらに,コンパイル時の静的解析によって分散ノード間で暗黙的に送受信されるデータ量を見積もれるようにした.収集したイベント情報を可視化するビジュアライザには,可視化範囲を制限するためのStream APIライクなフィルタリングDSL機能を実装した.ユーザは実行時情報に対するフィルタ条件をソースコードに紐付けて指定し,大量のイベントやアクティビティを対話的に絞ることが可能となる.

We developed a profiler and visualizer to analyze the implicit behavior of X10, which is a programming language for parallel distributed processing. Since X10 abstracts asynchronous and distributed processing, low-level operations such as thread creation, synchronization, thread movement and data communication among distributed nodes are performed automatically by X10 runtime. Although such implicit operations of programs improve the readability and maintainability, on the other hand, it would make tuning and debugging more difficult. However, software development with large number of parallel threads on many cores and accelerators is demanded. Thus, it is not realistic to show all of the operation logs to users. Our profiler inserts tracing codes toward asynchronous and distributed processing constructs that are original to X10, and collects the information of action events such as thread movement, synchronization and data communication. Moreover, our profiler can estimate the size of implicitly transferred data among distributed nodes by static analysis. On the other hand, Stream API-like filtering DSL function that restricts the range of visualization is implemented to our visualizer that visualizes the result of profiling. It is possible for users to restrict the massive event and activity information by designating a filtering condition toward runtime information, which is linked to source code.

収録刊行物

関連プロジェクト

もっと見る

詳細情報 詳細情報について

  • CRID
    1050564287859297920
  • NII論文ID
    170000147542
  • NII書誌ID
    AA11464814
  • ISSN
    18827802
  • Web Site
    http://id.nii.ac.jp/1001/00145106/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles
    • KAKEN

問題の指摘

ページトップへ