リターンバリア型実時間ごみ集めの抽象モデル検査
スポンサーリンク
概要
- 論文の詳細を見る
実時間ごみ集めアルゴリズムの代表的なものとしてスナップショット方式があげられるが,このアルゴリズムのルート挿入を改良したものに,リターンバリアという手法がある.スナップショット方式のルート挿入では,プログラムの実行を止める必要があった.この停止時間はスタックの大きさに依存していたが,リターンバリア方式ではスタックをフレーム単位で分割してルート挿入することにより,より停止時間を短縮することができる.我々は簡略化したリターンバリア型実時間ごみ集めの安全性の証明に成功した.ここでの簡略化とは,通常ならヒープ領域のセルが 2 つ以上のポインタを持てるところを,1 つに限定したということである.さらに,実際の処理系ではルート挿入の間にもスタックが伸び縮みするが,証明を複雑にする可能性があったので,スタックが伸び縮みしない処理系モデルを対象とした.安全性とは使用中のセルを誤ってごみとして回収しないという保証である.現在,様々な実時間ごみ集めアルゴリズムが提案されており,プログラムの停止時間が短くなるよう改良されている.しかしアルゴリズムは複雑さを増しており,一見して安全性があるのか分かりにくいことも多い.モデル検査で安全性を証明されたアルゴリズムであれば,より安心して実用的に使うことができる.先行研究として,簡略化したスナップショット方式ごみ集めの安全性が,抽象モデル検査とよばれる手法で証明されている.本研究ではこれに基づいて抽象モデル検査を行い,リターンバリアを使う場合と使わない場合の比較を行った.また,抽象化が正しく行われていることも定理証明系である Isabele/HOL を用いて証明した.
- 一般社団法人情報処理学会の論文
- 2009-08-28
著者
-
八杉 昌宏
京都大学大学院情報学研究科
-
湯淺 太一
京都大学大学院工学研究科情報工学専攻
-
馬谷 誠二
京都大学大学院情報学研究科
-
湯淺 太一
京都大学大学院情報学研究科
-
湯浅 太一
豊橋技術科学大学
-
藤川 浩光
京都大学大学院情報学研究科,現在,任天堂株式会社
-
Yasugi Masahiro
Department Of Communications And Computer Engineering Graduate School Of Informatics Kyoto Universit
-
Masahiro Yasugi
Graduate School Of Informatics Kyoto University
-
藤川 浩光
京都大学大学院情報学研究科 現在 任天堂株式会社
関連論文
- L-Closure:安全な計算状態操作機構(平成21年度論文賞の受賞論文紹介)
- L-Closure : 高性能・高信頼プログラミング言語の実装向け言語機構
- 階層的グループ化に基づくコピー型ごみ集めによる局所性改善
- ISLisp処理系の開発と複合他システムインタフェースについて
- ISO規格ISLISP処理系におけるオブジェクトシステムの実装について
- ISO規格ISLISP処理系の実装方式
- ISO規格ISLISP処理系の開発
- データ並列言語におけるベクトルプロセッサ向きコード生成
- 共有メモリプログラミングのための拡張C言語
- 標準プログラム言語の国際化
- 動的名前解決による通信先・移動先の柔軟な指定が可能な分散アンビエントシステムの設計
- 1.高信頼組込みシステムのための先進ソフトウェア技術(第1部:高い生産性を持つ高信頼ソフトウェア作成技術の開発,学と産の連携による基盤ソフトウェアの先進的開発)
- 構成的理論に基づいたプログラミング言語Zとその実装
- L-Closureを用いた真に末尾再帰的なSchemeインタプリタ
- 日米並列Lispワークショップに参加して
- リターンバリア型実時間ごみ集めの抽象モデル検査
- Cache-conscious階層的グループ化データ配置法:Cache-oblivious配置法との実験的比較
- タプル空間によるブラウザ間通信を備えたScheme処理系の開発
- 2L-5 スタックスキャンを中断させるリターンバリアごみ集め(リーディングプロジェクト e-society:高信頼性組み込みソフトウェア(2),一般セッション,リーディングプロジェクト e-society)
- Lego MindStorms用のLisp処理系XS(ソフトウェア論文,ソフトウェア論文)
- 情報化
- リージョン変数の動的なエイリアス判定によるメモリ効率向上
- 遅延分割型負荷分散フレームワークの試験実装
- スタックベースのML処理系における効率的な一級継続の実装
- S式ベースC言語における変形規則による言語拡張機構
- 国内予選を突破せよ(プログラム・プロムナード)
- 実時間処理に適したメモリ管理を行うLisp処理系の設計と実装
- 入れ子関数を利用する動的負荷分散と高水準記述(言語処理系)
- 細粒度マルチスレッド言語における例外処理の効率良い実装
- 組み込みシステムにおける複数のフリーリストに割り振るメモリ量の最適化
- 並行オブジェクトのための型システムとコンパイル技法
- バックトラックに基づく負荷分散のT2K並列環境における評価
- call/ccからcall/iocへの自動変換
- ヒューマノイド行動ソフトウェア基盤におけるマルチスレッドLispへの実時間GC機能の導入(サイバー増大ページ論文概要,新しいソフトウェアの実現,サイバー増大号)
- ソフトウェア論文座談会
- バックトラックに基づく負荷分散の高並列環境における評価
- Lispは楽しい(コラム)
- Seymour Papert: Mindstorms: Children, Computers, and Powerful Ideas(20世紀の名著名論)
- オブジェクト指向並列言語OPAのための遅延正規化手法
- 遅延タスク生成の反復計算向け拡張(並列処理)
- オブジェクト指向並列言語OPAのためのコード生成手法
- マルチコンテキスト管理をサポートする実装用言語
- 3Z-7 並列言語OPAにおける一貫性制御に対応した差分プログラミング
- Scheme処理系におけるC言語拡張コードへのライトバリア自動挿入
- Scheme処理系におけるC言語拡張コードへのライトバリア自動挿入
- データ並列言語における擬似ベクトル処理のための実行方式
- Highly Reliable Embedded Software Development Using Advanced Software Technologies(Software Engineering for Embedded Systems)
- バックトラックに基づく負荷分散の高並列環境における評価
- 2ZP-2 バックトラックに基づく負荷分散の広域分散環境における評価(情報爆発時代における分散処理と運用技術,学生セッション,「情報爆発」時代に向けた新IT基盤技術,情報処理学会創立50周年記念(第72回)全国大会)
- ロボット行動ソフトウェア環境に適した実時間ごみ集め(サイバー増大ページ論文概要,サイバー増大号)
- ネットワークコミュニティにおける関心の類似性に基づいた知識共有の促進(インタラクション技術の革新と実用化)
- Zinger:関心の類似性に基づく会話支援エージェント(「情報メディアとインタフェース」および一般)
- 共有メモリ向けプリミティブとそのGCCを使った実現
- データ並列言語におけるベクトルプロセッサ向きコード生成
- 等式分割を用いた配列データ依存解析手法
- 入れ子関数を利用した動的負荷分散
- Java上のScheme処理系「ぶぶ」における単一のクラスローダを用いたオブジェクトシステムの実装
- プログラムの部分移送に基づく遠隔実行機構とその知的インタフェースへの応用
- 3Z-6 並列Schemeにおける即時タスク生成法と遅延タスク生成法の融合
- 産業界からの理工系情報学科の研究教育内容への期待と大学の取り組み
- リターン・バリア
- 既存Cヘッダファイルの構文の異なる言語での有効利用(サイバー増大ページ論文概要,新しいソフトウェアの実現,サイバー増大号)
- Silly Sort(プログラム・プロムナード)
- 継続の生成におけるスタックコピーの遅延
- Javaアプリケーション組込み用のLispドライバ
- SchemeにおけるEvaluation Strategyの設計と実装
- 4L-6 ISLISPコンパイラの実装
- SIMD型超並列数式処理系のための並列プログラミング作法
- ワークスティーリングフレームワークにおけるブロードキャスト機能
- A Transformation-Based Implementation of Lightweight Nested Functions
- Efficient and Portable Implementation of Java-style Exception Handling in C
- 適応的オブジェクトによる排他制御の実行時緩和 (並列処理)
- 入れ子関数を利用したマルチスレッドの実現
- Javaと相互呼び出し可能なScheme処理系「ぶぶ」における継続機能と例外処理機能の実装
- データ並列言語における通信最適化のためのコード移動手法
- 適応的オブジェクトのための局面解析手法
- オブジェクト指向並列言語によるN体問題の並列化とその評価
- ソフトウェア紹介 TUTScheme
- Safe AmbientsのためのJavaフレームワーク
- 動的スコープの利用による並列言語の同期・例外処理の階層的構造化
- Javaクラスライブラリに対する言語間インタフェース
- Parallel Graph Traversals using Work-Stealing Frameworks for Many-core Platforms
- 複数の最上位環境をサポートするLispモジュール機能
- 共有メモリ関連命令を生成可能な実装用言語の設計
- 部分評価を応用した動的Webページのキャッシュ機構
- Dijkstra, E.W., Lamport, L., et al., On-the-Fly Garbage Collection, An Exercise in Cooperation, CACM Vol.21, No.11, Nov.1978, pp.966-975(20世紀の名著名論)
- SIMD型並列計算機SM-1(特集知られざる計算機)
- 末尾再帰の最適化と一級継続を実現するためのJVMの機能拡張
- JLUGM--日本Lispユーザ会議(1)全体報告
- VPリストを用いたデータ並列言語のアクティビティ制御
- はじめての並列プログラミング
- 並列オブジェクト指向言語のためのガーベジコレクタ(並列処理)
- LEGO Mindstorms用のLisp処理系XSによるクラウド制御型ロボット開発(一般セッション(2),クラウドでつながるロボットサービス)
- MPIを用いたデータ並列C言語NCXの実装
- ソフトウェア紹介 TUTScheme
- 学生には良い計算機システムを (情報技術の新時代に向けて)
- Topics Lisp生誕40周年記念ユーザコンファレンス
- 「情報処理学会論文誌 : プログラミング」の編集について
- L-Closureの呼び出しコストの削減
- ACM国際学生プログラミングコンテスト