WEKO3
-
RootNode
アイテム
Rubyのスレッド実装の改善
https://ipsj.ixsq.nii.ac.jp/records/91437
https://ipsj.ixsq.nii.ac.jp/records/914373e7e9033-8e34-4cea-94c1-4b35e2d74d78
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2011 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Symposium(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2011-01-07 | |||||||
タイトル | ||||||||
タイトル | Rubyのスレッド実装の改善 | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | The Improvement of Thread Implementation for Ruby Interpreter | |||||||
言語 | ||||||||
言語 | jpn | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_5794 | |||||||
資源タイプ | conference paper | |||||||
著者所属 | ||||||||
東京大学大学院情報理工学系研究科 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Information Science and Technology, The University of Tokyo | ||||||||
著者名 |
笹田, 耕一
× 笹田, 耕一
|
|||||||
著者名(英) |
Koichi, Sasada
× Koichi, Sasada
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | プログラミング言語Rubyはスレッドプログラミングをサポートする。スレッド処理機構を実現するため、Ruby1.8処理系はユーザレベルスレッドを独自に実装していたが、我々は最新のRuby1.9処理系において、OSなどが提供するネイティブスレッドを用いる方式で実装した。具体的には、POSIX Tthread (Pthread)と Windowsスレッドに対応している。しかし、このRuby1.9処理系のスレッド実装は次のような問題点がある。(1)タイマスレッドが定期的に監視を行うため、CPUを低消費電力状態に保つことができない(2)複数CPUでのCPU利用権の放棄がうまくいかない。我々はこれらの問題に対して、(1)タイマスレッドの改善(2)CPU利用権の受け渡し方式の変更、を行うことで問題点を解決し、スレッド実装を改善した。本稿では既存のRuby処理系でのスレッド実装について述べ、問題点をまとめ、この改善手法について述べる。そして、改善後のRuby処理系の性能について評価した結果を示す。 | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | Programming language Ruby supports thread programming.. To support the threads, the Ruby 1.8 interpreter implements own userlevel threads. On the other hands, we made a thread mechanism using native threads provided by Oss for newest version of the Ruby interpreter Ruby 1.9. To be specific, POSIX Thread (Pthread) and Windows threads are supported. However, the Ruby1.9 interpreter has several issues around threads implementation. (1)We can not keep CPU lowpower state because the timer thread wake up periodically (2)CPU utilization right can not be passed correctly on the SMP systems. We solve these issues by : (1)avoiding timer threads and (2)changing CPU utilization right passing method. In this paper, we show the current Ruby threads implementation, summerize issues and describe solutions. Moreover, we show the peformance of the modified Ruby interpreter. | |||||||
書誌情報 |
第52回プログラミング・シンポジウム予稿集 巻 2011, p. 145-152, 発行日 2011-01-07 |
|||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |