[#43284] [Ruby 1.9 - Bug #4456] [Open] Time#strftime で %F 指定子に大きな幅を指定した際の不具合 — tadayoshi funaba <redmine@...>
14 messages
2011/03/02
[#43285] [Ruby 1.9 - Bug #4457] [Open] Time#strftime で %z 指定子などに大きな幅を指定した際の不具合 — tadayoshi funaba <redmine@...>
6 messages
2011/03/02
[#43296] [Ruby 1.9 - Bug #3990] [Assigned]tests of rexml/rss reports many errors and failures without iconv — Yui NARUSE <redmine@...>
5 messages
2011/03/03
[#43297] Re: [Ruby 1.9 - Bug #3990] [Assigned]tests of rexml/rss reports many errors and failures without iconv
— SASADA Koichi <ko1@...>
2011/03/03
(2011/03/03 18:56), Yui NARUSE wrote:
[#43298] Re: [Ruby 1.9 - Bug #3990] [Assigned]tests of rexml/rss reports many errors and failures without iconv
— "U.Nakamura" <usa@...>
2011/03/03
こんにちは、なかむら(う)です。
[#43317] [Ruby 1.9 - Bug #4474][Open] 複数のスレッドからトランザクションに入ろうとした場合のPStoreの挙動 — Masaki Matsushita <redmine@...>
9 messages
2011/03/06
[#43346] [BUG] lib/irb/locale.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
8 messages
2011/03/24
[#43347] Re: [BUG] lib/irb/locale.rb
— Yugui <yugui@...>
2011/03/24
2011/3/24 Keiju ISHITSUKA <keiju@ishitsuka.com>:
[#43355] [Ruby 1.9 - Feature #4529][Assigned] date_core と long 型 — Yui NARUSE <redmine@...>
10 messages
2011/03/25
[#43359] [Ruby 1.9 - Feature #4529][Rejected] date_core と long 型
— tadayoshi funaba <redmine@...>
2011/03/26
[#43360] Re: [ruby-dev:43359] [Ruby 1.9 - Feature #4529][Rejected] date_core と long 型
— "NARUSE, Yui" <naruse@...>
2011/03/26
(2011/03/26 19:21), tadayoshi funaba wrote:
[#43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い — Yukihiro Matsumoto <matz@...>
11 messages
2011/03/29
[#43366] Re: [ruby-dev:43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い
— SASADA Koichi <ko1@...>
2011/03/29
ささだです.
[ruby-dev:43373] 単位時間あたりに消費する電力を抑えるRuby処理系
From:
SASADA Koichi <ko1@...>
Date:
2011-03-31 17:30:02 UTC
List:
ruby-dev #43373
ささだです.
Ruby 処理系が単位時間あたりに消費する電力を,極力抑えるためのパッチを
作成しましたのでお送りします(*1).先行研究 [1] ではほんの少し抑えるだけ
でしたが,本パッチを適用することで Ruby 処理系を実行する前とほぼ同様の時
間あたりの消費電力で済むようになります.
*1: 本パッチを活用するには DVFS [2] に対応したプロセッサが必要になり
ます.例えば最近のラップトップには殆ど対応していると思います.
まずは,実行結果です.一番簡単に電力を消費するプログラムを作るには,無
限ループ(loop{})を実行するのが簡単です.このプログラムを変更前,変更後
の Ruby 処理系で試した結果が図1 になります.
=======================================================================
図1 消費電力の推移.横軸が時間(秒),縦軸が消費電力(watt)
評価環境:Let's note F9(Intel(R) Core(TM) i5 CPU M 540 @ 2.53GHz)
Windows 7 上の VirtualBox 上の
Linux 2.6.32-5-686(Debian/squeeze)
watts up? PRO を用いて計測
http://www.atdot.net/fp_store/f.rplxil/file.graph.png
=======================================================================
図1の最初の大きな山(横軸 17〜37 あたり)が現在の trunk(ruby 1.9.3dev
(2011-04-01 trunk 31226) [i686-linux])で loop{} を実行しているところ
で,無限ループによって電力消費が大きくなったのがわかります.Ctrl+C に
よって無限ループをキャンセルし,その後にパッチ適用後の Ruby で同じプログ
ラムをすぐに実行していますが,電力消費がとくに増えていないことがわかりま
す.いくつかピークがありますが,裏でメール読んだりしているために消費電力
が増えているためだと思われます.
パッチの内容は下記になります.とても大きな変更になるため(一部,互換性
を崩します),適用する際には気を付けて下さい.
http://www.atdot.net/sp/readonly/z7mxil
昨今の電力事情は言うまでもないですが,電力消費をおさえるための技術の開
発は急務です.本パッチがその一助になることを願ってやみません.
以上,よろしくお願いします.
[1] 笹田耕一: Rubyのスレッド実装の改善,
第52回プログラミングシンポジウム報告集, pp. 145--152 (2011).
[2] 半導体の低消費電力技術
http://ja.wikipedia.org/wiki/%E5%8D%8A%E5%B0%8E%E4%BD%93%E3%81%AE%E4%BD%8E%E6%B6%88%E8%B2%BB%E9%9B%BB%E5%8A%9B%E6%8A%80%E8%A1%93
--
// SASADA Koichi at atdot dot net
//
// もちろん,このパッチが一助になるわけはないのだけれど,
// もうちょっとなんとかならないか,真面目に考えています.