アカウント名:
パスワード:
FreeBSDでSMPngやってる人間としては、Solarisはまさに手本。
Solarisで一番魅力なのはディスパッチ遅延の安定性。特に割込みスレッドをたたき起こす時間が安定するので、デバイスから見たI/Oの処理時間が変に長くならない。こういう高速化は、CPUやメモリを高速化するだけでは絶対得られません。OSの責務です。
lock primitivesが用途に応じて選べるので、ロックのコストを無駄に増やすことがない。ロックされてないmutexならせいぜい1命令程度のoverhead。
spin lockだけじゃなくてadaptive lockが使えるから、優先度継承ができる。spin lockだけでは優先度継承はできません。なぜなのかは練習問題にしておきましょう。
あまり触れられてないようだけど、優先度継承とlock primitivesの結果得られる横取り可能性のおかげで、スケジューラを交換するだけでTSS的な使い方もできるしリアルタイムにもそこそこ使える汎用性(さらには両方を混ぜることも)。他のOSがリアルタイム専用に走っているのとはえらい違い。
以上、最近の本を読み、かつ少し手を動かしてみて分かったこと。本は買おうとすれば買えるから、後は勉強あるのみ。もっと詳しい話は、Greg LeheyがUSENIXでしゃべってくれたので参考までに。
どうしてそういう風に言われるんでしょう? だれか教えて!!
この話を聞いたのは確か Java缶(現 IA Japan)の講演会でJava Grande Forumの話が出たときと記憶しています。 関連して、早稲田大学の首藤さんが shuJITへのstrictfp実装の発表論文において x86と SPARCとの浮動小数点計算の違いが述べられています。
わたくし、priority inheritance protocolつきの queueing spin lock アルゴリズムをひとつ作って 修論を書いた気がするのですが、 ここでいうspin lock は単純な spin lock ってだけですよね?
Linux vs. Solaris みたいな話からすると かなりオフトピなのだが (でも、VMEバスに8枚CPUボードがささってる環境での 〆切直前徹夜デバッグとか、それはそれで懐かしい)。
速度的には充分リーズナブルな(リスクが小さくなって きた)処理系だと思いますよ、Java。あえてC++で 苦労するよりかは楽だなぁと思う事も多々あり。 コンパイラの性能如何ですが、2倍程度の 速度低下だったらJavaで書いちゃうかなぁ。 特に分散とか並列とかそういう話になってくると、 正直CやC++で書く気がおこりません。
逆に言えば、「クローズドなアプリケーションを動かすならSolarisとかの方がとらぶらないよ」とも…
いま使っているUNIX はなぜ、よりによって、そのUNIXなんだ?
うーん、語法とか前提が違うのかな?
dispatch queueみたいな複雑なのはともかく、 単純なlock の queue なんかは、 read-modify-write cycle な命令 (atomicな swapとか compare and swapとか)や load linked(load locked) + store conditionalな coherent cacheを利用した命令とかをうまく使って spin することなくenqueue & dequeueする ことができます。
そういうqueueを使ってプロセッサごとの 領域で spin させるのが queueing spin lockです。 一番有名なのがおそらく Mellor-Crummey とScott のMCS lockと呼ばれるもの。これはFIFO queueです。 MCS lock 以外では queueとアルゴリズムの工夫で 優先度順 lock を実現したものもありますし、 それらをさらに優先度継承拡張したものもあります。
私の出身研究室で行われた、別の人の研究は、いくつかpaperになってるのでご参考まで。
宵技術者は目的に適した道具を使うはずだ。
それまで自分らが作っていた OS が Linux にも劣っていた
あとは mips や alpha が軒並みコケていって、気が付けば Sun/Solaris 以外はみんな i386 になってしまって、だったら独自 OS でお前キモ~い言われるより普及していて移植や慣れるのが容易な Linux の方が……っつーとこですかね?
という人の中には,「数値計算がわかっていない」という方もおられるようで. あ,もちろん全て,ではないですが.
x86 gcc の場合,同じ定数から計算した計算結果でも,片方がメモリ上にあってもう片方が FPU のレジスタ上にある場合,比較するとイコールにならない,とかいうことで話題になったことがあります.
おねがいだから音頭をとってほしい。なんでぼくみたいな、Linux しか知らないような人が、i18n@xfree86 ML とか li18nux ML とかで騒がなきゃいけないんだ。
で、Solaris って、使ったことがないから分からないんだけど、具体的にどう国際化がこなれていて、どう便利なの? ということを、ぼくが知りたいというよりは、XFree86 とかで説いてまわって!)
Solaris とかを愛する Old Type な人々は、一子相伝なやりかたに慣れていて、バザール形式の喧噪に関わりたくないと思ってるのかなあ、とか疑ってしまう。でも、Linux の世界で勝とうと思えば、一子相伝形式でやっていたのでは、絶対に勝ち目はない。
ただ、ぼくもその「一子」じゃないから、Old Type な人々が「相伝」している哲学を、きちんと理解しているわけじゃない。だから、もしかれらがその哲学をよりオープンに平易に語り始めたとき、それが、ぼくが賛成して「説いてまわる」活動に参加したいと思えるようなものかどうか、いまのぼくには未知数だ。
まあ、ここでぐだぐだ述べても仕方がないから、こんど、いろんな方面にいろいろと要望を出してみることにしよう。
厳密にはそうですね。Solarisのadative lockは場合によってはspin lockになりますから。
解答例としては、「lockのqueueやdispatch queueを保護するためにspin lockを使うことになるため、これらのlockではpriority inheritanceが本質的に不可能。それをするなら何か別の種類のlockを用意しなければならない」ですかね。
ただ、どうせ用意するならsleepできるlockの方が対応できる状況が広くていいんだけどなぁ。
> i18n@xfree86 ML とか li18nux ML とかで
すみません、ここは li18nux ML じゃなくて linux-utf8 ML ですね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
OSを作ってる立場からすると (スコア:4, 参考になる)
FreeBSDでSMPngやってる人間としては、Solarisはまさに手本。
Solarisで一番魅力なのはディスパッチ遅延の安定性。特に割込みスレッドをたたき起こす時間が安定するので、デバイスから見たI/Oの処理時間が変に長くならない。こういう高速化は、CPUやメモリを高速化するだけでは絶対得られません。OSの責務です。
lock primitivesが用途に応じて選べるので、ロックのコストを無駄に増やすことがない。ロックされてないmutexならせいぜい1命令程度のoverhead。
spin lockだけじゃなくてadaptive lockが使えるから、優先度継承ができる。spin lockだけでは優先度継承はできません。なぜなのかは練習問題にしておきましょう。
あまり触れられてないようだけど、優先度継承とlock primitivesの結果得られる横取り可能性のおかげで、スケジューラを交換するだけでTSS的な使い方もできるしリアルタイムにもそこそこ使える汎用性(さらには両方を混ぜることも)。他のOSがリアルタイム専用に走っているのとはえらい違い。
以上、最近の本を読み、かつ少し手を動かしてみて分かったこと。本は買おうとすれば買えるから、後は勉強あるのみ。もっと詳しい話は、Greg LeheyがUSENIXでしゃべってくれたので参考までに。
every(?) OS has its own advantage (スコア:3, 参考になる)
たですな。(今でも、ext2fs の metadata async や journaling file system
の信頼性に不安があるなら Solaris の方がいいかも。)
kernel 2.4 が出る前だったら、利用可能な実メモリのサイズとか、1 つの
ファイルのサイズとかも段違いに Solaris/ix86 の方が良かったっす。
まだ現在でも、pthread 回りにとか関しては Solaris の方がいいですな。
とか、普通、いろいろ思いつくでしょ。やっぱり。
ま、Linux も順調に問題を解決してきてはいるんけど、Linux が最先端で
Solaris が obsolete だと思っている点で、ZDNet は素人だと思う。
ミッションクリティカル (スコア:3, 参考になる)
1.SPARC/Solaris
2.POWER/AIX
3.PA-RISC/HP-UX
でしょう。
特にCPU数が多い場合は、SUNとIBMの独占状態に近いと思います。LinuxやFreeBSDの安定性が高いと言っても、まだまだミッションクリティカルか用途での信頼性は確保できていないでしょう。
だからIBMもHPもローエンドはIntel/Linuxでハイエンドは自前で行く戦略を取っているわけだし。
SUNはローエンドもSolarisで行けるわけだから、実績のあるSolarisを捨てて、これからのLinuxに「今すぐ」移行する必要はないわけです。
Linuxまんせーな印象 (スコア:2, 興味深い)
IBMにしても、HPにしてもほんとは自分とこのUnixのほうがLinuxよりもよいと思っていると思うのだけど、Unixメーカーとしてはブランドイメージが弱いから、Linuxにひよらないとやっていけないんだと思う。
Sunにはまだブランドイメージが残っているからね。
SolarisはいいOSだと思うし、あまりにLinux唯我独尊な記事もどうかと思うね。
Re:every(?) OS has its own advantage (スコア:2, 参考になる)
AIXとかHP-UXは使ったことないですが、これまで使った中では一番完成度高いと思いますがねえ、Solaris。まあ、スピード重視な向きにはいまいちかもしれませんが。
いずれにせよ、なんでもかんでもLinuxという方向性は、「なんでもかんでもWindows」と大差はないでしょう(というと語弊があるかな?)。少なくとも、「適材適所」とはあらゆるプロプライエタリなOS(UNIX限定でも良いですが)をLinuxに置き換えることではないはずです。
# デスクトップ環境はSolaris/Sparcな人だから多少贔屓目があるかも。
# もっとも、FreeBSD/NetBSDも常用してるけど。
信頼性とスケールとアプリケーションの豊富さかな? (スコア:2, 参考になる)
信頼性はH/W環境も含めまだまだSolarisの方が上だと思
います。
またSolarisの場合PCサーバから、StarFireまでシステム
がスケールしますが、Linuxの場合、現実的にはPCサーバ
かS390になってしまい中間層がない状態です。
業務用アプリケーションにしても現状では「Linuxにも対
応しましたレベル」であるものが多く、機能的な制約やサ
ポートに制約があるものが多く見受けられます。
私の場合は、お仕事の内容によってFreeBSD、Linux、
Solarisを使い分けています。
・エンタープライズ級やミッションクリティカルなシステム
でお金がかけられる場合はSolaris
・研究開発系やトライアルではじめる業務で使用するアプ
リケーションにOS上制約がない場合FreeBSD
・上記と同様でLinuxでしか動かないアプリケーションが必
要な場合(RDBMSなど)Linux
Re:every(?) OS has its own advantage (スコア:2, すばらしい洞察)
Linux のメインターゲットはあくまでも 1 CPU とか 2 CPU の PC なので、そこに最適化してあるし、一方で Solaris はそんなとこは眼中にないんですな。だから、本来競合しないはずだし、Sun にとっては Linux は単純に使い物にならないんじゃないかと。
Solaris のカーネルは、デザインも実装も UNIX の最先端の内容だし、それと比べたら Linux なんか玩具。なんだかんだ言って、FreeBSD も NetBSD も Solaris を一つの目標にしてるようなところがあるしなぁ。
でも、本当の Sun の強さは、もっと目に見えないところにあるんだけどね。なんで HP-UX や AIX が信頼されないで、Solaris が信頼されてるのか、というのを考えてみるとよくわかるんだけどね。
数値解析の世界では… (スコア:2)
「Linux や GCC それに Intel はいまいち信頼出来ない。」
という話を聞いたりします。まあ、吐き出されたバイナリの最適化・速度なんかでは(とくにalphaとかだと)GCCは弱いってのは判るけど、 Intelが信頼できないって…
そう言えば、昔 Pentiumの計算ミスバグってのもあったけど…
どうしてそういう風に言われるんでしょう? だれか教えて!!
Re:国際化関係は (スコア:2)
「我々が今まで苦労してやっと解決したことを、またLinuxで繰返そうとしている」
って答えてたっけ。だからその経験を活かすため、自分達がLinuxの国際化の音頭を取りたいってことでしたが。
Re:Oracle (スコア:2)
実際、データベースにOracleを使うと決まった時点で、プラットホームはSPARC/Solarisに決まったようなものだし。
AIXだとDB2がありますからねぇ....。
Re:あえてLinuxを使う理由とは? (スコア:2)
とはいうもののIRIXならともかくSolarisだったらそんなに大変じゃないから、 そんなに強い動機づけにはならないなぁ。 あとはサポートするハードの豊富さ、RPM,deb等のバイナリパッケージがたくさんある、 雑誌のおまけについてくることぐらいでしょうか。うーん。
浮動小数点の計算結果の違い (スコア:2, 参考になる)
この話を聞いたのは確か Java缶(現 IA Japan)の講演会でJava Grande Forumの話が出たときと記憶しています。
関連して、早稲田大学の首藤さんが shuJITへのstrictfp実装の発表論文において x86と SPARCとの浮動小数点計算の違いが述べられています。
MIYAZAKI Yasushi
Re:国際化関係は (スコア:2, 興味深い)
そうですねぇ(溜息).思いっきり繰り返してますね~.
ワタシは単なるエンドユーザですが,今のLINUX+KDEとか,GNOMEとか,
5年前のSolarisと比べて,全~然,便利になってる気がしませんもの.
今のLinux+Gimpを使うのと,5年前のSoraris+Photoshop2.5を使っていた
頃を比べたら,むしろ5年前の方が随分と幸せだったような.
まぁ,10年以上前のNeXTSTEPと比べて,ち~っとも便利になってない
MacOSX....ってゆぅのも,繰り返してる仲間のうちだけどなぁ.
#ワタシの使い方(二次元画像処理)が特殊であると言えばそれまで.ですが....
Re:数値解析の世界では… (スコア:2)
話を聞いて怖くなりました。
Solarisはどうか分かりませんが。
#ちなみに、わたしが数値計算結果でひどい目にあったのはVC++だけですが・・・
数値計算分野でも、定評ある有名メーカ製を評価する人ばかりではないようです。
Re:OSを作ってる立場からすると (スコア:2)
わたくし、priority inheritance protocolつきの queueing spin lock アルゴリズムをひとつ作って 修論を書いた気がするのですが、 ここでいうspin lock は単純な spin lock ってだけですよね?
Linux vs. Solaris みたいな話からすると かなりオフトピなのだが (でも、VMEバスに8枚CPUボードがささってる環境での 〆切直前徹夜デバッグとか、それはそれで懐かしい)。
Re:数値解析の世界では… (スコア:2)
さらには 「JAVA で解析システムを作りました」という学会発表も… (これはヴィジュアライゼイションが容易という利点からなのでしょうが、計算時間的にもリスクが大きすぎる気がします。)
こういうのって、数値解析を専門にしている人から見るとどうなんでしょう?
Re:数値解析の世界では… (スコア:2, 参考になる)
速度的には充分リーズナブルな(リスクが小さくなって きた)処理系だと思いますよ、Java。あえてC++で 苦労するよりかは楽だなぁと思う事も多々あり。 コンパイラの性能如何ですが、2倍程度の 速度低下だったらJavaで書いちゃうかなぁ。 特に分散とか並列とかそういう話になってくると、 正直CやC++で書く気がおこりません。
Re:国際化関係は (スコア:2)
みんなそうやって苦労してきたから、また若いやつらが同じような夢に向かっているのを見るとつい一歩ひいちゃうんじゃないかと。
彼らの前途の厳しさに思いをいたし、しかしその若さに微かな希望をもって含蓄深い言をつぶやく。
古い人に表に来いと叫ぶより、一旦腰を据えて成果を学んで、余力あるうちに先へ繋ぐのがいいと思う。騒ぐのは誰でもできるさ。
SGML から XML への流れが見事だったなぁ。
-- wanna be the biggest dreamer
Re:継続性 (スコア:2)
というのが当時のSunの対応だったけど、サポート止めるならソースコードを公開してくれないかなぁ?と思った。
今頃Solarisのソース公開しても遅いぞ。
だからこそオープンに (スコア:2, すばらしい洞察)
より正確(冷静)には、
Linux で動かすアプリケーションはオープンソースでないといろいろ苦労するかも。
ということかな。
逆に言えば、「クローズドなアプリケーションを動かすならSolarisとかの方がとらぶらないよ」とも…
某社の場合 (スコア:2)
とある会社に勤める知人の弁だが、
「ウチは基本的にフリーソフトは禁止」
と言う理由でLinuxは却下されたらしい。
char *A;
モータースポーツ部 [slashdot.jp]
Re:OSを作ってる立場からすると (スコア:2)
うーん、語法とか前提が違うのかな?
dispatch queueみたいな複雑なのはともかく、 単純なlock の queue なんかは、 read-modify-write cycle な命令 (atomicな swapとか compare and swapとか)や load linked(load locked) + store conditionalな coherent cacheを利用した命令とかをうまく使って spin することなくenqueue & dequeueする ことができます。
そういうqueueを使ってプロセッサごとの 領域で spin させるのが queueing spin lockです。 一番有名なのがおそらく Mellor-Crummey とScott のMCS lockと呼ばれるもの。これはFIFO queueです。 MCS lock 以外では queueとアルゴリズムの工夫で 優先度順 lock を実現したものもありますし、 それらをさらに優先度継承拡張したものもあります。
私の出身研究室で行われた、別の人の研究は、いくつかpaperになってるのでご参考まで。
誤変換 (スコア:1, おもしろおかしい)
5時から男(死語)?
char *A;
モータースポーツ部 [slashdot.jp]
国際化関係は (スコア:1)
つまり (スコア:1)
キモい OS は要らん (スコア:1, フレームのもと)
っつーことじゃ……(暴言
あとは mips や alpha が軒並みコケていって、気が付けば Sun/Solaris 以外はみんな i386 になってしまって、だったら独自 OS でお前キモ~い言われるより普及していて移植や慣れるのが容易な Linux の方が……っつーとこですかね?
「それがどうした、おれたちには関係ない」
実績 (スコア:1)
とくに大きなサーバになればなるほど
まあ、作業端末のワークステーションになら”あえて”Solarisを選ぶ理由はとくに思いつきませんが。
といっても”あえて”Linuxをえらぶ理由もないのですが
#私にはBSDを選ばない理由はあったりするのですが
Oracle (スコア:1)
#伝聞ですんません
OPENLOOK (スコア:1)
まあ、なんかあったらカネで解決できるってのは強いんじゃないかな?
参考になる資料も多いしね。
個人的には持ってるノウハウって SunOSが多いし、
選べといわれたら、やっぱね。
え?>モデレ (スコア:1)
俺は「おもしろおかしい」に一票だけどなあ。
継続性 (スコア:1)
あと、カーネルの限界性能も段違い。最近Linuxを酷使するようになって、意外と限界が低いことが分かってきた。
やっぱり・・・慣れてるからかな・・・・ (スコア:1)
という意味ですが・・・・
やっぱりlsとかpsとかの細かいところでは
そうしても戸惑いますねぇ・・・・・
とりあえず, Solaris for X86やめないでぇぇぇ(T_T) > Sun
『今日の屈辱に耐え明日の為に生きるのが男だ』
宇宙戦艦 ヤマト 艦長 沖田十三氏談
2006/06/23 JPN 1 - 4 BRA
Re:実績 (スコア:1)
いや・・・BSDでも使えなくはないけどね
Re:数値解析の世界では… (スコア:1)
Re:え?>モデレ (スコア:1)
「余計なもの」とは、私が今書いているコメントが該当すると思われるが。^^;
# 人生のキャリーオーバー継続中
Re:数値解析の世界では… (スコア:1)
という人の中には,「数値計算がわかっていない」という方もおられるようで. あ,もちろん全て,ではないですが.
x86 gcc の場合,同じ定数から計算した計算結果でも,片方がメモリ上にあってもう片方が FPU のレジスタ上にある場合,比較するとイコールにならない,とかいうことで話題になったことがあります.
思いっきりおふとぴっく (スコア:1)
そういえば、超漢字の開発って (スコア:1)
「超漢字」の開発は SunOS を使ってやっているとかいっていたな。(聞き出したともいう(笑))
by rti.
悲惨な例 (スコア:1)
保証問題かと. (スコア:1)
// jack_mexfer
Re:国際化関係は (スコア:1)
おねがいだから音頭をとってほしい。なんでぼくみたいな、Linux しか知らないような人が、i18n@xfree86 ML とか li18nux ML とかで騒がなきゃいけないんだ。
で、Solaris って、使ったことがないから分からないんだけど、具体的にどう国際化がこなれていて、どう便利なの? ということを、ぼくが知りたいというよりは、XFree86 とかで説いてまわって!)
Solaris とかを愛する Old Type な人々は、一子相伝なやりかたに慣れていて、バザール形式の喧噪に関わりたくないと思ってるのかなあ、とか疑ってしまう。でも、Linux の世界で勝とうと思えば、一子相伝形式でやっていたのでは、絶対に勝ち目はない。
ただ、ぼくもその「一子」じゃないから、Old Type な人々が「相伝」している哲学を、きちんと理解しているわけじゃない。だから、もしかれらがその哲学をよりオープンに平易に語り始めたとき、それが、ぼくが賛成して「説いてまわる」活動に参加したいと思えるようなものかどうか、いまのぼくには未知数だ。
まあ、ここでぐだぐだ述べても仕方がないから、こんど、いろんな方面にいろいろと要望を出してみることにしよう。
Re:OSを作ってる立場からすると (スコア:1)
厳密にはそうですね。Solarisのadative lockは場合によってはspin lockになりますから。
解答例としては、「lockのqueueやdispatch queueを保護するためにspin lockを使うことになるため、これらのlockではpriority inheritanceが本質的に不可能。それをするなら何か別の種類のlockを用意しなければならない」ですかね。
ただ、どうせ用意するならsleepできるlockの方が対応できる状況が広くていいんだけどなぁ。
Re:国際化関係は (スコア:1)
> i18n@xfree86 ML とか li18nux ML とかで
すみません、ここは li18nux ML じゃなくて linux-utf8 ML ですね。
Re:あえてLinuxを使う理由とは? (スコア:1)
…ってこれだと Win を使ってる人の理由と大差ないっすね(笑)。
Only Jav^Hpanese available :-)
Re:OSを作ってる立場からすると (スコア:1)
それにあわせてLinuxカーネルの話などをみると、
Linuxの弱さを感じます。
Kernel 2.4になって、ちょっとマシになって来たレベルかと。
かといって、Solarisもbestではなくて、
NFSとかにも不満はある。作ったの誰だ(笑
Re:保証問題かと. (スコア:1)
今あるディストリが5年後もあるなんて保証出来ないし、5年もサポートしてくれるとも思えない。
じゃぁSunは?って聞かれたら、とりあえず「まぁあるでしょう。え?つぶれたら? そりゃしょうがないっすよ」っと、先方も許してくれそう・・・んな、わきゃないけど、突き詰めるとそんな感じ
Re:信頼性とスケールとアプリケーションの豊富さかな (スコア:1)
> かS390になってしまい中間層がない状態です。
RS/6000 や AS/400 でも Linux は動くと思いますが、
それは現実的ではないってことでしょうか?
最近ですけど (スコア:1)
確かにSolarisの方がRHより少し遅いかもしれませんが安定していて
僕は満足しています。
それとOracleに関しては断然Solarisですね。
僕は実際に個人でOracle8iのLinux版を購入したのですけどそれを
動かそうとするのなら最新版は使えません。
glibcやカーネルが変わるともう駄目。動かないって言うか
インストールすらできない(RHの場合7.0だと何とかなるんだけど)
Linuxはカーネルやライブラリが結構頻繁に変わるじゃないですか。
それ自体は大変良い事なんですけどその為にアプリケーションが
使えなくなるとちょっと問題。
やはりアプリケーションサーバ的な業務ではLinuxはまだまだなんだと
個人的には思っています。
Re:every(?) OS has its own advantage (スコア:1)
インストーラがおかしい (スコア:1)
RedhatのHPには、以前謝罪が載ってましたけどね。
会社の力関係か?
ちなみに、OracleのBulk Read/Write/AppendとかSorarisよりLinuxの方が
断然早いですよ。1CPUでパフォーマンスとるならLinuxかと。
あ、OCIとか使ってるとLinuxではこけまくりですけど。