2012-01-18 8 views
5

私は、一連の配列の組み合わせをループするPHPスクリプトを用意しました。私はシンプルなPHPスクリプトを使って1時間で合計500兆の組み合わせの61億をテストできます。 6時間未満で複数のアレイの500兆のすべての組み合わせをテストできる今日の平均的なPC上で実行されている言語でプログラムを書くことは可能ですか?6時間未満の実行時間で500兆の組み合わせをテストする方法

また、私はこのタスクに分散コンピューティングまたはクラスターコンピューティングを使用するリソースがありません。どのような利益を私はマルチスレッドjava/cにコードを変換すると期待できる?

ありがとうございました

+2

ハッキングするWPA 48ビットですか? ;) – Nabab

+0

これは、これらの配列要素を処理するために使用するメソッドと、それらの500兆の組み合わせを浪費するRAMの量に大きく依存します。理論的には、マルチスレッド言語はCPUをより有効に活用することができます。 –

+0

これが貴重な原因であれば、 "寄付cpu time"ページを作成して、ブラウザでユーザーが行った解決のブロックを収集し、ウイルスに感染する可能性があります... –

答えて

5

簡単に始めましょう。スレッドを使用していますか?現代のハイエンドのインテルは、プロセッサあたり12個のハードウェアスレッドを搭載しています。これは、スレッディングから12の因数を得ることを意味します。

誰かがそれに特有のサーバーを取得した場合、比較的低コストで24-32ハードウェアスレッドを簡単に取得できます。

アレイが半静的であり、アスペックスグラフィックスカードを使用している場合、800〜3000個のプロセッサコアを使用すると時間を大幅に節約できます。これを打ち負かすものはありません。また、平均的なCPUであっても、チップやグラフィックスカードにはかなりのコア機能があります。

+0

私はTomTomに同意します - GPGPU-コンピューティングは、そのような場合や、クラスタリングなどのためのリソースを持っていない場合は確かに行く方法です。 – ChrFin

+0

SuperMicroが6台のNvidia Teslaカード用に2台のラックユニットサーバを販売する理由がある。パラレル化可能な操作のために、NOTHINGがGPUより勝っています。私は、彼の机の下にある機械を使って米国株式市場のオプション分析を行う男を知っています - 毎秒、すべての株。そのために6990のcoupldを使用します。 – TomTom

+0

@TomTomはGPGPUを特定の種類の並列操作に打ち勝ちません。この場合、それはかなり良いフィット感でなければなりません。 – Voo

2

リソースがない場合、私はあなたが望む数字で、あなたが怒っていると言うのが怖いです。

PHPやその他の言語を使用して、制限時間内にパズルを完了する可能性がある場合は、データ構造とそのアルゴリズムを再考する必要があります。

0

私は実行したいプロセスについては何も知らず、あなたの現在のリソースで目標を達成する方法がないかもしれませんが、言語を求めているので、PHPが最良のものではないことは事実ですparalelismに取り組むにあたって、私はErlangがそのような業績で有名だと言わなければなりません。

3
500 trillion comparisons in 6 hours 
= 
83.3 trillion comparisons in 1 hour 
= 
1.4 trillion comparisons per minute 
= 
23.1 billion comparisons per second 

あなたは4つのコア+ハイパースレッディング= 8つのコアであるインテルCore i7-2600 CPU(3.4GHz以上)を、持っていると仮定すると、あなたは

23.1/6 = 3.9GHz 
のあたりのコア速度を必要とするだろう

は、基本的なオーバークロックの可能性の極端に終わりです。

他のオーバーヘッドを考慮すれば、あなたが望むものはできません。あなたのCPUは何もできませんが比較することはできません。

+0

オーバーヘッド用に2つのコアを予約していますか? – Mikeb

+1

このような仕事をしているHTでも私はよくわからない。そして、ここのアカウントは何かが欠けています:39億の比較は1サイクル/比較に直接マッピングされません。実際のコードに応じて、次の必要な組み合わせ、オーバーヘッドのループなどを得るためには、さらに多くのものが必要になります。我々は、繰り返しあたり少なくとも100サイクル未満で私が得るなら、私はかなり驚くだろう – Voo

関連する問題