トップページunix
1001コメント311KB

Sun Microsystems 最大のリストラ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/06/05(月) 14:32:59
11%-13%の人員削減だが、栗鼠似の会長は栗鼠トラ対象外。

【前スレ】
Sun Microsystems 最大の重複
http://pc8.2ch.net/test/read.cgi/unix/1141840635/
0360名無しさん@お腹いっぱい。2006/07/26(水) 17:21:02
Niagara2 でデスクトップ作って、やたらマルチスレッドなアプリばかりで構成した
DeskSet のせたの出してくんないかな。
0361名無しさん@お腹いっぱい。2006/07/27(木) 00:44:12
Woodcrest が出てきちゃったから、価格性能比で Niagara はウンコになっちゃったしなぁ。
0362名無しさん@お腹いっぱい。2006/07/27(木) 01:02:41
>>361
>>359
> そこんとこ意味わかんないやつ多すぎんだけどなんとかして。
0363名無しさん@お腹いっぱい。2006/07/27(木) 01:16:53
>>361
前スレだかに出てただろ? SPECjbb や SPECweb で Xeon の 2.1 倍とか 2.8 倍
速いんだから、Woodcrest になったって追いつけないだろ?
おしりぺんぺーん、だろ?ww
0364名無しさん@お腹いっぱい。2006/07/27(木) 01:26:53
とりあえずWoodcrestは64bitはウンコらしいから64bitではOpteronでしばらくは安泰なの?
0365名無しさん@お腹いっぱい。2006/07/27(木) 10:09:45
>>363
価格性能比の意味が分かっていないのか?
0366名無しさん@お腹いっぱい。2006/07/27(木) 10:17:59
Woodcrest x2(4core) で 1U, 2U のサーバー機がいくらなんだい?
0367名無しさん@お腹いっぱい。2006/07/27(木) 11:59:09
T1000/T2000 あたりはまさに価格性能比で売れてると思うけど。
Xeon? 性能悪いじゃんww
0368名無しさん@お腹いっぱい。2006/07/27(木) 12:16:00
>>366
HP のページで DL380 G4 Dual core X2.80GHz 2U モデルで見積もってみた。
ttp://jp.sun.com/products/dotcom-price/coolthreads/t2000-price.html
の 4core, 6core, 8core の一番安いのに近い構成取ると 150 万円越える。
全く同じ構成にはできないので、ちょっと低めの仕様構成だけど。
Woodcrest のはまだ同様に Web で見積もるのはできないみたい。 
Woodcrest が同じ価格帯だったとしても、ぜんぜん安くない。
ぜんぜん Niagara が勝ってる。
0369名無しさん@お腹いっぱい。2006/07/27(木) 13:02:10
>>368
SPECweb2005 Results

Sun Fire T2000 (1.2GHz 8 core) 14001
DELL PowerEdge 1950 (3GHz 4 core) 9808

上記のスコアを出したNiagaraは、400万円程度
Woodcrest搭載のDELL PE1950は保守をつけても
150万円程度。

確かに電気料金は安くつくだろうが、保守料金でそんなものは
軽く吹っ飛ぶ。価格性能比という点では、Niagaraの負け。
ただ、Woodcrest搭載機が出るまでの約半年間は、十分な競争力を
持っていたことは、素直に認めざるを得ない。
0370名無しさん@お腹いっぱい。2006/07/27(木) 13:59:53
>>369

Sun Fire T1000(1.0GHz 8core 16GB mem) 10466

というのは、どう見る? 価格表の近い仕様だと 200 万ちょいだが。
で、T2000 で 16GB mem にすると 280 万、これで 14001 がどれくらい
下がるんだろうな? 上記 10466 考慮して。

> 確かに電気料金は安くつくだろうが、保守料金でそんなものは
> 軽く吹っ飛ぶ。価格性能比という点では、Niagaraの負け。

をいをい、Sun の方が保守高いって前提か? ホントかそれw

> ただ、Woodcrest搭載機が出るまでの約半年間は、十分な競争力を
> 持っていたことは、素直に認めざるを得ない。

まだ当分大丈夫だと思うよw
0371名無しさん@お腹いっぱい。2006/07/27(木) 14:39:15
Intel ってやっとなんとかまともな 2core/1chip な CPU 出したけど、
次の 4core はまた 2core/1chip の 2コイチだろ? ほんと生産設備いっぱい
もってますから〜w、って感じ。
その頃には Niagara2 だかんね。2chip で計 16core 128threads。
ま、差ひらくだろうねw
0372名無しさん@お腹いっぱい。2006/07/27(木) 15:16:28
インテルがデスクトップ用とサーバ用で共通のコアを使う限り、追い付けないだろう。
0373名無しさん@お腹いっぱい。2006/07/27(木) 15:37:43
>>372
コストを無視してただ単に性能を追い求めるだけなら、
デスクトップ用とサーバ用とを別のコアにすることには
意味があるかもしれない。ただ、そうしたとしても、
Itaniumの例があるように上手くいくとは限らない。

価格性能比という点では、共通のコアを使うことにも
一定の意味がある。
0374名無しさん@お腹いっぱい。2006/07/27(木) 15:41:45
しかも、x86 でまともな 8core 以上のサーバー機って実績ないだろ?
とりあえずくっつけました、性能出ません、てのはいっぱいあったがww
Opteron はそれなりのもんが出てきてるようだけど。
プロセッサインターコネクトこれから作るんだろ?
で、そこがうまくいったとして、OS どうすんの? Solaris 載せるか?
いやいや、HP-UX ポーティングするか? PS/2 用の AIX もあったよな、あれ
使ったらどうだ?w
問題山積ww
0375名無しさん@お腹いっぱい。2006/07/27(木) 16:05:04
そうか、このテがあったぞ、SCO 買収して SVR6!!
いやいや、SGI 買収して IRIX ww
0376名無しさん@お腹いっぱい。2006/07/27(木) 16:20:14
>>373
それを言ったらNiagaraはどうなるのよ。

>>374
x86でNiagara相当のCPUを作ったらどうなるか? という話なら、1コアや2コアのCPUを8個以上繋げる話は関係ない。

OSはどうにでもなる。
各社のスケジューラに対する改良をインテルが予算だしてやればいい。
0377名無しさん@お腹いっぱい。2006/07/27(木) 16:32:24
>>376
> 各社のスケジューラに対する改良をインテルが予算だしてやればいい。
何言ってんだか... Solaris, AIX, IRIX がそれに何年費やしたと思ってるのよ?
HP-UX に至っては遥かに余計時間がかかってる。Linux は... もう堂々巡りに
入っちゃってて見通し立たん状態だし。
第一、SMP 性能上げるのにスケジューラーに手入れりゃ済むなんて甘過ぎ。
あらゆるカーネルリソースの占有期間を下げる工夫をしなけりゃならん。
UP 用と SMP 用はほとんど別物、という言葉が繰り返されたのには理由がありまっせ。
0378名無しさん@お腹いっぱい。2006/07/27(木) 17:12:27
ちなみに、Linux や MS-Windows は SPECrate_{int,fp} や HPC 方面の、
いわゆるカーネル内の並列性が必要のない場面にしか登場しないでしょ?
それ以外の、いわゆる SMP の必要な一般的用途では使いもんにならんのよ。
そういう方面では、影も形もないといっていい。
ところが世の中のソフトウェアの形態はそういう方面へ向かってるし、
Sun は少なくともそこを既にクリアした OS を持ってるし、Niagara は
Solaris の優位性を最大限に引き出すハードウェアなわけ。
そしてトドメに Rock。再来年。
0379名無しさん@お腹いっぱい。2006/07/27(木) 17:50:06
日本IBM、UNIXサーバーのラインアップを強化−64コア搭載のハイエンドモデルなどを発売
http://enterprise.watch.impress.co.jp/cda/hardware/2006/07/26/8328.html
0380名無しさん@お腹いっぱい。2006/07/27(木) 18:10:18
Niagaraみたいに4スレッドとか8スレッドのVMTなら、あまり問題にならないんじゃないか?

従来のCPUのSMPでは、
ロックを待っていたらCPUが無駄になってもったいないが、
かといって他のスレッドに切り替えるのにもコストかかる。
そういう具合で、CPUが増えても性能が上がらなくなっていた。

Niagaraなどでは、
愚直にロックを待っていてもCPUが無駄にはならない。
OSのスケジューラーのような重い処理をすることなく、
他のスレッドを実行することができるからね。
0381名無しさん@お腹いっぱい。2006/07/27(木) 18:15:26
休み休みでね。
0382名無しさん@お腹いっぱい。2006/07/27(木) 18:23:04
なんかFの関係者が潜ってるのか?w
0383名無しさん@お腹いっぱい。2006/07/27(木) 18:26:06
どのへんに?
0384名無しさん@お腹いっぱい。2006/07/27(木) 18:40:20
Niagara2の2CPU構成だと、128スレッドもあるんだよな。
全部のアクティブなスレッドを固定的に割り当てても、
そこそこに回ってしまうんじゃないか?
0385名無しさん@お腹いっぱい。2006/07/27(木) 18:49:59
あのね、カーネル内のリソース空き待ちで、ブロックしちゃうの。
スケジュールされないの。おわかり?
カーネル内のスレッドと、CPU のスレッドはレイヤ違いまっせ? だいじょぶ?
0386名無しさん@お腹いっぱい。2006/07/27(木) 19:48:27
>>378
Windowsはデスクトップ用途や、ローエンドサーバがメインだからな。
ただ、Windowsの進化はかなり早いから、HPやSunがMicrosoftの後塵を
拝することになる日も近いだろうな。
0387名無しさん@お腹いっぱい。2006/07/27(木) 20:02:33
>>385
ロック待ちには2種類あるんだよ。

ちょっと待てばすぐに通れるようになるので、その場で待ち続けるのと、
通れるようになるのかいつになるかわからないから、他のスレッドに切り替えるのと。

従来のCPUでは、SMP性能を上げるために、
その場で待ち続けるのを極力、短く少なくする必要があった。

Niagaraは、その場で待ち続けた時の性能低下が、従来のCPUよりもずっと少ない。
だから、OSの改良ポイントはロックではなく、どのコアにスレッドをスケジュールするかの点がメインになる。
0388名無しさん@お腹いっぱい。2006/07/27(木) 21:03:01
>OSの改良ポイントはロックではなく、どのコアにスレッドをスケジュールするかの点がメインになる。

これさ、全然別の話じゃないの?
CPU増えたら増えた分のCPUを活かしきるのがより大事になってくるんじゃないの?
0389名無しさん@お腹いっぱい。2006/07/27(木) 21:26:50
IBM System X 3650
SPECjbb2005 bops = 114941, SPECjbb2005 bops/JVM = 114941
ttp://www.spec.org/jbb2005/results/res2006q3/jbb2005-20060623-00145.html

DELL PowerEdge 2950
SPECjbb2005 bops = 102099, SPECjbb2005 bops/JVM = 102099
ttp://www.spec.org/jbb2005/results/res2006q3/jbb2005-20060630-00146.html

Sun Fire T2000
SPECjbb2005 bops = 74365, SPECjbb2005 bops/JVM = 18591
ttp://www.spec.org/jbb2005/results/res2006q2/jbb2005-20060512-00116.html
0390名無しさん@お腹いっぱい。2006/07/27(木) 21:41:33
>>387
> Niagaraは、その場で待ち続けた時の性能低下が、従来のCPUよりもずっと少ない。
それはメモリ待ちの話でしょ。OS の話じゃないがな。
> だから、OSの改良ポイントはロックではなく、どのコアにスレッドをスケジュールするかの点がメインになる。
却下。OS の講義落第。
0391名無しさん@お腹いっぱい。2006/07/27(木) 22:08:43
>>390
> それはメモリ待ちの話でしょ。OS の話じゃないがな。

だからロックには二種類あるって言ってるでしょうが。

> 却下。OS の講義落第。

これは大学の先生が試験に出すような、教科書通りの話ではないからな。
4スレッドや8スレッドものVMTの話なんですよ、これは。
0392名無しさん@お腹いっぱい。2006/07/27(木) 22:12:33
カーネル内資源の競合を避けるためのロックと、CMT で隠蔽される
メモリアクセス待ちとは、話の次元も待ち時間の単位も死ぬほどかけはなれた
違う事柄です。この話はここでおしまい。まだ続ける(執拗にくい下がる)場合は
XXX と認識して放置します。
0393名無しさん@お腹いっぱい。2006/07/27(木) 22:14:02
XXX と認識しました。放置モードに入りました。合掌。
0394名無しさん@お腹いっぱい。2006/07/27(木) 22:16:36
ロックがメモリアクセスそのものだってことが、わかってないアホ発見。
0395名無しさん@お腹いっぱい。2006/07/27(木) 23:09:38
まぁまぁ。どっちにしろSunの負けは確定的だし、MicrosoftやIntelに
土下座する日が近いのも確かでしょw
0396名無しさん@お腹いっぱい。2006/07/27(木) 23:22:59
>>395

どうせならAMDに買い取ってほしい。
0397名無しさん@お腹いっぱい。2006/07/28(金) 00:57:35
>> Niagaraは、その場で待ち続けた時の性能低下が、従来のCPUよりもずっと少ない。

spinlock したら二重に性能低下するだろ。根本的に CMT (or VMT) を分かってないな
0398名無しさん@お腹いっぱい。2006/07/28(金) 07:15:39
おまえら空気読むことをわかってない。
0399名無しさん@お腹いっぱい。2006/07/28(金) 10:28:50
まっとうな SMP システムをそれなりのいじり方した経験のない人の
SMP や CMT に対する理解というのはこの程度だってことだろうね。
まあ、ここまでひどい妄想にしがみついて悔しまぎれなデタラメを
いつまでも引っ張る人物も初めて見たけど。幼稚過ぎ。恥ずかしくないのかね?
日頃からウソにウソを重ねてでも自分の主張通すようなことやってるんだろうな。
0400名無しさん@お腹いっぱい。2006/07/28(金) 12:20:26
>>397
あー、NiagaraというかSPARCは、キャッシュのコヒーレンシプロトコルと連携したロックのための機構を備えてないのな。
スピンロックするには、ビジーウェイトするっきゃないのか。それじゃぁダメだ。論外だ。
0401名無しさん@お腹いっぱい。2006/07/28(金) 14:06:14
そんな訳ないだろ。どんどん幼稚な内容になっていくな。ほんと恥ずかしくないの?
0402名無しさん@お腹いっぱい。2006/07/28(金) 14:45:40
とうとう人格攻撃ですか。
最終手段ですな。
0403名無しさん@お腹いっぱい。2006/07/28(金) 14:57:17
門外漢だけれど
ソラリスってスピンロックじゃなくてアダプティブロックなんじゃなかったっけ
>spinlock したら二重に性能低下するだろ。根本的に CMT (or VMT) を分かってないな
これはIntelからハイパースレッディングが出たとき、Linuxを動かすとパイプラインが
埋まって性能が低下してしまうバグと同じ事を言っていると理解して良いんだよね?
0404名無しさん@お腹いっぱい。2006/07/28(金) 15:01:22
よくわからんのだけど、>>387って、ソフトウェア側のスレッドコンテキストの
切り換えをするようなロックも、Niagaraならspin lockに書き換えることができる
って言ってるの?
0405名無しさん@お腹いっぱい。2006/07/28(金) 15:48:24
>>403
門外漢が気にする問題じゃないよ
0406名無しさん@お腹いっぱい。2006/07/28(金) 16:26:34
>>402
メタばなしはできりゃ避けたいけどさ、メタ方向へ持って行かざるを得ない場合が
まれにある。2ch は多いかも..
なんせここまで内容がおバカだと。
0407名無しさん@お腹いっぱい。2006/07/28(金) 16:27:29
Intel 信者はここまでアタマ悪いんですっていう Sun 広報部の偽装工作かもしれんなw
0408名無しさん@お腹いっぱい。2006/07/28(金) 17:13:17
宣伝にはなったみたいでw
ttp://tbk.fameflame.dk/videos/2006_Formel_BMW_Deutchland_Race2_MPEG1.mpg
0409名無しさん@お腹いっぱい。2006/07/29(土) 00:37:22
>>389 を見ると少しでも複雑な処理が入るとたいしたことはないのな。
所詮、単純な Edge Server 専用機だな。
0410名無しさん@お腹いっぱい。2006/07/29(土) 04:48:08
>>409

Niagara向き、不向きの処理があるので、スループット向きじゃないものは、
(一般)SPARCか、Opteronにするんじゃないの? 現実は、用途にあわせて、
これらのハードを組み合わせるのかな?

そうなると、コンピュータ=汎用機という発想ではないね。
時代の移り変わりなのか、サンが変わっているのか。。。
0411名無しさん@お腹いっぱい。2006/07/29(土) 13:10:05
いいえ、全部Opteronになります
0412名無しさん@お腹いっぱい。2006/07/29(土) 13:20:37
NiagaraにHyperTransportつけて、Opteronと繋ぐ。
0413名無しさん@お腹いっぱい。2006/07/29(土) 14:13:43
AMDがNiagaraっぽい石を作るんじゃないか
Itaniumの人とか雇ったのは、そのためじゃないかと
0414名無しさん@お腹いっぱい。2006/07/29(土) 15:55:59
INQに将来OpteronとSPARCはソケット共用するって書いてあったよね
OBPやらドライバ等整備しなくちゃならないから単にSPARC刺しただけでは動かないだろうけど
0415名無しさん@お腹いっぱい。2006/07/29(土) 18:11:19
とりあえず OBP は早く実現してほしいな。EFI がコケた今がチャンス。
0416名無しさん@お腹いっぱい。2006/07/29(土) 19:02:25
>>414
SMPにしなければいいのですよ。

OpteronとSPARCの混成にして、
ブートや入出力はOpteronに任せればいい。
0417名無しさん@お腹いっぱい。2006/07/29(土) 20:41:32
ぢゃ>>339でいいか
0418名無しさん@お腹いっぱい。2006/07/31(月) 23:05:19
もはや書き込むことがない。
もはや書き込むものすらいない。
それがSunMicrosystems。
0419名無しさん@お腹いっぱい。2006/08/01(火) 07:17:19
他のスレにはあるぞ。乱立しすぎだ。
0420名無しさん@お腹いっぱい。2006/08/01(火) 22:41:23
マルチスレッドと言ってください
0421名無しさん@お腹いっぱい。2006/08/01(火) 22:58:01
デッドロックしまくりだけどね。
0422名無しさん@お腹いっぱい。2006/08/02(水) 12:04:15
単に閑古鳥鳴いてるだけなのをデッドロックとは普通言わないw
共倒れ、無計画な拡張、などが適当かと。
0423名無しさん@お腹いっぱい。2006/08/02(水) 15:48:58
400の言う、

> あー、NiagaraというかSPARCは、キャッシュのコヒーレンシプロトコルと
> 連携したロックのための機構を備えてないのな。
> スピンロックするには、ビジーウェイトするっきゃないのか。
> それじゃぁダメだ。論外だ。

って何を言っているの?

IntelのペンCPUのような(コアはシラン)SMP用の同期ロックを言っているのだと
したら、むしろIntelのペンの方ができそこないと思うのだが。

大体、「キャッシュのコヒーレンシプロトコルと連携したロックのための機構」なんて
持っていたら、性能が劣化してしまって大規模構成には使えないと思うが。。
0424名無しさん@お腹いっぱい。2006/08/02(水) 17:30:16
AMDはIBMが真のパートナーだって。
0425名無しさん@お腹いっぱい。2006/08/02(水) 19:36:11
>>424
自社製品を多く買ってくれるところが、そりゃ真のパートナーだわさ
0426名無しさん@お腹いっぱい。2006/08/02(水) 22:26:17
>>423
同一コアで実行しているスレッドがロックを握っている場合と、
他のコアで実行しているスレッドがロックを握っている場合があるが、
コア数の増加とともに、後者の確率が高くなる。

ビジーウェイトでポーリングしているメモリの内容が変わるときには、
キャッシュコヒーレンシのためのメカニズムによって内容の変更が通知されてくるので、
馬鹿正直にポーリングせずに、メモリの内容が変更されたらロードするという命令があればいい。
0427名無しさん@お腹いっぱい。2006/08/03(木) 06:58:28
Socket FなOpteronを搭載したマシンは当分でないのかな?
X4600とかもこれから売り出すんだし。
0428名無しさん@お腹いっぱい。2006/08/03(木) 08:54:53
>>426

400の言うことと関連しているのかは分からないけれど、

> ビジーウェイトでポーリングしているメモリの内容が変わるときには、
> キャッシュコヒーレンシのためのメカニズムによって内容の変更が通知されてくるので、
> 馬鹿正直にポーリングせずに、メモリの内容が変更されたらロードするという命令があればいい。

「メモリの内容が変更されたらロードするという命令があればいい」というところが
よく分からないのだけれど。


0429名無しさん@お腹いっぱい。2006/08/03(木) 12:04:36
データフロー計算機に設計し直すのではないか?
0430名無しさん@お腹いっぱい。2006/08/03(木) 16:37:14
403ではないプログラマでもない門外漢だけれども,
純粋に好奇心から質問

cas命令みたいなのを使ってOSのロックを実装すれば
いいという理解でいいの?
OSのロックを実装するのにメモリのロックは必要ないと.
だからOSのロックの話と混ぜるのは無意味なので,
ロックの最適化よりも沢山のCPUを効率的に使う最適化の方が重要と.
0431名無しさん@お腹いっぱい。2006/08/03(木) 17:45:31
>>428
メモリの内容が変更されるまで待って変更後の値をロードする命令ってことだろ。

メモリからのロードが、キャッシュにヒットしていない場合に、
メモリからキャッシュへのフィルが終わるまで他のスレッドに実行を譲り、
フィルが終わったらロードして実行を再開するNiagaraとの親和性は高いと思う。
0432名無しさん@お腹いっぱい。2006/08/03(木) 17:53:06
>>430
CASよりLL/SC的なことを言っているんじゃないの?
ただthread IDとbindするわけにいかないから、結局pollingだけどね。
少なくともcoreの外では。
0433名無しさん@お腹いっぱい。2006/08/03(木) 17:57:53
ちなみに最近はアルゴリズムの方で、
fetchを減らす努力をする方向だよ。

http://lse.sourceforge.net/locking/rcupdate.html
http://www-06.ibm.com/jp/developerworks/java/041203/j_j-jtp11234.html
0434名無しさん@お腹いっぱい。2006/08/03(木) 18:00:21
なんか、1980 年代後半くらいにいろいろ出てた書籍とか読んだ方がいいと思うけど。
SPARCv8 や MBus、それかもういっこ前の XDBus, XBus の設計解説した記事とか
参考になると思うよ。
おそらく Niagara とはなんの関わりもないと思うw
0435名無しさん@お腹いっぱい。2006/08/03(木) 18:34:53
その辺の資料は↓ここに転がってる。
http://www.sparc.org/japanese/resource.htm
0436名無しさん@お腹いっぱい。2006/08/03(木) 23:43:35
>>431

これと、次とに、何となくギャップを感じる。なぜ「命令」じゃないと
いけないのだろう? というか、「命令」ではまずいのじゃないの?

> メモリの内容が変更されるまで待って変更後の値をロードする命令ってことだろ。




> メモリからのロードが、キャッシュにヒットしていない場合に、
> メモリからキャッシュへのフィルが終わるまで他のスレッドに実行を譲り、
> フィルが終わったらロードして実行を再開するNiagaraとの親和性は高いと思う。

0437名無しさん@お腹いっぱい。2006/08/04(金) 01:55:06
>>436に限らず、1コア1スレッドの旧時代の人が多いのかな。

4スレッドとか8スレッドもあるんだから、
そのスレッドのコンテキストを他のスレッドに譲る必要性は、
1コア1スレッドに比べると低いのです。
0438名無しさん@お腹いっぱい。2006/08/04(金) 02:30:51
>>430
casだって、test and setと同じくバスをアトミックに使わな
ければ実現できない。だから性能面でのペナルティは同じ。
casの利点は、sparcのようなload store型アーキテクチャでも
いろいろな演算命令のアトミック版がcas命令を使って実現で
きるところ。効用は80系のlockプレフィックスに近い。
昔ながらのsparcでldstub命令やswap命令だけでアトミックな
メモリ演算を実現しようとしたら、値を保持するメモリのほか
にロック変数が必要になるが、cas命令を使うとロック変数が
いらなくなる。

0439名無しさん@お腹いっぱい。2006/08/04(金) 09:40:52
なんかねー。
実際には存在しない命令を前提にSMTの利点を強調されても説得力ないというか……
0440名無しさん@お腹いっぱい。2006/08/04(金) 12:14:46
>>437

っていうか、そういう命令=ISAがあってはいけないだろうっていう意味なんだけど。
memory latencyを隠蔽するのは、CPUであってかまわないのだが、
「メモリの内容が変更されるまで待って変更後の値をロードする命令」って?

という疑問。
0441名無しさん@お腹いっぱい。2006/08/04(金) 12:17:41
>>438

でもアトミック命令とキャッシュ・コヒーランスとは厳密には違うよね。
それにcas命令だったら、SPARCv9にあるし。

0442名無しさん@お腹いっぱい。2006/08/04(金) 17:06:46
>>440
VMTには必要な命令でしょう。
0443名無しさん@お腹いっぱい。2006/08/04(金) 20:15:36
>>442

当の富士通も、「SPARC64 VIは、アウトオブオーダー命令実行機能とVMTにより、
それぞれL1キャッシュミスとL2キャッシュミスによるレイテンシを隠蔽すること
ができる」といっているように、命令など使わず、VMTの利点を使ってレイテンシを
隠蔽している。(アウトオブオーダー命令実行機能は、命令じゃないよ、当然)

なんで、そんな命令が必要なのか、説明を求む。

0444名無しさん@お腹いっぱい。2006/08/04(金) 21:43:48
VMTでメモリのポーリングをされると台なしになるから。
ビジーウェイトはキャッシュにヒットするので、ほかのスレッドに切り替わらない。
0445名無しさん@お腹いっぱい。2006/08/05(土) 14:55:28
>>444

> VMTでメモリのポーリングをされると台なしになるから。
> ビジーウェイトはキャッシュにヒットするので、ほかのスレッドに切り替わらない。

スピンロックで待つということは、直ちにメモリが更新されることを期待して、
他スレッドに切り替えず待つということなので、キャッシュにヒットしても、
それが直ちに更新されるのであれば、逆にスレッドに切り替えない方がいいかも
しれん。

でも、同一ロック待ちのスレッドが増加すれば、あきらかにスレッドに切り替えた方が
逆に効率がよくなるので、スピンロックの実装で、

   1 メモリ値の確認
   2 未更新であれば、スレッドを放棄 (スレッドコントロール命令?)
   3 イベント発生時のスレッド切り替えで起きる → 1

というのもあるのかも。いずれにせよ、要件はソフト側によるもので、そうなると
「メモリの内容が変更されるまで待って変更後の値をロードする命令」というのが、
ハードにとってどれだけ効率良く実装できるかにもよるのじゃないか?

どっちにせよ、SPARC CPUの実装依存の命令になるので、SPARCのISAではなくて、
独自拡張命令にいれる類(SPARCの規約上、許される独自命令の範囲)で、一般の
SPARC ISAに命令がない、というのは、むしろ当たり前ではないのだろうか?

0446名無しさん@お腹いっぱい。2006/08/05(土) 16:03:23
>>445 は前の方に出てたよくわかってない人?

>>444が言ってるのはたとえば
cpu#0が取ったロックを、cpu#1がspinlockで開放待ちしている場合を考えると、
SMPなら普通の状況だけど、VMTで cpu#0とcpu#1が同一コアだと
spinlockが開放処理が遅れる原因になってしまう、ってことだと思うんだが
0447名無しさん@お腹いっぱい。2006/08/05(土) 16:22:16
VMT なら、ってことでしょ? SPARC は VMT 採用してないのに、なんでそんな話を
ここで延々やってるわけ? Niagara は VMT じゃないから、スレッドは強制的に
切り替わるでしょ?
0448名無しさん@お腹いっぱい。2006/08/05(土) 17:28:44
>>446

っていうか、それは分かって書いているのだが。(読んでないでしょ?)

>>447

そうそう、あっても、独自命令の範疇だよね。(やりたいかどうか、ハードの
実装部隊次第っぽいけど)

0449名無しさん@お腹いっぱい。2006/08/05(土) 20:15:11
>>446
それは当時のlinuxのスケジューラがintel のhyper threading
に対応していないくて無限ループを引き起こすというので調べた
ことがある。インテルのサイトでドキュメントを調べたた、HTの
切り替えについてきちんとした記述はなかったので、cache hit
が続いたときに永遠にthread切り替えが起こらないのか、それと
もある程度で強制的に切り替わるのか判断がつかなかった。
HTのthread切り替えの条件を正確に知っていたら教えて!
0450名無しさん@お腹いっぱい。2006/08/05(土) 20:47:49
>>449

それって、Intelの次の↓ペーパに書いてる問題と違う?

http://www.intel.com/cd/ids/developer/asmo-na/eng/20464.htm

結論としては、マルチスレッドアプリ(カーネルの実装はいっていないが似たような
問題はあるでしょうね)では、spin lockを使わず、adaptive lock (solarisで言う)を
使えとなっているけど、最初の数ページでは、spin lock中にpauseなりで強制的に
スレッドを放棄すれば性能があがるといった、445と似たようなアドバイスがされて
いる。
0451名無しさん@お腹いっぱい。2006/08/05(土) 20:56:08
Linuxにはもう1つ似たような問題があったらしい。(Windowsもあったらしい)

Linuxは当時スケジューラがスレッドをCPUに割り当てる時に、
物理CPUとHyperthreadの論理CPUの区別をつけず割り当てていたので、
たとえば、2物理CPU(4論理CPU -- 2 Hyperthread/CPU)の時に、
2スレッドが1物理CPU = 2論理CPUに割り当てられ、性能が劣化したらしい。

今は、こういう場合はちゃんと2物理CPUに割り当てられるように修正されている
とのこと。



0452名無しさん@お腹いっぱい。2006/08/05(土) 21:57:53
だから、そのウンコのような Intel 上での実装と Sun となんの関わりがあるの?
Intel や Linux や Windows がウンコだ、ということを証明して相対的に
Sun の評価を上げようとか、そういうこと?
04534492006/08/05(土) 22:36:11
>>450
情報サンクスコ
そのpaperは読んでいた。お客さんのlinuxがハングするのでHTが
原因かどうか調べていたんだ。そのときlinuxカーネルのspin lock
のループに明示的にHTを離す命令(pause)の挿入位置が間違って
いたんだ。知りたかったのは、HTて明示的にpauseしなければ永久
にHTの切り替えが起こらないケースがあるかどうかってこと
04544492006/08/05(土) 22:38:58
>>452
linuxはトラブルたびに調査の依頼がきて儲けさせてくれるので有難いです。
もっとlinuxが広まるといいのにね。
0455名無しさん@お腹いっぱい。2006/08/06(日) 09:03:55
>>453
HTの切り替えについて気になったので、ちょこっと調べてみた。
以下の記事によると、ストールしてない限り両方交互に実行するみたい。
片方の論理CPUがbusy waitすると、CPUの性能が半分になってしまう。
が、デッドロックにはならないように思えるんだけど・・・

http://www.intel.co.jp/jp/developer/technology/itj/2002/volume06issue01/art01_hyper/p02_intro.htm
 HTはSMTを採用した
http://www.intel.co.jp/jp/developer/technology/itj/2002/volume06issue01/art01_hyper/p05_front_end.htm
 1クロックごとに切り替える
04564492006/08/06(日) 13:34:15
>>455
大変サンクスコ
ちゃんと切り替わるんですね。HTが原因でlinuxがハングするというどっかの
ニュースサイトの記事が発端で、linux界ではHT性悪説が信じられているので
すが、Linuxにはガセネタがおおいなあ。
0457名無しさん@お腹いっぱい。2006/08/06(日) 13:43:05
>>456
性能が悪いとは聞いたことがあるけど、
ハングするって聞いたこと無かった。
0458名無しさん@お腹いっぱい。2006/08/06(日) 14:16:36
何でスレタイがリストラなのに、技術の話してるの?
0459名無しさん@お腹いっぱい。2006/08/06(日) 14:29:37
>>458

リストラが8/3で終わっちゃったから。
■ このスレッドは過去ログ倉庫に格納されています