ベストOS、コーポレート-ガバナンスを低レイテンシーのJavaアプリケーション?

StackOverflow https://stackoverflow.com/questions/1953422

質問

い低レイテンシー取引システムに送りハンドラを、分析、入力されている場所として知られJava.このTCPとUDPの広範囲に使用することはありませんInfinibandまたはその他の非標準ネットワークです。

誰でもできるのでコメントのトレードオフの様々なOsやOS構成の展開このシステム?ながらスループットはもちろんのことだ現代の物価のフィード潜時は#1優先されます。

Solarisように思えるので天候補から作成したJava;どちらを使うべきSparcたはx64プロセッサ?

と聞いたのも、RHEL SLERT、右のバージョンのLinux、使用するベンチマーキング.

で試Windowsに対する上記のOs?ているのか、あるいものとしません。

私は、Java vs C++の議論のために別のスレです。

役に立ちましたか?

解決

ベンダーは、ベンチマークのこの種のが大好きです。あなたは、右のコードを、持っていますか?

IBM、サン/オラクル、HPはその利点を実証するために彼らのギアにあなたのアプリケーションを実行するためにすべての愛でしょう。

彼らがこれを行うことを確認します。あなたは、コードを持っている場合は、ベンダーがあなたのニーズに最適なショーに彼らのギアのデモを実行します。

これは、簡単に、痛みのない、の無料の、そして事実に基づくです。最終的な決定は簡単で、明らかであろう。そして、あなたがインストールすると曲がパフォーマンスを最大化する方法を知っています。

<時間>

私は何をやって嫌いは、の前にコードが書かれているこの種のものを予測しています。我々はすべてのユースケースを識別し終えた前に、あまりにも多くのお客様には、H / WとOSの勧告を求めています。予知のようなものを尋ねることは、単純な狂気である。

しかし、あなたは、コードを持っています。あなたはあなたのコードを行使テストケースを生成することができます。それは完璧です。

他のヒント

商環境に加え、低レイテンシーさんの懸念の一貫性と遅延のなをの影響を減らすGC一時停止等がますます利益をより異なOSの選択肢です。

  • G1ガベージコレクタ に最近のバージョンの陽ホットスポットVMの向上の世界一時停止、その他これと同等の JRockit VM
  • のためのリアルなパフォーマンス保証も アズールシステム バットホットスポットのコンパイラをJavaアの最低保証に一時停止可能でスケール大きなサイズ-100番手双糸のGBスタック100番手双糸のコアを用いた
  • 思割引Javaのリアルタイム-がん保証の対応のた犠牲スループットを得者を保証

ただし、計画を使用される取引システム環境マイクロ秒毎の計数には、本当にいいので不整合性を取得しますから、現在の世代のVMのない(リアルタイム保証の低いマイクロ秒GC一時停止.もちろん、このレベルにおいは同じ問題からOSの活動(プロセスの前emption割り込みの取り扱い、ページの断層ます。この場合のリアルタイム種Linuxバージョンがお手伝いいたします。

私はそれがWindowsのだという理由だけで、このからWindowsを排除しないでしょう。過去数年間の私のexpirienceは、Sun JVMのバージョンのWindowsは、通常、同じハードウェア上のLinuxまたはSoaris x86のとは対照的に賢明で最も成熟したパフォーマンスだったとされています。 Solaris SPARCのためのJVMがあまりにも良いかもしれないが、私はあなたがより少ないお金のためのより多くの電力を得ることができますのx86上のWindowsと思います。

私は強くあなたがすでに経験を持っているオペレーティングシステムに見えることをお勧めします。 SolarisのはあなただけのLinuxを知っていれば奇妙な獣である、例えばます。

また、私は強く、このあなたが本当に、本当にそれを必要とするとき、それははるかに簡単に専門的な支援を得るために行います。

のように、実際には、の日でのサポートをプラットフォームを使用することをお勧めします

http://java.sun.com/javase /6/webnotes/install/system-configurations.htmlする

私はおそらく、ガベージコレクションは、オペレーティングシステムの前の待ち時間も引き起こし心配だろう。あなたはそのすべてのチューニングに見たことがありますか?

私は裁判異なるOSに時間を費やすことを喜んでいた場合は、

、私は良い測定のために、おそらくLinuxのバリアントのSolaris 10とNetBSDを試してみてください、と思います。

Iは、32対64ビットアーキテクチャを試したいです。 64ビットはあなたに大きなヒープのアドレス空間を提供します...しかし、メモリの各ビットに対応するために時間がかかります。

私はあなたのアプリケーションをプロファイリングし、ボトルネックがどこにあるか知ってましたと仮定しています。 GCについてのコメントによって、あなたはそれをやりました。その場合は、アプリケーションがCPUバウンドであってはならない、とチップアーキテクチャが最大の関心事ではありません。

私は、マネージコード環境とリアルタイム処理は非常によく一緒に行くとは思いません。あなたは本当に、待ち時間を気にする場合は、マネージコードによって課せられた層を除去します。これは、Java対C ++の引数が、Java / C#/ ...対C / C ++ / FORTRAN / ...引数ではありません、と私はそれが持っている有効な設計の議論であると考えています。

そして、はい、私はやる平均FORTRAN、我々はFORTRAN基盤とほぼリアルタイムシステムの数を実行します。

片道の管理に遅延が複数のJVM分の小さなぜこの世界をごみ収集をしていると思時間がかかるときに起こるもの影響が少なプロセス。

もう一つのアプローチは、負荷最大クラスターのJVMのに十分なメモリに割り当てプロセスの確保はありませんの停止は、世界のゴミ収集時の時間を気遅延のない場合な24/7アプリ)は、再稼働JVMs on off時間です。

また、あなたが見てその他のJVMの実装としての可能性などJRocket).もちろん載したものではありませんが適切にとっています。

上記のいずれかの事項へのアプローチに影響を与えますのOS.例えば、だれもJVMの実装では、これからOSの選びへ行けばクラスタリング又はその他の運複数のJVMの申請が必要とするより良い原OSの管理ツールの効果、さらに働きかけのOSです。

オペレーティングシステムまたは構成の選択は、より高速なネットワークファブリックの利用可能性を考慮すると、完全に冗長化されます。

ルックの10GigEでつま先のNICを搭載した、または4X QDR(40Gbs)の高速化ソリューションのInfiniBandが、<のhref = "http://www.ietf.org/wg/concluded/ipoib.html" のrel = "nofollowを持ちます「> IPoIBのの標準イーサネットインタフェースを提示し、ルーティングます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top