タグ付けされた質問 「embarrassingly-parallel」

5
Pythonマルチプロセッシングを使用した驚異的並列問題の解決
マルチプロセッシングを使用して、驚異的並列問題にどのように取り組むのですか? 驚異的並列問題は通常、次の3つの基本的な部分で構成されます。 入力データを読み取ります(ファイル、データベース、tcp接続などから)。 入力データに対して計算を実行します。各計算は他の計算から独立しています。 計算結果を(ファイル、データベース、tcp接続などに)書き込みます。 プログラムを2次元で並列化できます。 各計算は独立しているため、パート2は複数のコアで実行できます。処理の順序は関係ありません。 各パーツは独立して実行できます。パート1はデータを入力キューに配置し、パート2はデータを入力キューからプルして結果を出力キューに配置し、パート3は結果を出力キューからプルして出力することができます。 これは並行プログラミングの最も基本的なパターンのようですが、それを解決しようとするとまだ迷っています。そこで、マルチプロセッシングを使用してこれがどのように行われるかを示す標準的な例を書いてみましょう。 問題の例を次に示します。入力として整数の行を含むCSVファイルが与えられた場合、それらの合計を計算します。問題を3つの部分に分けます。これらはすべて、並行して実行できます。 入力ファイルを生データ(整数のリスト/反復可能ファイル)に処理します データの合計を並行して計算します 合計を出力します 以下は、これら3つのタスクを解決する従来の単一プロセスバインドPythonプログラムです。 #!/usr/bin/env python # -*- coding: UTF-8 -*- # basicsums.py """A program that reads integer values from a CSV file and writes out their sums to another CSV file. """ import csv import optparse import sys def …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.