WEKO3
アイテム
Rubyオブジェクトの効率的なプロセス間転送・共有機構の設計と実装
https://ipsj.ixsq.nii.ac.jp/records/83710
https://ipsj.ixsq.nii.ac.jp/records/83710018f14b0-4cd7-41af-b438-f4a632739d41
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2012 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2012-09-04 | |||||||
タイトル | ||||||||
タイトル | Rubyオブジェクトの効率的なプロセス間転送・共有機構の設計と実装 | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | Design and Implementation of Efficient Interprocess Transfer and Sharing Mechanism for Ruby Objects | |||||||
言語 | ||||||||
言語 | jpn | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | [通常論文] Ruby,プロセス間オブジェクト転送,プロセス間オブジェクト共有,並列プログラミング | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
東京大学大学院情報理工学系研究科/現在,グーグル株式会社 | ||||||||
著者所属 | ||||||||
東京大学大学院情報理工学系研究科/現在,Heroku, Inc. | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Information Science and Technology, The University of Tokyo / Presently with Google Inc. | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Information Science and Technology, The University of Tokyo / Presently with Heroku, Inc. | ||||||||
著者名 |
中川, 博貴
× 中川, 博貴
|
|||||||
著者名(英) |
Hiroki, Nakagawa
× Hiroki, Nakagawa
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 我々はオブジェクト指向スクリプト言語Rubyにおいて,マルチコアプロセッサによる並列プログラミングを効率的,かつユーザが扱いやすい形で実現することを目指し,Rubyオブジェクトのプロセス間転送・共有を行うTeleporterライブラリを開発した.既存のプロセス間通信機構でオブジェクトを転送するには,オブジェクトをバイナリ列に変換してから送信し,受信側でそれをオブジェクトに復元する必要があり,そのオーバヘッドが問題となっていた.そこでTeleporterでは通信路にプロセス間共有メモリを利用することで,オブジェクトを従来の機構よりも軽量なシリアライズ,もしくはシリアライズを行わずに転送するようにし,オーバヘッドの少ない通信を実現した.さらにプロセス間でRubyオブジェクトを安全に共有する仕組みについて設計し,実装を行った.Teleporterはユーザが手軽に利用できることを目指すため,Ruby処理系の改修を行わずにRubyの拡張ライブラリとして実装した.本稿では,開発したTeleporterの設計と実装,そしてAPIについて詳細に述べる.また,Teleporterを用いた評価結果を示し,その考察を示す. | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | We developed a Ruby library “Teleporter”, for an interprocess transfer and sharing mechanism for Ruby objects to make easy and efficient parallel programs on multi-core processors. In traditional interprocess communication mechanisms, objects must be serialized and deserialized. This overhead has become a problem. Teleporter uses an interprocess shared memory as a communication channel and it enables to transfer objects with lightweight serialization or without serialization, so communication overhead is lower than traditional mechanisms. Also, we designed and implemented a mechanism to safely share Ruby objects among processes. Teleporter is developed as an extension library for Ruby without modification of the Ruby interpreter. In this paper, we will show the design and implementation of the Teleporter and its API in detail. In addition, we will show the results of performance evaluation using Teleporter. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 5, 号 4, p. 1-16, 発行日 2012-09-04 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |