Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2006-10-13)
[go: Go Back, main page]

«前の日記(2006-10-12) 最新 次の日記(2006-10-14)» 編集

Matzにっき

<< 2006/10/ 1 1. お休み
2. 実家
2 1. U-20プロコン表彰式
2. インタビュー
3. Job Trends: ruby programmer
3 1. インタビュー
2. OSS コンサル会社が設立
3. Rubyの生産性の高さはどこまで本当か?
4. block parameter to be local variables
5. ジョブズ氏のいないアップルが来る日--IT企業が直面する「後継者選び」
4 1. 即興トーク
2. ソフトエイジェンシー、MySQL 開発者が直接サポートするサービスを開始
3. Seasarは鶏か卵か? - ひが氏、キャズム越え柔道ストラテジ語る
4. 『現代という時代は、どのようなプログラミングを求めているのか?
5 1. Ruby on Rails and More...
2. method_missing magic - emulating Groovy's "it" in Ruby
3. Code Golf
6 1. OSM休刊
2. 健康診断
7 1. 総大会...のはずが
2. RubySpec
3. OO is dead
8 1. 総大会
9 1. 松江フォーゲルパーク
2. RubyConf 2006 - Agenda
10 1. OSM原稿「美しいコード」
2. 2006年度の「日本OSS貢献者賞」の受賞者が発表
11 1. ActiveSupport::MultiByte
2. OSS貢献者佐渡特別賞2006
12 1. 知らされなかったパスワード--ユーザーの死が封印するアカウントと遺族のアクセス
2. オープンソースプロジェクトを予期せぬ事態から守る方法
13 1. Multitasking is inefficient
2. データ圧縮の昔話
14 1. 日経Linux2006年12月号
2. Rubyチュートリアル
3. JParsec - Ruby Parsec
15 1. 気分
2. バプテスマ会
16 1. 日経Linux
2. How to Protect Your Open Source Project From Poisonous People
17 1. 移動(自宅→出雲→羽田→成田→SFO→SLC→Provo)
2. 観光
18 1. BYU Colloquium
2. 日経ソフトウェア2007年1月号
3. 通販の国
19 1. ユタ観光
20 1. RubyConf1日目
21 1. RubyConf 2日目
2. おみやげ
3. 乾燥注意報
4. implementers' summit
5. Keynote: Return of the Bikeshed -- or Nuclear Plant in the Backyard.
22 1. 礼拝
2. RubyConf3日目
3. 国家の損失?
4. デンバー合意
23 1. 帰国
24 1. 帰国・鼻炎
25 1. 睡眠
26 1. イテレータ
2. OracleがLinux自体のサポートに乗り出す
27 1. ケイゾク
28 1. 末娘誕生日
2. ハロウィーン
3. Ralph Griswold 1934-2006
29 1. 安息日
30 1. 家庭の夕べ
2. Visualization of Ruby's Grammar
31 1. 【OSC2006 Tokyo/Fall】「日本Rubyの会」の高橋会長,会の現状を報告。活動メンバーが固定化しているのが問題に
2. タツノオトシゴ
>>
Dr.Web 予測するアンチウイルス 持ち込み PC 対策でお悩みの方にオススメです。
ウイルス・スパイウェア検査・駆除 用ツール Dr.WEB CureIt! を無償配布中!

2006-10-13 [長年日記]

_ Multitasking is inefficient

人間にとってマルチタスクを行うことは効率が悪い、という話。

っていうか、人間の意識はシングルタスクなので(無意識下は並行実行らしい) コンテキストスイッチのコストが高い上に、 簡単にマルチコアにできる方法が発見されていない以上、 効率が下がるのはほぼ自明なのでは。実験で確認したという事実が重要なのかな。

もっとも、人間はわりと簡単に入手できるリソースなので、 たくさん持ってくれば効率良くマルチタスクできる...と言いたいところなのだが、 「遅れているプロジェクトに人員をつぎ込むとさらに遅れる」というルールがある通り、 マルチコアにしても問題はつきまとうのである。

これはCPUでも言えることだ。マルチコアにしても早くならない問題の方が多い。 今後のプログラミングに対する課題は、どうやってマルチコアを有効活用するかだろうな。 たぶん、人間の思考のように表層ではシングルタスク、下層ではパラレルというのが 良いのだろう。データのベクトル化とか、その辺かな。

もしかすると将来、APLのような行列指向言語が復権するかもしれない。

_ データ圧縮の昔話

奥村先生による昔話。

私は当時「パソコン通信」に参加していなかったので、 伝聞でしか知らない話がたくさんあった。 当事者の話はいつも面白い。

ところで、最近圧縮特許の話をあまり聞かなくなったけど、 それはただ単に話題になっていないだけなんだろうか。

本日のツッコミ(全7件) [ツッコミを入れる]
_ たかはし (2006-10-19 17:08)

クアッドコア、8コアも目前です。性能を稼ぐにはできるだけ大きな単位で並列化しないとあかんです。スレッドぐらいの粒度でないと性能は稼げません。でも、Rubyはカーネルスレッドを使わない方針だったような。Rubyが現在のポリシーを曲げないのなら、ガベジコレクションを他のCPUからバックグラウンドで行えるようにするくらい?

ちなみに人間CPUの方も、マルチタスクするとスループットは落ちますが、応答性はあがります。人間の仕事もスループットだけではないので、バランスでしょうか。

_ まつもと (2006-10-19 17:14)

最近は性能のための並列性はプロセスでいいじゃん、という気になってます。
スレッド以下はプログラミングが簡単になる(ことがある)時に使えばいいかと。

次期VMであるYARVはnative threadを採用することになってますから、現在のポリシーのままというわけではありません。正直、今のグリーンスレッドも残したいんですが、こればっかりは実装者の都合があるようです。

_ たかはし (2006-10-19 17:19)

ちなみに人間CPUの方も、マルチタスクするとスループットは落ちますが、応答性はあがります。人間の仕事もスループットだけではないので、バランスでしょうか。マルチチコアにしたときに少しでもスループットを落ち方を小さくしたければ、各コアで実行する処理をなるべく疎にしなければなりません。

マルチコアの並列性の場合はスレッドぐらいの粒度でないと性能は稼げません。そういえば、Rubyはカーネルスレッドを使わない方針だったような。Rubyが現在のポリシーを曲げないのなら、ガベジコレクションを他のCPUからバックグラウンドで行えるようにするくらい?

_ K.Tsuchiya (2006-10-19 18:00)

負荷かけすぎるとダウンしますしね

_ MMX (2006-10-20 09:58)

昔の超並列マシンとかトランスピュータとか再発掘になるのでしょうか?
データフローマシンは無さそうです、2D言語はフローぽいですが。
2006-09-30 ■2D language
http://d.hatena.ne.jp/akaiho/20060930/1159594806

_ 凡人 (2006-10-21 01:46)

Haskellの様に、遅延評価を行って、変数の代入を禁止すると、参照透明性を保つことが出来、処理の並列化が簡単に計れるのではないかと思うのですが、Rubyでも、例えば関数単位で、参照透明性を保つ言語仕様で動作させるかどうかを指定出来るようにし、その指示に応じて、インタープリターをRuby内部で切り替えて対処する、というのはいかがでしょうか?
この改良は、恐ろしく面倒だし、プログラミングする側にとっても大変だと思いますが、いろいろな方面で多大な恩恵を受ける事が出来るのではないかと思っております。

_ Ken (2006-10-24 13:02)

私はADHDなので疑似マルチタスクです。

お名前:
E-mail:
コメント:
本日のリンク元
アンテナ
検索

«前の日記(2006-10-12) 最新 次の日記(2006-10-14)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.