4

できるだけ早く完了しようとしている並列処理タスクについて助けが必要です。

大きなデータフレームを小さなチャンクに分割し、各チャンクで同じスクリプトを実行するだけです。

これは恥ずかしいほどのパラレルと呼ばれていると思います。

アマゾン クラウド サービスまたは picloud を使用してこのタスクを達成するためのテンプレートを提案できる人がいれば、非常に感謝しています。

私は最初に amazon ec2 と picloud に進出しました (各データ チャンクで実行するスクリプトは python にあります) が、助けがなければどちらでも実行する方法がわからない可能性があることに気付きました。

ですから、どんな指針も大歓迎です。ec2 や picloud などを使用して並列コアや CPU をセットアップする際の主な手順、スクリプトの並列実行、スクリプト出力の保存など、基本的なヘルプ (詳しい人向け) を探しています。スクリプトは、その計算結果を csv ファイルに書き込みます。

私はubuntu 12.04を実行しています.私のpython 2.7スクリプトは非スタンドライブラリを含まず、osとcsvだけです. スクリプトは複雑ではありません。データがマシンと時間枠に対して大きすぎるだけです。

4

1 に答える 1

4

このスクリプトは、PiCloud の Python 用クラウド ライブラリを使用し、ローカルで実行する必要があります。

# chunks is a list of filenames (you'll need to define generate_chunk_files)
chunks = generate_chunk_files('large_dataframe')
for chunk in chunks:
    # stores each chunk in your PiCloud bucket
    cloud.bucket.put(chunk)

def process_chunk(chunk):
    """Runs on PiCloud"""

    # saves chunk object locally
    cloud.bucket.get(chunk)
    f = open(chunk, 'r')
    # process the data however you want

# asynchronously runs process_chunk on the cloud for all chunks
job_ids = cloud.map(process_chunk, chunks)

リアルタイム コア機能を使用して、特定の数のコアを割り当てます。

于 2012-11-15T10:03:38.447 に答える