著者
丸山 冬彦 小川 宏高 松岡 聡
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.40, no.10, pp.39-50, 1999-12-15
被引用文献数
1 1

機械語命令列から同じ意味のソースプログラムを復元するデコンパイルという技術は古くから知られており 主に リバースエンジニアリングのための手段の一つとして利用されてきた.実際に Javaとそのバイトコードに関しても いくつかの処理系が提案されているが これまで提供されてきた処理系では Java言語には無いgotoを挿入するなど Java言語の文法を逸脱した結果を出力することがある.また デコンパイルのアルゴリズムがアドホックで 応用の利かないものであるため 我々のOpenJITコンパイラが要求するような 任意のバイトコードから正しいソース構造を復元するでコンパイラフロントエンドとして用いることができない.そこで 我々はJavaバイトコードから適切なJava言語の制御構造を復元するための効果的なアルゴリズムを新しく考案した.アルゴリズムの基本となる考え方は メソッドのコントロールフローグラフに対するドミネータツリーを用いるものである.これはブロック構造が完全な入れ子になる言語の場合 制御構造を表す任意のプログラム片はドミネータツリーにおいて ただ一つのサブツリーをなすという性質に基づいている.この一般性により アルゴリズムはJava以外の言語に適用することも可能である.OpenJITでの予備的な実装による評価では 他のデコンパイラが制御構造の復元に失敗するプログラムであっても 我々のアルゴリズムは適切にそれを復元し かつ 実行速度は同程度であることを示した.The technique called decompilation that reads sequences of machine code and generates the corresponding source program has been known for some time, and utilized primarily for reverse-engineering. For Java and its bytecode, although there have been several proposals of decompilers, most generate outputs that are inappropriately extend the Java language, such as insertion of gotos not present in Java. Moreover, the decompilation algorithms are somewhat ad-hoc and difficult to extend of verify its applicability, which is a hindrance to out OpenJIT compiler which requires a decompiler frontend to recover the correct source structure from arbitrary bytecode. Instead, we have devised a new and effective algorithm for decompilation, with emphasis on properly recovering control structures. The key idea is to base the algorithm around the dominator tree of the control flow graph of a method. This is based on the observation that, for a properly-nested block-structured language, each part of program representing a control structure corresponds to just a single subtree in the dominator tree. As such, the algorithm is general enough to be applied to other languages besides Java. The evaluation of our preliminary implementation in OpenJIT shows that our algorithm properly recovers control structures where other existing decompilers fail, and with relatively equivalent execution speeds.
著者
竹房 あつ子 小川 宏高 松岡 聡 中田 秀基 高木 浩光 佐藤三久 関口 智嗣 長嶋 雲兵
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.39, no.6, pp.1827-1838, 1998-06-15
参考文献数
14

広域ネットワークの整備につれ,高性能広域分散計算を実現する試みが我々のNinfを含めていくつか行われている.しかしこのような広域計算システムの,特にWANにおいて複数のクライアントが複数のサイトに分散している状況下での性能特性に関する議論は十分になされていない.本稿では,Ninfおよび類似のシステムの実現可能性を調査するため,LAN/WAN環境でLinpack/EPベンチマークを実施し,次のような結果を得た.1)十分なバンド幅があれば,Ninfを用いた方がLocal実行するより高速になる.2)既存の高性能計算機は性能や耐久性の点で広域計算システムの運用に十分なプラットフォームである.3)ベクトル並列計算機(Cray J90)では,高性能並列ライブラリが有効利用できる,すなわち既存の高性能ライブラリの再利用性がある.4)計算主体の計算(EP)では現状の広域計算システムで十分に運用できる.5)通信主体の計算(Linpack)では,LAN環境ではサーバの稼働率が性能を支配し,WAN環境では通信性能と設置条件によって性能に与える影響に一定の傾向がある.Rapid increase in speed and availability of network of supercomputers is making high-performance global computing possible,including our Ninf system.However,critical issues regarding system performance characteristics in global computing have been little investigated,especially under multi-client,multi-site WAN settings.In order to investigate the feasibility of Ninf and similar systems,we conducted benchmarks under various LAN and WAN environments,and observed the following results:1)Given sufficient communication bandwidth,Ninf performance quickly overtakes client local performance,2)current supercomputers are sufficient platforms for supporting Ninf and similar systems in terms of performance and OS fault resiliency,3)for a vector-parallel machine (Cray J90),employing optimized dataparallel library is a better choice compared to conventional task-parallel execution employed for non-numerical data servers,4)computationally intensive tasks such as EP can readily be supported under the current Ninf infrastructure,and 5)for communication-intensive applications such as Linpack,server CPU utilization dominates LAN performance,while communication bandwidth dominates WAN performance,and furthermore,aggregate bandwidth could be sustained for multiple clients located at different Internet sites;as a result,distribution of multiple tasks to computing servers on different networks would be essential for achieving higher client-observed performance.
著者
小川 宏高 松岡 聡 佐藤 仁 高野 了成 滝澤 真一朗 谷村 勇輔 三浦 信一 関口 智嗣
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:21888841)
巻号頁・発行日
vol.2017-HPC-160, no.28, pp.1-7, 2017-07-19

国立研究開発法人産業技術総合研究所 (以降,産総研) では,平成 28 年度二次補正 「人工知能に関するグローバル研究拠点整備事業」 の一環として,平成 29 年度末に,東京大学柏 II キャンパスに,「AI 橋渡しクラウド (AI Bridging Cloud Infrastructure)」 (以降,ABCI という) の導入を計画している.ABCI は,我が国の人工知能技術開発のためのオープンなリーディングインフラストラクチャの実現を目指し,アルゴリズム (Algorithm),ビッグデータ (Big Data),計算能力 (Computing Power) の協調による,高度な人工知能処理を可能にする大規模かつ省電力なクラウド基盤である.本稿では,ABCI のサーバシステムにフォーカスしつつ,ABCI の概要と,システム設計上の論点と我々が採った方策について紹介する.
著者
小川 宏高 中田 秀基 工藤 知宏
出版者
一般社団法人情報処理学会
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC)
巻号頁・発行日
vol.2013, no.15, pp.1-6, 2013-05-22

我々は,オンライン機械学習向け分散処理フレームワーク Jubatus を基盤として用いた,大量センサデータに対するリアルタイムかつ複雑な解析を実現する処理エンジンの構築を目指している.特にさまざまな応用分野へのシステムの適用を想定した場合,多種多様なリアルタイムデータを処理対象として取り扱えることが重要である.そのなかでも映像や音声に代表されるメディアデータは,汎用性が高く,実世界へのセンサー装置の浸透が顕著に進んでおり,内包している情報量の多さから高い利用価値が期待される.本稿では,Jubatus を基盤として実際に多数の動画像を対象としたリアルタイム異常値検出を行うシステムを構築し,その構成概要を示した.また,性能特性の調査を行い,その結果を示した.その結果,学習データに基づいた異常値検知はリアルタイムに実現できたが,学習フェーズは学習データの増加とともにリアルタイムに処理することが困難になった.レスポンス時間についてより詳細な調査を行い,LSH から取得した擬似近傍点の個数が多い場合に著しい性能劣化が見られることが判明した.We aim to build a real-time and complex data analisys engine for large-scale sensor data, based on a distributed online machine-learing framework, Jubatus. In order to adapt this engine to various application areas, it is crucial that we can handle a wide variety of real-time data. Especially, multimedia data, including video and audio, are general-purpose and feature rich, and their sensors have already been penerated into the real world deeply and widely. Hence, we expect that they are quite valuable for various applications. In this paper, we realize an actual system that provides real-time anomaly detection for multiple video streams and describe the overview of our system. And, we also investigate the performance characteristics of the system. As a result, anomaly dectection based on learnt video frames can be performed at real-time, but learning phase can hardly be processed at real-time according to the growth of learnt video frames. We conduct more detailed investigation into the response time of the system, and clarify that peformance degradation is observed mostly when the amount of pseudo-neighbors extracted from LSH is relatively large.