2011-08-11 7 views
2

仮説的質問:ハイパフォーマンスコンピューティングシステムの構築

データの山とオフラインであり、ハードウェアを最適化するアルゴリズムプロセスがあるとします。

あなたが50kを処分するとします。

計算能力を最大限に引き出し、大きなスパース行列を格納するための柔軟なメモリを提供する社内スタックを構築するための最良のハードウェア設定とは何ですか?

プロジェクトの背景:科学的な研究、大規模なデータセットで機械学習を実行し、私は自分のための最大の強打を取得したい。

+3

これは野生の意見を招くことになるので、おそらくQ&Aスタイルには適していません。つまり、私の提案を以下で確認してください。 – Patrick87

+1

私は気まぐれな提案をします:誰かが20%のスピードアップを達成するたびにインフラストラクチャに25Kドルを払い、5Kを授与します。このような4つの賞を受賞した後、あなたは50,000ドルのマシンと同じスピードを達成しています。 :)正直言って、そのような賞は20%以上のスピードアップを達成するでしょう。ところで、それは素晴らしい授業です。 – Iterator

+1

最寄りのHPCセンターにお立ち寄りください。そのような質問をしたいのであれば、それらのArea51の提案にコミットすることを確かに検討するべきです:[Computational Science](http://area51.stackexchange.com/proposals/28815/computational-science?referrer=4pEy7Pj-D8kbaDTh4NmFiQ2)ハイパフォーマンスコンピューティング](http://area51.stackexchange.com/proposals/19888/high-performance-computing?referrer=DB2a2g2fnN801sJEhak_6g2)。 – mbq

答えて

1

おそらくGPUアクセラレータの使用を検討する必要があります。 CPUや大規模なスレッドとデータの並列処理に比べて非常に高いフロップで、大規模で集中的なデータ並列タスクに非常に適しています。コモディティCUDA対応GPUは、TFLOPSのパフォーマンス以上に500GFLOPSを持つことができます...かなり印象的です。 SHOCベンチマークスイートには、GPU用の疎な行列がいくつかありますが、GPU用の他の疎な線形代数パッケージ/アプリケーション/例があることは100%確信しています。いくつかのMapReduceタイプのものをGPUに実装する試みもいくつかありますが、そうしたいと思えばGPUも有望です。

+0

これは、マイグレーションのための人件費を見過ごしがちで、CPUマシン上で動作しない別のコードベースを維持することは、多くの時間を消費するという一般的な提案です。私は、GPUのテストについては同意しないが、AmazonもGPUをレンタルしている。 – Iterator

+0

EC2をまず試してみるのは良い点です。 – Patrick87

6

50K =無関係(政府補助金でない限り、お金を使う必要があります)。

正確な問題を理解する=貴重です。

可能な限り速く、疎行列で操作を実行したいとします。

メモリ内の疎行列をエンコード/デコードするために使用するアルゴリズム、実行する操作、「行列全体を一度にメモリに収めることができますか? - 世界のすべての違いを生み出します。

スパース以外のこれらのマトリックスに入るデータについて、あなたは何を知っていますか?あなたはデータ/空のデータの比率を知っていますか?一番大きいサイズの行列の大きさと、一度にメモリに保持する必要がある最大数は分かりますか?

行列演算で実行できる最適化について知っていますか?

私が知っている限り、典型的なPC上のメモリ内データへのよく書かれたハッシュまたはバイナリ検索は、おそらくメインフレーム上のディスクバインドされた検索アルゴリズムよりも優れています。

あなたのデータを知ることができればするほど、あなたは自分ができることを最適化することができます。 最後に死んでいることをサポートするハードウェアを購入する - データを最初に分析して知る ...

+0

+1絶対に正しいです。私はいくつかの企業が最初に問題を考え出すことなく50,000ドル以上を吹き飛ばしているのを見ました。残念ながら、ほとんどの人は計算の必要性を事前に見積もることができないので、ボトルネックを経験的に理解した上でスケーリングをお勧めします。 – Iterator

+0

数学、プログラミング、そして様々なLApacksには問題がありません。問題は、私の$$$制約のために最大のパンチを与える最も信頼性の高いハードウェアです。 CPU速度に注意を払いつつ、私が快適にメモリに保存できる最大のサイズの行列を最大限に使いたいとします。 –

+0

マトリクスサイズとゼロ以外のエントリの数を指定していません。 – Iterator

0

これは、このような質問にはあまり適していません。まず、ハードウェアの$ 50Kはかなり小さく、システムの仕様、価格とベンダーの比較、すべての論争、OSとライブラリのインストール、プラットフォームソフトウェアの準備などの労力の割当は、悪い考えです。あなたが$ 20Kの給与時間をかけてそれをすべてセットアップする必要があるならば、あなたのグリッドはちょうど70,000ドルの合計です。

これは、複数のマシン・タイプ、グリッド・プラットフォーム間で、ビットのAmazon EC2を試してみてください、そして、あなたのインフラのボトルネックがどこにあるか確認するために非常に賢く、よりコスト効果的です。私はあなたがHPC、機械学習、および疎なマトリックスにはまったく新しいものです。私を信頼してください。事前にボトルネックを推測せず、インフラストラクチャーがどのような形を取るかについての経験的な洞察に集中してください。

あなたのニーズの最初の推測に$ 50Kを吹く場合は、「授業料」にそのはるかに過ごすことになり、より良い教育を得ることはありません - ちょうど高価なものを。

勧告:EC2上で$ 3Kを過ごすと、あなたの残りの$ 47Kがはるかに賢く過ごしただろう。

(更新) 提言2:他の人と比べRackspaceの対EC2を比較することに時間を無駄にしないでください。 EC2をベースラインとして使用する。ほとんどの人はHPCのためによく競争しません。競争相手を見つけたとしても、EC2のマスタリングに費やす授業料は、比較のための合理的なベンチマークであるため配当を支払うことになります。さらに、マシン全体をレンタルすることに重点を置いていますが、同じサーバー上のリソースと競合する場合、一部のジョブがうまくいくかどうかを理解するために共有マシンを使用することを検討してください。

(更新) おすすめ3:Peterの答えで上記のコメントに基づいています。@Josee:ブロック対角化に関する正しい道を進んでいます。ブロック対角化が可能であれば、CPUの使用量を増やし、RAMの使用量を抑えることができます。それほど対角化できない場合は、RAMのCPU使用量を少なくします。データの行または列の密度が十分に高い場合は、L2またはL3のキャッシュサイズを大きくする必要があります。それはあなたがXX 'またはX'Xの多くをしているかどうかによっても異なります。さらに、あなたはより多くの読み書きをしていますか?ディスクキャッシュはここで多く役立ちます。最後に、SSDはすばらしいですが、メモリマップファイルを使用する頻度はどれくらいですか?

システムのキャッシュレベルの#はあなたのボトルネックがどこにあるかお分かりのように見かけの取得を開始します。データタイプによっては、おそらくGPUを使用することができますが、CPUから始めて、それがどのように機能するかを見てみることをお勧めします。 EC2はあなたにその両方をさせるでしょう。

答えは@Peterと同じです:まずデータに注目してください。

+0

私は機械学習でphdを持っています。ここにはインフラストラクチャの問題はなく、ハードウェアの資本の制約で問題が発生するだけです。その1つのアルゴリズム、1つのボトルネックと非常に賢い人々は、この計算上の複雑さの限界を把握しています。正確さ。だから問題が一般的に理解されているので、私はEC2のインスタンスよりも多くの蒸気を使って何かを作りたいと思っています。また、データは機密性が高く、セキュリティ上の理由から非機関サーバーに移植することはできません。 –

+0

あなたの資格を共有するのはいいことですが、それは関連性がありませんが、彼らに言及することは、あなたが新しい分野であることを確認することになります。だから、クラブにようこそ!より重要なことは、$ 50Kがエントリーレベルのインフラであることです。とにかく、あなたが望む授業料を過ごしてください。 – Iterator

1

アップルのMac Proの$ 20,090.95アウトフルmaxと$ 2kのための本当に良い椅子。または$ 20Kのための椅子と$ 10Kのためのラップトップ。

+0

+1私はあなたを愛しています。良い椅子は確かに* my *コンピューティングのパフォーマンスを向上させます。 – Iterator

+0

MacのFLOPS/$比率が低いです。 Linuxは計算を行うための唯一の合理的な環境なので、実際にはこれは何の違いもありません。 – mbq