1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【計算科学】並列/並行処理周りの用語を整理する

Posted at

これは何?

計算科学の並列処理周りの用語を整理しました。


並列処理と並列処理

  • 逐次処理: 処理中に一つずつしか処理を実行しない
  • 並列処理: 同時に2つ以上の処理を実行する --> 複数のプロセッサが複数の処理を実行している。
  • 並行処理: 同時に実行状態を保てる状態を利用して,待ち時間で別の処理を実行する。 --> 1つのプロセッサが複数の処理をしている状態。

並行処理の例: パイプライン処理

  • 1つの命令を細かく分解し,それらの処理を一操作ずつずらして行う。

スーパーコンピュータは何故スーパーかにわかりやすい図があったので貼っておく。
image.png


プロセス並列とスレッド並列

そもそもプロセスとスレッドとは

What is the difference between a process and a thread?より

Here is the analogy I use in Linux Kernel Development. Processes are the abstraction of running programs: A binary image, virtualized memory, various kernel resources, an associated security context, and so on. Threads are the unit of execution in a process: A virtualized processor, a stack, and program state. Put another way, processes are running binaries and threads are the smallest unit of execution schedulable by an operating system's process scheduler.
私がLinuxカーネル開発で使っている例えはこうだ。プロセスとは、実行中のプログラムを抽象化したものだ: バイナリ・イメージ、仮想化メモリ、さまざまなカーネル・リソース、関連するセキュリティ・コンテキストなどだ。スレッドはプロセスの実行単位である: 仮想化されたプロセッサ、スタック、そしてプログラムの状態。別の言い方をすれば、プロセスは実行中のバイナリであり、スレッドはオペレーティング・システムのプロセス・スケジューラによってスケジューリング可能な実行の最小単位である。

  • プロセスとは実行中のプログラウを抽象化したものだ。
  • スレッドはプロセスの実行単位である。

プロセス並列とスレッド並列の違い

  • プロセス並列: 複数のプロセスによって並列化を行う
  • スレッド並列: 1つのスレッドの中で並列化を行う。

計算科学入門第7回 MPIによる並列計算にわかりやすい図があったので貼っておく

image.png

ハイブリッド並列

プロセス並列とスレッド並列を同時に行う。

image.png

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?