Javaバイトコード変換による細粒度CPU資源管理
スポンサーリンク
概要
- 論文の詳細を見る
JVMは型安全性やクラスローダにより単一アドレス空間内で複数のプログラムを安全に分離する.しかし,アプレットなどの信用できないプログラムを実行するためには,プログラムの分離だけでなく,資源割当ての制御が必要でありJVMはそれを欠いている.たとえばあるアプレットがCPU資源を独占して,他のプログラムの実行を妨害することが起りうる.本研究ではJVMでCPU使用量をユーザレベルできめ細かに制御する手法について述べる.基本的な方針は,バイトコードに直接カウンタをインクリメントするコードを挿入し,各スレッドの実行命令数を動的にカウントするというものである.命令数を正確に数えながらオーバヘッドを小さくするアルゴリズムを考案した.まず,対象プログラムを,基本ブロックをノード,ブロック間の潜在的な制御の移動をエッジ,基本ブロックの実行頻度を重さをとする重みつきグラフでモデル化した.コード挿入のコストは,カウンタが挿入された命令の重みの総和で与えられる.この定式化のもとコストを低く抑えるアルゴリズムを考案した.このアルゴリズムは任意のコントロールフローグラフを対象とするので,goto文や例外処理などの複雑な制御構造も統一的に扱うことができる.また,潜在的な制御の移動をエッジとするので,高階関数や動的メソッド呼び出しに対してはコントロールフロー解析などの結果を用いて,より良いコード挿入を達成できる.さらに,短いサイクルをunrollingすることにより,オーバヘッドを軽減することについても考察する.
- 一般社団法人情報処理学会の論文
- 2002-03-15
著者
-
米澤 明憲
東京大学大学院情報理工学系研究科コンピュータ科学専攻
-
田浦 健次朗
東京大学大学院情報理工学系研究科
-
田浦 健次朗
東大 大学院情報理工学系研究科
-
米澤 明憲
東京大学理学部情報科学科
-
速水 雄太
東京大学大学院情報理工学系研究科
-
米澤 明憲
東京大学大学院情報理工学系研究科
関連論文
- 並列オブジェクトによる大規模システムの実現 : Second Lifeシステム,Twitterシステム,分子動力学アプリの場合(並列分散処理,情報爆発論文)
- メッセージ衝突を防止する適応的な収集操作アルゴリズム(並列分散処理,情報爆発論文)
- 並列分散環境におけるファイル共有システムの負荷原因探索システム(ストレージアクセス技術,2009年並列/分散/協調処理に関する『仙台』サマー・ワークショップ(SWoPP仙台2009))
- 大規模クラスタを用いた高精度なGait認識(一般セッション(2),文字認識・文書理解)
- 大規模クラスタを用いた高精度なGait認識(一般セッション(2), 文字認識・文書理解)
- 複数拠点に分散配置されたクラスタの効率的な管理手法(セッション6:分散システム)
- GAとTD(λ)学習の組み合わせによるゲーム局面評価パラメータの調整(学習1)
- グリッド用シェルGXPの長時間計算のための拡張(HPC-17 : グリッド)
- 対訳辞書のグラフ表現を用いた日英対訳テキストの発見(文書処理,質問応答)
- セキュリティプロトコルの略式記法からspi計算への変換
- CHLAC特徴とGridコンピューティングを併用したリアルタイム動作認識(一般セッション(2),文字認識・文書理解)
- CHLAC特徴とGridコンピューティングを併用したリアルタイム動作認識(一般セッション(2), 文字認識・文書理解)
- メタレベル機能によるクラスライブラリ最適化手法(並列処理)
- メタレベル機能が支援するハイパフォーマンスオブジェクト指向計算
- 5K-2 実世界情報並列計算基盤の開発(情報爆発時代における分散システム技術,一般セッション,「情報爆発」時代に向けた新しいIT基盤技術)
- 並列処理のための効率的なトポロジ推定(HPC-10 : 適応環境での通信)
- 仮想マシンモニタによる仮想マシン内プロセスの制御(OS-2 : セキュリティ)
- 3.Javaにおける並列プログラミングサポート(マルチコアを活かすお手軽並列プログラミング)
- グリッドチャレンジテストベッドの構築と運用 : グリチャレテストベッドの作り方(HPC-3 : 大規模運用システム(1))
- 並列オブジェクトによる大規模システムの実現 : Second Life システム, Twitter システム, 分子動力学アプリの場合
- 情報爆発時代における安全・安心ITシステム基盤(情報爆発時代に向けた新しいIT基盤技術の研究)
- 情報爆発時代における安全・安心ITシステム基盤
- HiRise : GUI構築のためのインクリメンタルな制約解消系(特集・インタラクティブソフトウェア)
- スレッドベース実行における積極的データ転送のためのPlan-Do型コンパイル技法とその評価
- ABCL/EM-4 : データ駆動並列計算機上の並列オブジェクト指向言語処理系の実装と評価
- 並列自己反映言語システムの部分計算によるコンパイル技法
- 階層的コレクションに基づくオブジェクト指向分散ライブラリについて
- 並列オブジェクト指向言語ABCL/fのメタレベルアーキテクチャ
- 高並列計算における動的資源管理のための自己反映並列オブジェクト指向言語
- スレッドベース実行における積極的データ転送のためのPlan-Do型コンパイル技法
- 並列オブジェクト指向言語のマルチコンピュータ上における効率的な実装法
- メッセージ衝突を防止する適応的な収集操作アルゴリズム
- ヒープ中の同期ロックの整合性に関するモデル検査
- CPUの条件実行機能に対応した型付きアセンブリ言語
- DMI:計算資源の動的な参加/脱退をサポートする大規模分散共有メモリインタフェース
- サーバの透過的な移動のためのOS拡張(OS (1))
- B-033 SoftwarePotへのチェックポイント機構の導入(B.ソフトウェア)
- データ集約的ワークフローの高精度なシミュレーター
- XQueryによる柔軟な問い合わせが可能な大規模分散環境モニタリングフレームワーク
- "Bare Metal" Cloud: 実マシンを提供するクラウドサービス
- VMMによるアプリケーションを意識したカーネル内の振舞い制御
- 広域分散ワークフローのための耐遅延性の高い分散ファイルシステム
- プロセスレベルの仮想化を用いた大規模分散システムテストベッド
- 分散共有メモリ環境におけるUCTの並列実行
- LL-007 OS資源ビューの仮想化を用いた分散システムテストベッド(ネットワーク・セキュリティ)
- System Service監視によるWindows向け異常検知システム機構(オペレーティングシステム)
- 単一システムイメージを提供するための仮想マシンモニタ(オペレーティングシステム)
- 柔軟性と拡張性を備えた大規模多人数オンラインゲームのための枠組み(応用システム, SWOPP武雄2005 (2005年並列/分散/協調処理に関する「武雄」サマー・ワークショップ))
- 仮想実行環境を管理するためのライブラリ(ポスターセッション)
- サンドボックスシステムにおける投機的な安全性検査(セキュリティ)
- John Backus : Can Programming Be Liberated from the von Neumann Style ? A Functional Style and its Algebra of Programs(20世紀の名著名論)
- 大規模システムソフトウェアのモデル検査器の設計と実装
- 4.VITC : 情報流解析による高安全Cコンパイラ(第1部:高い生産性を持つ高信頼ソフトウェア作成技術の開発,学と産の連携による基盤ソフトウェアの先進的開発)
- ヘテロジニアシステム向けリモートプロセス管理機能(オペレーティングシステム)
- ヘテロジニアスシステム向けリモートプロセス管理機能
- 値間依存性に基づくポイントカット記述のためのバイトコード変換(推薦論文・SPA2005)
- 例外処理機構を備えた命令型言語のCPS変換とその定式化
- オブジェクト指向に基づく並列情報処理モデルABCM/1とその記述言語ABCL/1
- 私のソフトウェア研究
- 接続を動的に制御するメッセージパッシングシステム(HPC-11 : グリッド(3))(2004年並列/分散/協調処理に関する『青森』サマー・ワークショップ(SWoPP青森2004) : 研究会・連続同時開催)
- 安全な情報社会基盤を構築するために--ソフトウェアのセキュリティをいかに高めるか (特集 コンピュータセキュリティ)
- C++テンプレートを分割コンパイルするためのアプローチ
- テキスト処理言語における文字列のための正規表現型
- Moving FirewallにおけるDDoS攻撃対策システムの評価
- Moving FirewallにおけるDDoS攻撃対策システムの評価
- Moving FirewallにおけるDDoS攻撃対策システムの評価
- MK-1 社会基盤としてのセキュアコンピューティングの実現方式の研究(大型プロジェクト紹介,学術系企画)
- 並列アプリケーションのトレースログの効率的なオンライン圧縮アルゴリズムの評価
- アプリケーションデータを保護するためのVMMに基づくアーキテクチャ
- 仮想機械独立なアプレットシステムの実現
- Native Applet : ネイティブコード実行に基づいたWWW上のモバイルコード実行方式
- 動的双方向変換技術に基づいた異機種オブジェクトモビリティの実現法(特集:システムソフトウエアの新しい潮流)
- システムコール制御に基づく仮想マシン間サンドボックスシステム
- 排他的なメソッドの並行な呼び出しを融合する機構を持つ言語
- 同期ボトルネックが存在する並列プログラムの効率的実行(並列処理)
- 明示的なタスク配置指定が可能な遅延タスク生成に基づく動的負荷分散方法
- 動的なスレッド生成をサポートする言語のコンパイル技法
- 安全性を保証するANSI-C実行系の実装手法(プログラミング及びプログラミング言語)
- Virtual Private Grid(VPG) : 遠隔計算機を効率的に利用するシェル
- 副作用を含む関数型プログラムの部分評価に向けて
- 科学通信(科学の動向)社会基盤としての安全なソフトウェア
- 環状分散ゴミ集めのための局所ゴミ集めの最小限の拡張
- オブジェクト指向言語によって記述された, 携帯電話, PDAのアプリケーションプログラム圧縮方式
- 複数の入出力デバイスを選択できる図形描画清書システム
- Javaバイトコード変換による細粒度CPU資源管理
- 共有メモリ並列計算機上の並列ガーベージコレクタの性能予測
- 移動計算のためのプログラミング言語MobileML(プログラミング及びプログラミング言語)
- アセンブリ言語レベルでの異種計算機間のヒープとスタックの共有機構
- 異機種間モーバイル計算のためのコード表現とその実装
- Mobile JDK : モーバイルエージェント環境における計算機資源への移動透過な操作が可能なクラスライブラリ
- 分散記憶並列計算機における局所ごみ集めのスケジュール方式について(並列処理)
- 分散メモリ並列計算機上での参照カウントと分散マーキングの実装および性能比較(並列処理)
- 最小限のコンパイラサポートによる細粒度マルチスレッディング : 効率的なマルチスレッド言語を実装するためのコスト効率の良い方法(並列処理)
- 8.超並列計算機を用いたRNA2次構造の予測と視覚化 (「ゲノム情報」)
- OpenMPにおけるネストした並列性の実装と評価
- 通常の実行効率をほとんど損なわないスレッドマイグレーションが可能なC++
- Portableでrobustなglobal garbage collectorの構築について
- CプログラムにおけるLazy Task Creation
- Reasoningを容易にする並列自己反映言語のメタオブジェクトの設計
- 並列オブジェクト指向言語ABCL/fによる並列数値計算 : 有限要素法と多体問題による評価