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

より効率的にするために、複数のコマンド(またはコンピューター)を並行して実行します。

4
コンピューターで300%のPC処理能力を使用するにはどうすればよいですか?
私はスクリプトで遊んでいますが、夢中になりました(まだ実行中ですが、コンピューターはまだ死んでいません)。スクリプトを17回繰り返し実行しています(コンピューターをクラッシュさせる目的で)。 アクティビティモニターを見ると、各Pythonプロセスには一意のpidがあり、それぞれの処理能力の約17〜20%を占めているように見えます...それはどのように可能ですか?私のコンピューターは魔法のように200%の電力を増加させ、どこかで熱力学の法則を破ったのでしょうか?

9
rsyncの並列化
引っ越して、試行錯誤の結果、自宅とリモートサーバーの間のどこかで調整が行われていることを発見しました...しかし、調整はあまりインテリジェントではありません。個々の接続のみを調整します。そのため、1 GBのファイルを1つコピーすると、150 kBpsで楽に進みます。しかし、10個のコピーを初期化すると、それぞれが150 kBpsになります(つまり、複数の接続でより高い総帯域幅が得られます)。 私はrsyncをかなり頻繁に使用して、いくつかの大きなデータセットを職場から自宅に同期します(残念ながら多くのファイルの形式で)。複数の接続を使用してダウンロードするようにrsyncに指示する方法はありますか?私が知る限り、rsyncは最初にパスを実行して必要な変更を決定し、次に実際の送信を実行するため、理論的には可能です。rsyncに個々のファイルをN個にスライスし、それらを再びスプライスするように指示する魔法の方法がある場合、ボーナスポイント。私は、CuteFTPが実際にそれを実現するのに十分スマートであると信じています。

7
コマンドの同時数の上限と並行してコマンドを実行します
順次:for i in {1..1000}; do do_something $i; done-遅すぎます パラレル:for i in {1..1000}; do do_something $i& done-あまりにも多くの負荷 コマンドを並列に実行するにはどうすればよいのでしょうか? 今では通常for i in {1..1000}; do do_something $i& sleep 5; done、のようなハックを使用していますが、これは良い解決策ではありません。 更新2:受け入れられた回答をスクリプトに変換しました:http : //vi-server.org/vi/parallel #!/bin/bash NUM=$1; shift if [ -z "$NUM" ]; then echo "Usage: parallel <number_of_tasks> command" echo " Sets environment variable i …

0
並列スレッドファブリックコマンドのJenkinsリアルタイムコンソール出力[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックスーパーユーザーのために。 2年前に閉店しました。 次のような複数のホスト間で並行して実行されるPythonファブリックコマンドがあります。 $ fab --hosts=prod1.server,prod2.server,prod3.server --parallel copy_cache これにより、キャッシュが並行してリストされた本番サーバーにコピーされます。XXgigキャッシュディレクトリには数時間かかる可能性があるため、プロセス全体にわたって発生するさまざまなロギングがあります。コピーが並行して行われているため、コマンドラインで実行した出力は、次のようにリアルタイムでインターレースされます。 [prod1.server] Executing task 'nginx_cache_copy' [prod2.server] Executing task 'nginx_cache_copy' [prod3.server] Executing task 'nginx_cache_copy' 2014-09-16 10:02:29.688243 [prod1.server] INFO: rsyncing cache dir [prod1.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \ "repo/cache/." 2014-09-16 10:02:29.716345 [prod2.server] INFO: rsyncing cache dir [prod2.server] run: rsync -a -q …

6
Unixで並列コピーを実行する最良の方法は何ですか?
ネットワークファイルシステム上のフォルダーの内容をローカルコンピューターに定期的にコピーする必要があります。リモートフォルダーには多くのファイル(1000個)がすべて比較的小さくありますが、ネットワークオーバーヘッドのため、通常のコピーにcp remote_folder/* ~/local_folder/は非常に長い時間(10分)がかかります。 これは、ファイルが順番にコピーされるためだと考えています。各ファイルは、コピーが開始される前に前のファイルが完了するまで待機します。 このコピーの速度を上げる最も簡単な方法は何ですか?(コピーを並行して実行することだと思います。) コピーする前にファイルを圧縮しても、すべてが異なるサーバー上の異なるディスクに保存される可能性があるため、必ずしも高速化されるとは限りません。

5
コア数が多いほど、またはクロック速度が高いほど、コンピューターのパフォーマンスにとって有益ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 シリコンコストの削減と消費者ニーズの高まりに伴い、メーカーはクロックスピードとコア数の2つのうちいずれかを推進しているようです。物事が進行している方法では、プロセッサのクロック速度はもはや上昇しているようには見えませんが、プロセッサコアの数は増加しています。 数年前のことを覚えていますが、素晴らしく高速なシングルコアPentium 4プロセッサがありました。今日に至っては、シングルコアプロセッサを購入することさえできないと思います(携帯電話でもマルチコアプロセッサが増加していることは言うまでもありません)。状況は、数年で数百のコアを持つコンピューターを見つけるかもしれません(多くのオペレーティングシステムが既にサポートしていることは知っています)。 クロック速度を上げるか、コア数を増やすことは、システムの全体的なパフォーマンスにとってより有益ですか?すべてが一緒に実行されている数百のコアに入るか、現在の10倍のクロック速度になると仮定します(物理的に可能であるかどうかに関係なく)。 一般的なプロセス(暗号化、ファイル圧縮、画像/動画の編集など)の例として、どのようなものが最も効果的ですか?可能性のあるプロセスはありますが、現在は(技術的な理由により)並列性を高めても高速化されていませんか? 仮想プロセッサのコア設計(ワードサイズ、アドレスビット幅、メモリバスサイズ、キャッシュなど)がまったく同じであると想定しているため、ここでの変数はクロック速度とコアカウントのみです。繰り返しますが、私は1つ、2つ、または4つのコアについても話していません。数十から数百を想像してください。



3
しばらく実行が許可された後にプロセスを強制終了する
grepプロセスコマンドの実行または実行を許可する時間を制限したい。 例えば。以下を実行したい: grep -qsRw -m1 "parameter" /var しかし、grepコマンドを実行する前に、grepプロセスの存続期間を制限します(30秒以内など)。 どうすればいいですか? そして、もし可能であれば、どのようにして時間制限がないように戻すかリセットしますか。

3
マルチスレッドサーバーとしてのnetcat
netcatを使用して、次のような単純なサーバーを実行します。 while true; do nc -l -p 2468 -e ./my_exe; done これにより、誰でもポート2468でホストに接続し、「my_exe」と会話できます。 残念ながら、オープンセッション中に他の誰かが接続しようとすると、「接続拒否」エラーが発生します。これは、netcatが次の「while」ループまでリッスンしないためです。 netcatをマルチスレッドサーバーのように動作させる方法、つまり常に着信接続をリッスンする方法はありますか?そうでない場合、これに対するいくつかの回避策はありますか?

5
並列シェルループ
私は多くのファイルを処理したいのですが、ここにたくさんのコアがあるので、並行してやりたいです: for i in *.myfiles; do do_something $i `derived_params $i` other_params; done Makefile ソリューションは知っていますが、コマンドにはシェルグロビングリストにない引数が必要です。私が見つけたのは: > function pwait() { > while [ $(jobs -p | wc -l) -ge $1 ]; do > sleep 1 > done > } > これを使用するには、ジョブとpwait呼び出しの後に実行するだけで、パラメーターは並列プロセスの数を示します。 > for i in *; do > do_something $i & > …

1
Sort --parallelは並列化していません
私は、sort -uを使用してegrepを使用してファイルからプルされた一連の行を一意にしてから、それらをカウントしようとしています。行の約10%(アルファベット[ATCG]からすべて100文字)が重複しています。2つのファイルがあり、それぞれ約3ギグで、50%は関連性がないため、おそらく3億行になります。 LC_ALL=C grep -E <files> | sort --parallel=24 -u | wc -m LC_ALL = Cと-xを使用してgrepを高速化する場合、最も遅い部分がソートです。マニュアルページを読んだ結果、-parallel = nになりましたが、実験を行ってもまったく改善は見られませんでした。topを少し掘り下げたところ、-parallel = 24を使用しても、並べ替えプロセスは一度に1つのプロセッサでしか実行されないことがわかりました。 6つのコアと2つのスレッド/コアを備えた4つのチップがあり、合計48個の論理プロセッサーを提供します。/ proc / cpuinfoが長すぎるため、lscpuを参照してください。 Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 48 On-line CPU(s) list: 0-47 Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 4 …

1
AMDベースのラップトップでの並列プログラミング
私はAMD A8-6410 @ 2Ghz、中にR5 230MおよびRadeon HD 8550Mカードを搭載した8GB RAMを搭載したLenovo G50シリーズのラップトップを使っています。 Windows 10では、CPUとGPUのすべてのコアを使用してCLIベースのプログラム(具体的にはビデオ圧縮用のffmpeg)を実行することができますか。 もしそうならどうですか?



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.