« Google落ちた? | メイン | つかれた »

2005年11月28日

これからのプロセッサの話

カテゴリー: [プログラミング] [情報技術]

学位論文審査で頭がいっぱいでblogを放置してました.というより,そればっかりやっていると,ネタがなかったんですが.
そうしたら,アクセス数が半分に^^;

さて,本題に.
先週の金曜日,大学に東芝セミコンダクターの斉藤光男氏が,Cellプロセッサ関係の講演に来ました.
何となく,その場の流れで聞きに行くことに.

主に,プロセッサの歴史と,Cellへ至る道についての話でした.
もちろん,もっぱらハードウェアの話でしたが,後ろの方でちょっとだけふれたソフトウェアの開発環境に興味を持ちました.ポイントは先祖帰りだそうです.

Cellは,制御用のプロセッサ(PPE)1つと,8つのSPEを1チップにした,非対称マルチコアです.
ですから,それぞれのプロセッサに上手に仕事を割り振る必要があります.
そして,これは人がやるようです.人が動作を客観的に判断できるように,SPEがどれだけ仕事をしているか,ブランチミス,バスを流れるデータ量,すべてを見ることが出来るようになっているということでした.
とにかく,隠蔽して透過的にするのではなく,見せるようになっています.見て,人が調整するわけです.

実際の開発環境を知っているわけではないので,実際どのくらい大変なのかは何ともいえないところですが,こういう話を聞いていると,やはりソフトウェア開発は大変なんだろうなあと思います.Cellをよく知った上で,使いこなす必要がありますから.

でも,こういう問題はCellだけの問題ではないでしょう.これから,マルチコアが当たり前になっていくでしょうから.PCにのるプロセッサは対称マルチコアですから,Cellのような大変さはないかもしれませんが,それでも,いままでと同じ方法では速くなりません.
マルチスレッドにして,徹底して非同期で作らないといけないでしょうね.

サーバ・アプリケーションは,マルチスレッドが当たり前になっていますから,このままでもいいんでしょうけど,クライアント側は普通そういう作りになっていませんから,作り方を変える必要があるでしょう.

そもそも,私は,クライアントがマルチコアになっても,あんまり意味がないと思っているですけど.あっても,2つくらいでいいでしょう.どうせ,プロセッサ設計上の限界が来ているので,コアを増やすしかないという話なわけですから.
クライアントで動いているアプリケーションで,どのくらいマルチコアの効果があるんでしょうね.
一部のマルチメディア関係のアプリケーションには意味があることでしょうけど.

投稿者 shingo : 2005年11月28日 18:24

トラックバック

このエントリーのトラックバックURL:
http://isolinear.info/cgi-bin/mt/mt-tb.cgi/166

コメント

CELLのSPEはコンテキストスイッチを抑える必要がありますから、性能を出そうと思ったら、やっぱり手動でのチューニングが必要なのでしょうが…。やっぱり聞きに行けば良かったかなー…。
クライアントでのマルチスレッドはどうなんでしょう。私の場合は自分の研究が画像処理ですし、コアが有るならコア数分スレッド立てても良いですが…。
でもIntelのマルチコアが今のままキャッシュコヒーレンシーが遅いとなると粒度の荒いマルチスレッドにしか出来ないので書きにくいですね。逆にハイパースレッディングは粒度が細かいマルチスレッドが書きやすいけど、逆にキャッシュが共有なので色々気をつかうわけですけど…。

投稿者 石 : 2005年11月29日 22:40

コメントしてください

コメントスパム等の対策のために,大量のURLを含むコメント,古いエントリーに対するコメント,連続したコメントなどは,一旦保留されます.




保存しますか?