1read 100read
2012年1月2期Linux63: これからはマルチプロセッサでLinux! (285) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
64: 【マジレス】超初心者の質問に答えるスレ1【エスパー】 (103)
65: Xwindows をインストールしてない人が集うスレッド (531)
67: 日本語入力総合スレッド 5 (297)
71: mozc / Google 日本語入力 #3 (291)

これからはマルチプロセッサでLinux!


1 :02/01/13 〜 最終レス :12/01/26

次世代はマルチプロセッサが当たり前!
Linuxはどうなってゆく?

2 :
2get

3 :
*BSDにしても、Linuxにしてもかなりkernel書き直さないとね。

4 :
2.4系はまぁまぁじゃなかったの?

5 :
リナックスはモノリシックカーネル
マルチプロセッサには対応していないのでは

6 :
既に対応していたと思う。
どれくらいのものかしらんが。

7 :
っていうか、既にあちこちで
Linux使って超並列型スーパーコンピューター"もどき"
やってますなぁ。

8 :
googleもそうだったよね。たしか

9 :
2.4カーネルでPen4のはいぱースレッド対応されるかな

10 :
>>1
Webで調べれば膨大な情報が手に入るだろ。君はどーしたいんだ?
>>5
調べてから書き込みしろよ。既に対応済みだし、モノリシックとは関係ないだろ。
MicroKernelじゃないとMP使えないとでも思ってる?
>>7
どーゆー意味?クラスタとMPを混同してない?

11 :
>10
だが、効率よくMPを使うにはマイクロカーネル的なものがいいのでは?

12 :
>>11
同意

13 :
モノリシックとかマイクロカーネルとか意味はサパーリだけど、
とりあえずマルチ萌え。

14 :
物知りっくカーネル(違)

15 :
誰かSMPでシャットダウン時自動的に電源切る方法教えてくれ。
これができないのでCPU1個しか使っていない。

16 :
>>15
'SMP'と'自動的に電源切る'を比べて'自動的に電源切る'を選ぶあなたに興味があります。

17 :
>>15
apm=power-off
でも私が使ってたマザーのBIOSがくそだったせいか、
configでAPM関連をどう設定してもSMPで電源は切れなかった。

18 :
Vine2.15をSMP(P!!!450*2on Tiger100)で使ってるんだけど,
電源切れない理由が初めてわかりました。
ありがとう,15さん

19 :
マイクロカーネルじゃなくていいよ。典型がSunOS。
マイクロにしてもサービスサーバがマルチプロセッサでスケールしない構造なら意味半減以下。
LinuxがCPU64個とかでスケールしないのは、モノだからじゃなくて内部構造の問題。
データ構造なんかを変えないと何ともならないところが多いから、
最初からマルチプロセッサが考えられていることが重要。(4個くらいならなんとかなるだろうけど)
分からない人はOS、排他制御、並列プログラミングの勉強してね。

20 :
4CPU以上のスケールアップは、メイン tree にはしばらくは
入らないだろう。一体どれくらいのユーザが4CPU以上のマシンを
使ってるんだ、って言ってたし。
で、>>19は64CPUのマシンを持っているのかね?

21 :
>>20
本田宗一郎が"どこのヴァカが750ccもあるバイクに乗るんだ"って言い放って、
ゲイツが"どこのヴァカが1GbyteもあるHDD使うんだ"って言い放ったらしいけど、
どぅなるかな?
ま、cpuは単体の性能上げて来るからこれは当てはまんないだれけど。

22 :
とりあえず、明日論MPで人柱情報キボーン

23 :

マルチCPU当たり前の世の中になれば,
Linux はあっという間に対応するよ.
64CPUがニッチな時代に,64CPUなマシンを使いたけりゃ,
Linux じゃなくて,他のOS使えよ.
ユーザの需要が革新をもたらすのが Linux ってもんだ.
特殊なJOBに使いたかったら,ニッチ用OS使え.

24 :
>>21
CPUも速すぎてもバランス崩すだけだと思う。
特に記憶装置系(Disk,RAM)の遅さはやばいでしょ。その次はBus。
64CPUのマルチプロセッサと1CPUx64クラスタだったらどちらが速いのかねぇ〜?(OSはNTやSolarisでも可)
PCアーキを捨てるならマルチプロセッサでもまだ余地はありそうだけど。(IBMのPOWER4とか)

25 :
>>24
どっちが速いかって?
アプリケーションの設計次第でしょう.

26 :
基本的なことだがマルチCPUのマシンが出たとして
買う金があるかどうかを問いたい問い詰めたい小一時間問いつめたい

27 :
>>1
2.4系列のLinuxは32CPUまで対応しているよ。
(定数だけの制限だけど)
良いニュースとしては、Ingo Molnarが強烈なSchedulerを
書いて、これがいきなり2.5系列のkernelに入った。
ブロックIOも書き直されているので、2.6系列のkernelは、
相当なスケーラビリティを持つと思われ。

28 :
>>27
それは期待していいことなのか?
2.4kernelのマルチプロセッサってかなりショボイと聞いているんだが。

29 :
>>28
2.4でも普通のWebサーバとかだったら8プロセッサまで順調に
性能向上したという報告(linux conferenceの資料でもさがしてくれ)
があるんで問題なかろう。
各プロセスで別のディスクに同時にI/Oしたり、同時にスケジューラ
呼びまくったりしたら2.4はへぼいので27の改良をしようとしたと
いうのが定説。

30 :
>2.4系列のLinuxは32CPUまで対応しているよ
動くかも?ってだけじゃないのこれ。
IBMとかは独自に設計し直してるだろうし。
つーか、32CPUなんて試すこと不可能だろー。
いくらくらいするんだろう?

31 :
少なくともお前が書き直すよりは期待できる >>28

32 :
ところで新しい P4 のコアで hyper threading が
あるけど、あれ、BIOS からは2つに見えても
OS からは1つにしか見えないんだね。
/proc/cpuinfo なスレでみたけど。
4CPUが主流になるかと思ったのに、ち。

33 :
マルチCPUはアプリケーションによって、その効果が
まるで違う。各CPUがキャッシュの中に閉じこもって
計算をしているだけなら、2.2系列のkernelでも、問
題無いんじゃないかと思う。
問題はIOを伴う場合だけど、2.4系列のkernelでは、
ネットワーク関連のコードがマルチCPU対応のために
ごっそり書き直されているから、29さんの言うとおり、
十分に速い。(めちゃくちゃに割込がかかるような状
態でなければ....これも2.5のうちに直すと思うが)
で、2.5系列は、さらに手を広げて、ディスクIOやスケ
ジューラも見直してるというわけ。

34 :
2ちゃんねるのサーバーって、Dual CPUじゃなかったっけ?
記憶違いかな?

35 :
ちょっと質問だけど、
1CPU→シングル
2CPU→デュアル
3以上→マルチ
ってことでいいの?バイクのエンジンみたいだな(w
2CPUなら2.0のころから対応してたよね

36 :
 
>>35
2以上でマルチだろう

37 :
参考に
http://www.orange.co.jp/~masaki/rc5/fratej.html
現在組むには2個でAthlon MPが実用的かな。

38 :
プレストニアLPだろう
Socket604 マンセーだぜ
だいたい三十から四十万ありゃ組めるだろう
速いぜ。
それかよ、IA32にステテIA64にいく。
やっぱ漢はIA64よ。
三菱ならアイテーニウム 800MHz dualで百八十万で
買えるでよ。
これと比べるとP42GHzなんか屁だね

39 :
>>37
AthlonXPじゃないの?
保証は無いけど、dualに失敗した人の話も聞かないし。
ところで、このスレでちょっとだけ出てきた
Hyper Threadingってどんな機構なの?

40 :
>>37
自分でしらべろ

41 :
>>40
まちがえだ
>>39
自分で調べろ

42 :
>>39
最近のXPはできなくなったと思われ。
人柱でやってくれ。

43 :
>>42 それは、Home edition でしょ。

44 :
>>43 ごめん、、Windows XP と誤解した。

45 :
>>43-44
おまえ、馬鹿か。
ウィンドウズXP Home editionはだな
もともとマルチプロセサ非対応なんだよ
最近できなくなったんじゃない。
すまん、板違いスレ違いはこれでおしまいだ

46 :
>>45 おまえこそ、馬鹿か?
おまえのIDを検索すると笑いがとまらんぞ。

47 :
>>lg+QESsz まぁ落ち着け!

48 :
lg+QESsz っておめでてーな。典型的な厨だ。

49 :
最近、「SOLARISインターナル」
http://www.pearsoned.co.jp/washo/unix/wa_uni19-j.html
を読み始めたんだが、参考になる点が多いね。
スレッドまわりなんか凄く洗練されてて、やっぱ
何十個ものプロセッサをぶん回せるOSは違うなって感じる。
Linuxもマルチプロセッサでの性能を上げようと思うんなら、
とりあえず、cloneなんて筋の悪いもんは捨てて、
本格的な2レベルスレッドを導入すべきだと思うが、どうよ。

50 :
>>43-45
そこに座れ。叩き切ってくれるわ。
42 はだな、
最近の AthlonXP では、SMP ができなくなっている、と言っている。
やるんやら AthlonMP を使えという事。
WindowsXP Home edition がどーとか、professional がどーとか、
つー話ではない。
小一時間説教してやろうか?

51 :
>>50 自分で、気づいているんだから、かまわんだろ。
えらそーなこと言うよ。

52 :
>>49
http://oss.software.ibm.com/pthreads/
さすがだね。IBM。
よく分かってるよ。

53 :
>>46>>48
ばかだな

54 :
>>50
馬鹿だな
漏れは43-44につっこんだまでだ
あすろんXP,MPにつっこんだんじゃない

55 :
>>52
それ使ってみたことある?

56 :
>>52
おお、ちゃんとそういうプロジェクトが動いているのね。
よく見たらJavaチューニングスレでも既に話題になってるな。
今度俺も試してみるかな。<NGPT

57 :
>>49
clone残しとかんと2レベルにならんではないか

58 :
>>55
使ったことはないですね。
よほど、ばかでかいサーバを運用しているのでもなければ
必要性は薄いですし。
個人のレベルでは、pthreadのスレッドが直接kernelスレッ
ドにマッピングされないかな、とは思いますが。
(されてないですよね?)
>>56
ホントだ。気づかなかった。

59 :
>>57
いや、もちろんカーネルレベルでのスレッドのサポートは必須だけど、
cloneをそのまま使うのは気分的にかなりイヤ。
Linuxのcloneを使ったスレッド実装って、結局のところ
旧来のプロセス管理の枠組に無理矢理スレッド管理もやらせているわけで、
シグナルの扱いとかかなり無理してるよね。
SolarisみたいにCPU時間の割り当て管理を完全にプロセスとは別のものとして
設計しなおすほうがいいような気がする。

60 :
59=49です。わかるとおもうけど。

61 :
http://www.idg.co.jp/lw/back/200108/20010824_01_solaris.html

62 :
>>61
良い記事をありがとう

63 :
>>59
あんたがイヤでもカーネル側がcloneベースというのに変更はありえん
でしょう。
シグナルもスケジューリングも直せない問題ではないと思う。

64 :
http://www.idg.co.jp/lw/back/200109/20010924_01_solaris.html

65 :
>>64
CLONE_PIDに関する記述が事実と異なる

66 :
>> 64
>> 数々の実験を経て、よりよいモデルへと昇華するものもあれば、
>> 実験のための改悪に終わってしまうものもある。
>> こうした実験が何の足枷もなくできることがオープン・ソースの
>> 強みでもあり、問題点でもあると言える。
IIIMF作ったやつが何言うねん、
ギャグはSolarisだけにしといて欲しいワ

67 :
>>63
かなり外してる。勉強しろ。

68 :
あげ。

69 :
カーネルver2.5.2期待あげ

70 :
>>35
1 シングル
2 デュアル
4 クアッド
8・・あとは知らん

71 :
CPUレベルでのマルチスレッド(ハイパースレッド?)に
Linuxは対応してるの?XeonとかPentium4とかには
既に機能が入っているらしいけども。

72 :
>>71
2.4.17-pre5から。
http://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.17
"- Pentium IV Hyperthreading support (Alan Cox)"


73 :
>>72
smpを有効にするとHyperthreadingをチェックしてくれるみたい。
Northwoodで試したけど、disabledっていわれちゃうね。
データシート上はReserveでも、仮想CPUの数をこっそり2にしてくれる
bitはないのかゴルァ!
ないだろうな。

74 :
なんでもかんでも spinlock で済ますダサさを何とかしないとねぇ。
まあ、ちゃんとした SMP 実装入れようとしても
Linus が「そんな複雑なもんダメだ」とか言いだしそうだし、
2CPU くらいなら spinlock くらいにしとくのがバランス良いって噂もあるけどな。
PC アーキテクチャだったらハード的にもせいぜい 4CPU くらいにしとくのが無難だから、
そういう意味では Linux には spinlock で十分ともいえる訳だが、でもダサいよな。

つーわけで、2CPU くらいまでなら Linux でもいいが、
それ以上の CPU 数が欲しければ素直に Solaris 使っとけ。


75 :
シャットダウン時に電源が自動的に切れないSMPなんかいらないよ。
電源切れないと総合的に低速マシンになってしまうだろうが。
毎日一回電源切っていたとして、お出かけ前やお休み前にシャットダウンした後
いちいちシャットダウン終了するまで待って電源切る作業を強いられるのなら、
毎日、数分も余計な時間と労力を使ってしまうということだ。
つまり、SMPは電源一回切ることに数分遅くなるわけだ。
だったらシングルCPUのほうがどう考えたっていいだろう。
自分で電源切ったって給料でるわけじゃないしな。


76 :
うちのは自動で切れるけどね。

77 :
>>75
あと、日記は御自分のサイトでお願いします。

78 :
>>75
時間は使っても労力は使わんだろ。普通は。

79 :
>>75
ACPI使えば?

80 :
>>75
粘着厨房だのー
何のためのACPIサポートだか。


81 :
ACPI と APIC 似てて鬱。

82 :
>>75 Linuxのことを書いてないのでスレ違いとゆーことで

83 :
>>75
「はぁあ〜疲れちゃった」と短く要約

84 :
ACPI標準対応のディストリを教えてくれよ!!


85 :
>>84
そのくらい自分でコンパイルしろ!

86 :
昨日、SMPカーネル入れたんです、SMPカーネル。
そしたら、競合状態がいっぱいで、スループットが上がらないんです。
もうね、バカかと、アホかと。
なんかソース見たら、Spinlockの粒度が荒すぎるし。おめでてーな。
あのな、マルチプロセッサってのはもっと伐としてるべきなんだよ。
APICバスに投げられたメッセージが、いつアービトレーションされてもおかしくない。
Lockするか、Blockされるか、そんな雰囲気がいーんじゃねーか。
ツギハギ実装は、すっこんでろ。
Linusは本当にマルチプロセッサしたいのかと問いたい、問い詰めたい、小1時間問い詰めたい。
今マルチプロセッサ通での流行は、キャッシュコヒーレンシ・プロトコル。これだね。
LOCK#プリフィクス命令、これ最強。
しかしこれを多用すると、
プロセッサ間でキャッシュをフラッシュしまくって、性能が落ちる危険を伴う諸刃の剣。
素人にはお勧めできない。
まぁ、お前ら素人はパソコン2台でクラスタリングしてなさいってこった。

87 :
素人なんで聞きます(w
MOSIXってどうなんすか?
SMPのようにクラスタリングするそうですけど。


88 :
>>72
http://openlab.plathome.co.jp/testlab/011228.html
を読むと 2.4.17 final でも駄目そう





89 :
で、結局どうなの?

90 :
日本S◯Iの人のお話
Pentium4のハイパースレッドは有効にするとまともに動きません。
新機能を奥ゆかしく隠しているのではなく、動かないから非動作に
設定しているだけです。
(具体的にはロックが頻繁にかかり、パフォーマンスが劇的に低下
するとのこと)
株価/人気対策のペーパー技術?


91 :
>>90 まぁ、新技術なんてそんなもの。
ちなみに、paper ではなく、vapor だと思われ。

92 :
>>90
SGIの話を鵜呑みにするのもどうかと思うぞ。
ちなみにこの前研究目的でHyperThreadingを試してみた
(単純にカーネルの設定でHyperThreadingをオンにしただけだが)
けど、特に問題なく動いたしパフォーマンスも落ちなかったぞ。
むしろ事実上のマルチプロセッサなので、高い負荷をかけたときの
耐久性がすごく上がった。
オフの状態と比較して約1.5倍程度。

93 :
>>90
PC watch の記事だったかな。ロックががかかりすぎるので、
ソフトの対応待ちとか。ロックってスピンロック?


94 :
Lockってinstruction pipeline(のschduling)のことなんじゃないの?
Lockerやthread schdulerがうまく使ってくれれば、それなりの効果があると思う。
HyperThreadingなCPUを複数個でSMPにし、改造なしのkernelだとひどい結果になるだろうね。

95 :
最近llseek()からlock_kernel()が無くなったね
これでファイルアクセスはすべて並列実行できる?

96 :
頑張れ

97 :
具体的な対応で、俺が知ってるのはこれ。
スピンロックを取るときに、普通は無限ループでTestをまわすのだが、
その間に新設されたPAUSEインストラクション(F3 90)を実行する。
これでバーチャルプロセッサの飢餓状態を防ぐらしい。

98 :
ext2/ext3でディスクアクセスするときのlock_kernel()もなくなったね
あとnfsからいなくなれば腫瘍なlock_kernel()はあぼーんかな

99 :
>>97
ロックをパルス化してそのスキマに入りこませるワケね、
スループット目当てチューン。
電気自動車のサイリスタチョッパ制御みたいだね。
スループット目当てチューンって結構いい結果出るからよさそうな感じ。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
64: 【マジレス】超初心者の質問に答えるスレ1【エスパー】 (103)
65: Xwindows をインストールしてない人が集うスレッド (531)
67: 日本語入力総合スレッド 5 (297)
71: mozc / Google 日本語入力 #3 (291)