問題タブ [multiprocessor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
subroutine - abaqus サブルーチンを使用して複数のプロセッサ (cpus) でファイルを読み取るときの間違い
abaqus サブルーチンを使用して複数のプロセッサ (cpus) でファイルを読み取るときにエラーが発生しました。このエラーに対処するのを手伝ってくれませんか。どうもありがとう
ファイルから変数を読み取りたいのですが、1 つの CPU を使用している場合はすべて問題ありませんが、複数の CPU を使用している場合はエラーが発生し、すべての CPU が同じコマンドを繰り返しているようです。
たとえば、次は読み取るファイルの内容で、ファイル名は data.dat です。
*matID ,2,1
131000.000、8880.000、8180.000
私のサブルーチンは次のように表示されます: character*12 check1 integer check2,error OPEN(10,file='data.dat',status='old',iostat=error)
if (error.EQ.0) then read(10, *,iostat=error) check1,Nm end if
close(10)
print *,'Nm=',nm,error print *,'**'
2 つの CPU を使用すると、出力結果は次のようになります。
Nm= 2 0
Nm= 8880 0
**
**
python - 結果が必要になった後に join() プロセスを呼び出すのはなぜですか?
このコードがどこかに投稿されているのを見て、それがどのように適切に機能するかを理解するのに苦労していました:
キューに出力を問い合わせる前に、すべてのプロセスが終了するのを待つのが理にかなっているように思えます。すべてのプロセスを開始した直後にキューを照会する際に、キューにすべての出力が含まれていることをどのように確認できますか? (つまり、ワーカーが完了するのにかかる時間が、すべてのプロセスを開始してからキューを調べ始めるのにかかる時間よりも相対的に長い場合はどうなるでしょうか)
少し関連したもう 1 つの質問: Python のドキュメントには、「プロセスは何度も参加できる」と記載されています。プロセスに複数回参加する必要があるのはなぜですか? すでに終了している場合、再び終了したことを確認する目的は何ですか?
python - tornado プロセス間で websockets オブジェクトを共有する
複数のプロセスで tornado サーバーを起動します。
4 プロセッサ システムを使用していると仮定すると、4 つのプロセスが作成されるはずです。接続するすべてのクライアントに対して、websocket (WS) 接続を開始します。プロセス 1 のクライアント A とプロセス 2 のクライアント B の間でメッセージをブロードキャストしたいので、プロセス間で websocket オブジェクトにアクセスできるようにしたいと考えています。私は mongo サーバーを持っており、私が考えた解決策はクライアントの WS をピクルすることでした。 1 mongo に保存し、プロセス 2 を取得してこれを取得し、ピクルを解除してから WS を使用します。ただし、選択したオブジェクトをプロセス間で共有できるとは思いません。
マルチプロセスシステムでトルネードプロセス間でWSを共有する最良の方法を誰かが提案できますか?
ありがとう
multithreading - マルチスレッドカーネルはどのように機能しますか?
Linuxカーネルはマルチスレッドであり、各コアで複数のスレッドが同時に実行される可能性があることを読みました。単一の OS がすべてのプロセッサ/コアを管理する SMP (対称型マルチプロセッシング) 環境では、マルチスレッドはどのように実装されますか?
カーネル スレッドが生成され、それぞれがコアの管理専用であるということです。もしそうなら、これらのカーネルスレッドはいつ作成されますか? ブートストラップが完了し、アプリケーション プロセッサがブートストラップ プロセッサによって有効にされた直後の kern_init() での起動中ですか。
各コアには、すべてのカーネル スレッドによって共有される共通プールからのタスクを管理する独自のスケジューラ (コアのカーネル スレッドによって実装される) がありますか?
別のカーネルスレッドが関心を持つ可能性のあるイベントを通知する必要がある場合、異なるコアに存在するカーネルスレッド間の (ダイレクト) メッセージングはどのように行われますか?
また、システムタイマー割り込みごとに大きなカーネルロックを取得し、各コアで何を実行するかを決定/スケジュールする1つのカーネルスケジューラを持つ特定の選択されたコアがあるかどうかも考えました。
したがって、実装の詳細を明確にしていただければ幸いです。よろしくお願いします。
c - C コードによる先着順サーブ マルチプロセッサ (6 プロセッサ) スケジューラ
私は FCFS スケジューラ アルゴリズムを開発しています。ただし、1 つのプロセッサでしか機能しません。タスクを 6 つのプロセッサに分割するにはどうすればよいですか? 待機キュー、準備完了キューなどが必要です。
各プロセッサは個別に動作する必要があり、1 つのプロセッサがタスクを終了すると、すべてのプロセッサが終了するのを待たずに次のタスクを実行します。
performance - Python3 は自動的にすべてのコアを使用しますか?
Python3で奇妙なパフォーマンス「問題」/「ゲイン」に遭遇しました。次のコードは、5 つの重み行列を読み込み、それらをかなり大きなデータセットに適用します。そうしている間に、各行がディスクに書き込まれます。
このプログラムを実行すると、8 つのプロセッサすべてが 100% 占有されます。
Pythonは複数のスレッドでプログラムを自動的に実行しますか? もしそうなら、これに関するドキュメントはありますか? そうでない場合、このプログラムが octcore 上の 8 つのプロセッサすべてを消費するのはどうしてでしょうか?
python - Python でネストされた for ループを並列化する方法
ネストされたループを含むこの関数があります。コードをより高速に実行するには、並列化する必要があります。
これを行う方法はありますか X は、ベクトルを含むリストのリストを含む配列です。
c - pthread API はマルチプロセッサー環境で同期を提供しますか?
pthread API の勉強を始めたばかりです。私はさまざまな本や Web サイトを使用してきましたが、それらすべてのレポートから判断すると、pthread 同期関数 (mutex を含む関数など) はすべて、ユニプロセッサ環境とマルチプロセッサ環境の両方で機能します。しかし、これらの情報源のどれもそれを明示的に述べていないので、それが実際に当てはまるかどうかを知りたかったのです (もちろん、そう信じています。100% 確信したかっただけです)。
では、異なる CPU で実行されている 2 つのスレッドpthread_mutex_lock()
が同時に同じミューテックスでロック (例: ) を呼び出した場合、このルーチンの実行は並列ではなく順次実行されるのでしょうか? そして、最初のロックが終了し、それを呼び出したスレッドがクリティカル セクションへのプライベート アクセスを取得した後、別の CPU 上の別のスレッドによって実行されたロックにより、後者のスレッドが中断されますか?