\r\n\r\n
コンピュータのシステムでは、複数のプロセスが同時に動作しています。OSはプロセスにリソースを割り当てるため、CPUの利用率を向上させることが必要である。マルチプロセッシングやマルチスレッド処理は、システム性能に影響を与える可能性があります。マルチプロセッシングとマルチスレッディングの大きな違いは、マルチプロセッシングが2つ以上のプロセッサを使って複数のプロセスを同時に実行するのに対し、マルチスレッディングはプロセス内の複数のスレッドを同時に実行する点である。マルチプロセッシングとマルチスレッド処理の違いについて説明します。
1. 概要と主な違い 2. マルチプロセッシングとは 3. マルチスレッドとは 4. マルチプロセッシングとマルチスレッドの類似点 5. 並列比較 - マルチプロセッシングとマルチスレッドの表形式 6. まとめ
マルチプロセシングとは、2つ以上のプロセッサを同時に使用して、複数のプロセスを実行することです。マルチプロセッシングの仕組みには、さまざまな種類があります。対称型マルチプロセッシングと非対称型マルチプロセッシングである。
図01:対称型マルチプロセッシング
対称型マルチプロセッシングでは、各プロセッサは独自のキャッシュを持ち、すべてのプロセッサは共有バスを使って接続されます。共有メモリがあるため、すべてのプロセッサが同じメモリアドレス空間を共有する。この方法の限界は、プロセッサの数が増えると、メインメモリへのアクセスが遅くなることです。プロセッサーは、システム上のどのようなプロセスでも自由に実行することができます。
非対称型マルチプロセッシングでは、プロセッサはマスター・スレーブ構造に従って実行され、マスタープロセッサはスレーブプロセッサにプロセスを割り当てる。
コンピュータシステム上で複数のプロセスが同時に動作している状態。プロセスとは、実行されているプログラムのことです。MS-Wordでの作業は、ひとつのプロセスとしてとらえることができます。MS-Word使用時の文法・スペルチェック。サブプロセスまたはサブタスクである。このように、メイン工程をサブ工程に分割しています。このサブプロセスはプロセスの単位であり、スレッドと呼ばれる。したがって、プロセスはタスクに似ており、スレッドはプロセスの単位である。
スレッドは、プログラムカウンタ、スレッドカウンタ、レジスタセット、スレッドID、スタックから構成されています。タスクごとにプロセスを作成するのは、効率的ではありません。そのため、1つのプロセスを複数のスレッドに分割しています。これらの複数のスレッドは、プロセス上で同時に実行されます。この概念を「マルチスレッド」と呼びます。
図02:マルチスレッドプロセス
マルチスレッドには多くの利点があります。プロセス内の各スレッドは、同じコード、データ、リソースを共有します。各スレッドに個別にリソースを割り当てる必要がないため、スレッドを利用することで経済的です。スレッドが失敗しても、プロセスには影響しない。プロセスと比較して、スレッドは軽量で、消費する資源も少ない。
マルチプロセッシングとマルチスレッド | |
マルチプロセシングとは、2つ以上のプロセスを使って複数の処理を同時に実行し、システムの性能を向上させることです。 | マルチスレッドとは、システムの性能を向上させるために、1つのプロセスで複数のスレッドを同時に実行することを指します。 |
インプリメンテーション | |
マルチプロセシングでは、複数のプロセスが同時に実行されます。 | マルチスレッド処理では、1つのプロセス内の複数のスレッドが同時に実行されます。 |
必要なリソース | |
処理量が増えれば、それだけリソースも必要になります。 | マルチスレッドは多くのリソースを必要としないため、より経済的です。 |
マルチプロセッシングやマルチスレッド処理は、コンピュータの性能に影響を与える可能性があります。マルチプロセッシングとマルチスレッドの違いは、マルチプロセッシングが2つ以上のプロセッサを使って複数のプロセスを同時に実行するのに対し、マルチスレッドでは1つのプロセス内の複数のスレッドが同時に実行されることです。高速化とCPU利用率の向上のために、複数のプロセッサでマルチスレッドを実装することができます。
この記事のPDF版をダウンロードし、引用の指示に従ってオフラインで使用することができます。 PDF版のダウンロードはこちら マルチプロセッシングとマルチスレッディングの相違点
1. "非対称型マルチプロセッシング"、ウィキペディア、ウィキメディア財団、2017年12月14日。ここで提供される 2. "Symmetric multiprocessing", Wikipedia, Wikimedia Foundation, 2017年12月11日.ここで3点、チュートリアル。"オペレーティングシステム - マルチスレッド", チュートリアルポイント, 15 Aug. 2017.こちらで提供 4. "マルチプロセシングとマルチスレッディングの違い" YouTube, YouTube, 2016年9月5日。ここで提供される 2. "Symmetric multiprocessing", Wikipedia, Wikimedia Foundation, 11 December 2017. 3. Essentials, Tutorial Point."オペレーティングシステム - マルチスレッド"4. "マルチプロセシングとマルチスレッドの違い", YouTube, YouTube, 2016年9月5日.