"SmartHeap for SMP は、マルチスレッド アプリケーションをマルチ CPU システムで飛躍的に高速化するためのライブラリを提供します。"

アプリケーションを SmartHeap for SMP のライブラリで再リンクするだけで、アプリケーションのパフォーマンスを数倍に向上します。

SmartHeap for SMP のライブラリはインテルのハイパースレッディング テクノロジにも対応しており、インテル(R) Xeon(TM) プロセッサ、インテル(R) Pentium(R) 4 プロセッサ上で実行するエンタープライズ アプリケーションのパフォーマンスの向上にも役立ちます。

SmartHeap for SMP を使用すると、1秒間に実行される allocs/free の数が CPU の数が増えるとともに線形的に増加します。

 

【従来の問題点】 コンパイラのヒープ マネージャは SMP システム用に設計されていません
今日のコンパイラ ランタイム ライブラリは単一プロセッサ環境用に設計されており、一度に 1 つのスレッドのみがヒープ (すべてのスレッドで常時使用される重要なリソースです) でアクティブになります。これは、一度に 1 つのスレッドのみが実行する単一 CPU システムでは問題にはなりません。しかし、複数のスレッドが 同時に ヒープ要求を行うマルチ CPU システムでは、1 つのスレッド以外のすべてのスレッドはヒープ マネージャによってブロックされるために、マルチ CPU の利点が活用できない という問題が発生します。

【従来の問題点】 ヒープ コンテンションは、マルチ CPU システムでの実行速度を低下させます。
さらに悪いことには、スレッドがブロックされる度に、スレッドのタイム スライスが失われ、即座な(そしてとても高価な) OS コンテキスト スイッチが引き起こされることです。複数のスレッドが同時に実行されるマルチ CPU システムでは、ヒープ ブロックや必然的なコンテキスト スイッチが発生する可能性が増大します。その結果、マルチ CPU は OS コンテキスト スイッチの悪循環サイクルによるオーバーヘッドを招き、アプリケーションの全体的なパフォーマンスを シングル プロセッサ レベル以下まで低下させる のです。

このパフォーマンスの無効化問題は、ヒープのサイズやヒープ処理に掛かる時間に関係なく、ヒープを呼ぶスレッドを 2 つ以上持ついかなるアプリケーションで発生する可能性があります。つまり、ほとんどすべてのアプリケーションが、この問題に対して脆弱なのです。

【ソリューション】 SmartHeap for SMP はヒープ コンテンションを防ぎます。
コンパイラのヒープ マネージャと異なり、SmartHeap for SMP は複数のスレッドがブロッキングなしに実行されることを可能にし、ヒープ コンテンションやそれに伴う OS オーバーヘッドを防ぎます。その結果、SmartHeap for SMP を使用することで、アプリケーションは SMP システム上で実行した際に拡張性を持つのです。

SmartHeap for SMP では、コードを変更する必要はありません
SmartHeap for SMP は コードを修正することなく アプリケーションのパフォーマンスを向上します。特別な API を使用したり、複数のプールを呼ぶためにアプリケーションを再構築する必要はありません。SmartHeap for SMP のライブラリで再リンクするだけです。コードは引き続き標準 malloc または operator new を呼び出します。

SmartHeap for SMP は単一プロセッサ システムでも高速化します
SmartHeap for SMP は単一プロセッサ システム上でも効果を発揮します。これは、数々のベンチマークで示されている事実です。つまり、SmartHeap for SMP では、顧客が使用するシステムのプロセッサの数にかかわらず、1 つの exe ファイルを作成し、市場に売り込むことができます。

SmartHeap for SMP は NT、Solaris、HP-UX、AIX、IRIX、そして Digital UNIX で利用できます。

  • SmartHeap for SMP ベンチテスト!
    SmartHeap for SMP のベンチテストに使用できるソースコードです (ほとんどの UNIX プラットフォーム、Win NT がサポートされています)。

 

【まずは、お試しください】 評価ユニットについては、こちらの フォーム よりお問い合わせください。

 

【採用例】 次にリストする企業が SmartHeap for SMP を使用してどのように 100 % から 1000 % のパフォーマンス向上を達成しているかを見てみましょう: Netscape、Sun、Fidelity、Microsoft、IBM、Lucent、Goldman Sachs、HP、Veritas、Merrill Lynch、Dell、MicroStrategy、NASDAQ、i2、BMC、Bloomberg、Computer Associates、Xilinx、Deutsche Bank、NEON、Palm、Barclays、Autodesk、DoubleClick、Credit Suisse First Boston、E.piphany、Cognos、Allaire、Openwave、Ericsson、UPS、その他。

"SmartHeap for SMP は 4 CPU システム上で動作する我々のアプリケーション サーバーの出力を 6 倍に高速化しました。"
Yaron Goldberg 氏、ClickSoftware

"我々の相互プラットフォームでは、SmartHeap for SMP によりパフォーマンスが 60% 向上しました。"
Thomas Hempel 氏、E.piphany

"Hyperwave 情報サーバーのパフォーマンスが 2 倍になりました。"
Gerbert Orasche 氏、Hyperwave

"コンパイラのデフォルト メモリ アロケータを使用した際には、マルチスレッド化した場合に、(コード自体のメモリ需要は高くはありませんでしたが) メモリ コンテンションによりデュアル プロセッサ マシンでのパフォーマンスが減少し、また、CPU の全体使用率が 55% に満たないという結果でした。SmartHeap for SMP を使用して同じコードを実行した際には、CPU 使用率が 95% 以上まで上がり、出力を 83% まで引き上げることに成功しました。"
Randal Parsons 氏、Bankers Trust

"私達の RightPoint リアルタイム キャンペーン サーバーは、単に SmartHeap for SMP で再リンクを行っただけで、SMP システム上で 100% 以上のパフォーマンスを実現しました。"
Earl Stahl 氏、RightPoint Software Inc.

"SmartHeap for SMP は ReelTime (Pinnacle の非線形デジタル ビデオ編集プラグイン) の全体的なシステム パフォーマンスを 100 % 向上しました。"
Brian Lanier 氏、Pinnacle Systems

"SmartHeap for SMP を使用する前は、コンテキスト スイッチにより、私達のアプリケーション パフォーマンスはマルチプロセッサ システム上で見事に低下しました。SmartHeap SMP を使用した後では、SmartHeap for SMP の適切なメモリ管理により、デュアルプロセッサ システムでパフォーマンスは 111 % 向上しました。"
Christopher M. Woods 氏、Financial Insight Systems, Inc.

"SmartHeap for SMP は私達が抱えていたマルチ プロセッサ システムでのスケーラビリティ問題を解決するために非常に役に立ちました。"
William Adiletta 氏、OptiMark Technologies Inc.