私のアルゴリズムの詳細には立ち入らず、いくつかの実験結果を示します。特定の入力に対して、私の Java シーケンシャル アルゴリズムはラップトップ (Intel Core i5 430M - 2 コア、4 スレッド、2.27 GHz、4Mb キャッシュ、3Gb メモリ) で 4 秒間動作します。アルゴリズムの並列バージョンは、1 つのスレッドを使用して 6 秒、2 つのスレッドを使用して 5 秒、3 つのスレッドを使用して 4 秒で動作します。ssh経由でAmazon ec2で実行すると、スレッドの数に関係なく、時間は順次で6秒、並列で6〜7秒です。
なぜ遅いと思いますか?Amazon は仮想マシンを使用しており、そこで実行されているコードが遅いためですか? あなたの経験は何ですか?
多くのメモリと計算能力を備えた環境でテストしたいアプリケーションがあります。現在、amazonでの販売に失敗しています。
プレーンな Java オブジェクトとhppc
外部ライブラリ (高性能プリミティブ コンピューティング ライブラリ) を使用します。データベースや派手なものはありません。
インスタンスタイプはc1で、おそらくこれです(正しいかどうかはすぐにお知らせします。c1であることは知っていますが、中規模か大規模かはわかりません):
High-CPU Extra Large Instance
7 GiB of memory
20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each)
1690 GB of instance storage
64-bit platform
I/O Performance: High
EBS-Optimized Available: 1000 Mbps
API name: c1.xlarge