CPU関連の話
http://streakeagle.blog15.fc2.com/blog-entry-497.html#more
GA将!のアベントさんは、CPUまわりの話も多いので、そのへんも興味深く読んでるのですが、
>もしこの前提が成り立つなら、PentiumD方式のL2(コア毎にL2を持ち、FSBを通してL2間のコピーをする)でも問題無いですからね。
ここは、AMDはHyperTransportでしたっけ? その速さが売りですよね?
だからこそのL2を別にできるってことじゃないですか?
実際、どのくらいPenDのL2が別(というかすべてが別)で転送が遅くなるかは、
MYCOM PCWEBで大原さんが詳細に論じてました。以前。
別にAMD信者ではないですが、
>ただ、クライアントPCではL2共有の方が性能が上がるという話を聞いた事があるので、この場合はサーバ用途を重視しているという事になるのでしょうか。
このへんの話はPCwatachで記事を見た覚えがありますね。
結局、同じプロセスで、スレッドレベルの並列だと、コードも共有だし、L2共有が有利。
プロセスが複数動くようなシステムだと、L2非共有の方が効率がいいみたいな話だったかな?
個人レベルのクライアントだと、メインのアプリはひとつでしょうから(人間が一人だし)L2共有が向いてるかも? ノートPCユーザーとか。
その点、サーバーは、いろんなデーモンとかいっぱい動くでしょうし、同時にトランザクションを裁かないといけないし、L2非共有が有利なんでは?
しかも非共有の欠点である、動機にかかる転送遅延も、AMDなら問題が少ないわけで。
共有してると有利なような気はしますが、よく考えると同じコードが別のスレッドで動いていても、コードサイズがL2を超えてると、キャッシュされるコードは変わってきますから、ヒットミスも起き易くなりますよね?
実際にL2でメモリを共有したい場合も、SMPだと、じっさいどれだけありますかね?
その際は、ロックなんかもいるでしょうし。
将棋だと、ハッシュを共有することになるでしょうけど、ハッシュは1.5GBとか割り当てるので、1MBとか2MBレベルの共有ハッシュがあってもうまくいかない気もします。
実際に、並列処理のアルゴリズムを考える場合、探索する局面のハッシュが被らないように割り当てると、互いに排他処理をする必要性が下がるので、より性能のよいアルゴリズムになるんじゃないかと思います。
あと、どっちを使うかは、ビジネス上の戦略という気もします。
サーバーか、クライアントかとか。
自分のマシンがAthlon64 x2なんでちょっと信者入ってるかも(笑
CoreDuoのノートPCと迷ったんですけどねえ。
Intelのイスラエル研究所は凄いですね。今後、スーパースケーラレベルじゃないような、大規模な命令スケジューリングを実行時にするCPUが出てくるんでしたっけ?
http://pc.watch.impress.co.jp/docs/2004/1108/kaigai132.htm
>新コアを2つ設計しているという話なので、K8に手間をかける余裕は無いでしょしうね。
ノート向けの CoreDuoのような位置づけのCPUでは、共有もいいかもしれませんね。
将来的にメニーコアになった場合は、設計上、どうなんでしょうね?
あと、今日PCwatchで読んだ記事だと、AMDのプロセス技術が面白かったです
IBMと組んだようで。
リーク電流を防ぐために、Low-K材料とか、歪みシリコンを使うとか、今後課題があるようですが、IBMならプロセス技術は強そうですね。
なんにせよ、IntelとAMDが競争してくれるのはありがたいことだと、消費者としては思います(^^;
プログラマブルCPUって凄いですね? FPGAですよね。
これは、謎電の作者様もびっくりされるんではないですか?
転送に、PCI Expressを使うとか以前に、FPGAを、CPUソケットにはめられるなら、
速度的には最強ですもんね(^^;
詰め将棋もありますけど、静止探索をやっても面白いと思います。