アカウント名:
パスワード:
Preemptionについては本当にsourceや他のOSの実装を見たのか疑わしいところがあります。現状のLinux kernelではlock primitiveが貧弱です(特に、adaptive/blocking lockで十分なところにspin lockを使っている)。これはkernelのあちこちでinterrupt levelを引き上げることになります。結果として、割込そのものが遅れるために測定不可能なdispatch delayが生じる恐れがあります。
FreeBSDの場合、最も基本となるlockはblocking lock(多くは将来adaptiveに変更予定)です。spin lockはscheduler lockなど4種類しか用いていません。また、割込も、
4CPUを越えるよーな市販品のマザーボードがほとんど市場に出回らない状況でそれを言われても、たいして説得力がないのだな。
# そういう状況なら、ふつーIntel Solarisだろうし
i386ならそうかも知れませんが、sparc64とかで動くなんてことになるとどうでしょう? Linux kernelは動くはずですし、NetBSD/sparc64も有り(SMPはまだだけど)、FreeBSD/sparc64もとりあえずbootするようにはなってます。
ついでながら、architectureが増えるとmachine-dependentなところが少ないのは楽です。i386で直したものがsparc64でも使えますし。
# signalをqueueから引っこぬくところがなんでmachine-dependentなんだ? > Linux kernel
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
見えないdispatch delayが残りそう (スコア:3, 参考になる)
Preemptionについては本当にsourceや他のOSの実装を見たのか疑わしいところがあります。現状のLinux kernelではlock primitiveが貧弱です(特に、adaptive/blocking lockで十分なところにspin lockを使っている)。これはkernelのあちこちでinterrupt levelを引き上げることになります。結果として、割込そのものが遅れるために測定不可能なdispatch delayが生じる恐れがあります。
FreeBSDの場合、最も基本となるlockはblocking lock(多くは将来adaptiveに変更予定)です。spin lockはscheduler lockなど4種類しか用いていません。また、割込も、
Re:見えないdispatch delayが残りそう (スコア:0)
5.0 が安定すれば、4 ないし 16 CPU くらいのいわゆるミッドレンジの
エンタープライズユースで十分スケールすると思うんだわさ。
というわけで、そろそろ Oracle きぼんぬ。
そうすれば、Linux の上、Solaris の下、くらいの市場に食い込めると思うんだがなぁ。
Re:見えないdispatch delayが残りそう (スコア:1)
>>エンタープライズユースで十分スケールすると思うんだわさ。
これを示す数字ってどっかに無いですか? カーネルが7.5秒でコンパイルできた [srad.jp]とかの類のいい加減なデータで も教えてくださるとありがたいです。
Re:見えないdispatch delayが残りそう (スコア:0)
「スケール」するのが重要なの。
Re:見えないdispatch delayが残りそう (スコア:1)
4CPUを越えるよーな市販品のマザーボードがほとんど市場に出回らない状況でそれを言われても、たいして説得力がないのだな。
# そういう状況なら、ふつーIntel Solarisだろうし
Re:見えないdispatch delayが残りそう (スコア:1)
i386ならそうかも知れませんが、sparc64とかで動くなんてことになるとどうでしょう? Linux kernelは動くはずですし、NetBSD/sparc64も有り(SMPはまだだけど)、FreeBSD/sparc64もとりあえずbootするようにはなってます。
ついでながら、architectureが増えるとmachine-dependentなところが少ないのは楽です。i386で直したものがsparc64でも使えますし。
# signalをqueueから引っこぬくところがなんでmachine-dependentなんだ? > Linux kernel