• 検索結果がありません。

参照カウントに対応したソフトウェアトランザクショナルメモリの実装

N/A
N/A
Protected

Academic year: 2021

シェア "参照カウントに対応したソフトウェアトランザクショナルメモリの実装"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会論文誌. プログラミング. Vol.6 No.3 52 (Dec. 2013). 発表概要. 参照カウントに対応した ソフトウェアトランザクショナルメモリの実装 岡本 尚文1,a). 南出 靖彦2. 2013年3月1日発表. マルチスレッドプログラミングにおいて逐次処理と同様に並列処理を記述しつつ共有資源の保護を行 う方法としてソフトウェアトランザクショナルメモリ(STM)が注目されている.本発表は C++言語に よる STM アルゴリズムの 1 つである Lazy Snapshot Algorithm(LSA)を用いたオブジェクトベースの STM ライブラリの実装について述べる.はじめに,抽象化された LSA は実際のオブジェクトベースで実 装されるアルゴリズムとはかけ離れたものであるため,新たに object history という考えを導入して実装 に対応したアルゴリズムの定式化を行う.LSA は Java 言語によるオブジェクトベースの実装と C 言語に よるワードベースの実装がなされたものであり,本発表における実装は C++言語でオブジェクトベース の LSA を再現したため,C++言語にはないガーベジコレクションを参照カウント型のポインタで行って いる.しかし,参照カウントによるガーベジコレクションでは循環参照のあるデータ構造に対してゴミの 回収が行われないという問題がある.LSA で実装したライブラリ内部のデータ構造は並列処理によっては 循環参照が発生する可能性を持つため,弱い参照を用いたライブラリ内部のデータ構造の変更による循環 参照の解決方法を示す.. Implementation of Software Transactional Memory with Reference Counting Naofumi Okamoto1,a). Yasuhiko Minamide2. Presented: March 1, 2013. Software transactional memory (STM), which enables to protect shared resources and write a concurrent program as a sequential, has recently been focus of interest in multithread programming. This presentation is about the implementation of an STM library in C++ using object-based lazy snapshot algorithm (LSA). Felber et al. presented LSA in an abstract form and implemented two versions based on it; one is objectbased LSA in Java, and another is word-based LSA in C. We first introduce the concept of “object history” to refine the abstract algorithm to make it consistent with the object-based implementation. To translate object-based LSA into the implementation in C++, we use reference counting pointers instead of garbage collection in Java. However, the reference counting does not have the capability to collect memory in a circular reference, and data structures constructed inside the library may become circular structures. We show modification of the data structure with a weak reference to solve this problem.. 1. 2. a). 筑波大学大学院システム情報工学研究科 Graduate School of Systems and Information Engineering, University of Tsukuba, Tsukuba, Ibaraki 305–8573, Japan 筑波大学システム情報系 Faculty of Engineering, Information and Systems, University of Tsukuba, Tsukuba, Ibaraki 305–8573, Japan [email protected]. c 2013 Information Processing Society of Japan . 52.

(2)

参照

関連したドキュメント

全国の 研究者情報 各大学の.

金沢大学学際科学実験センター アイソトープ総合研究施設 千葉大学大学院医学研究院

東京大学 大学院情報理工学系研究科 数理情報学専攻. [email protected]

情報理工学研究科 情報・通信工学専攻. 2012/7/12

東北大学大学院医学系研究科の運動学分野門間陽樹講師、早稲田大学の川上

【対応者】 :David M Ingram 教授(エディンバラ大学工学部 エネルギーシステム研究所). Alistair G。L。 Borthwick

話題提供者: 河﨑佳子 神戸大学大学院 人間発達環境学研究科 話題提供者: 酒井邦嘉# 東京大学大学院 総合文化研究科 話題提供者: 武居渡 金沢大学

向井 康夫 : 東北大学大学院 生命科学研究科 助教 牧野 渡 : 東北大学大学院 生命科学研究科 助教 占部 城太郎 :