Parallel-computer-architecture-introduction

提供:Dev Guides
移動先:案内検索

並列コンピューターアーキテクチャ-はじめに

過去50年間で、コンピューターシステムのパフォーマンスと機能は大きく発展しました。 これは、VLSI(Very Large Scale Integration)テクノロジーのおかげで可能になりました。 VLSIテクノロジーにより、多数のコンポーネントを1つのチップに収容し、クロックレートを上げることができます。 したがって、一度により多くの操作を並行して実行できます。

並列処理は、データの局所性とデータ通信にも関連付けられています。 Parallel Computer Architecture は、すべてのリソースを整理して、テクノロジーとコストによって与えられる制限内でパフォーマンスとプログラマビリティを最大化する方法です。

なぜ並列アーキテクチャなのか?

並列コンピューターアーキテクチャは、より多くのプロセッサを使用することにより、コンピューターシステムの開発に新しい次元を追加します。 原則として、多数のプロセッサを使用することで達成されるパフォーマンスは、特定の時点での単一のプロセッサのパフォーマンスよりも高くなります。

アプリケーショントレンド

ハードウェア容量の進歩に伴い、パフォーマンスの高いアプリケーションの需要も増加し、コンピューターアーキテクチャの開発が要求されました。

マイクロプロセッサ時代以前は、エキゾチックな回路技術と機械構成により高性能なコンピューターシステムが得られ、高価になりました。 現在、複数のプロセッサを使用することで高性能のコンピューターシステムが得られ、最も重要で要求の厳しいアプリケーションは並列プログラムとして記述されています。 したがって、パフォーマンスを向上させるには、並列アーキテクチャと並列アプリケーションの両方を開発する必要があります。

アプリケーションのパフォーマンスを向上させるには、スピードアップが考慮される重要な要素です。 pプロセッサの*スピードアップ*は次のように定義されます-

単一の修正された問題の場合、

科学技術計算

並列アーキテクチャは、科学計算(物理学、化学、生物学、天文学など)およびエンジニアリングアプリケーション(リザーバーモデリング、気流解析、燃焼効率など)に不可欠になっています。 ほとんどすべてのアプリケーションで、計算出力の視覚化に対する大きな需要があり、その結果、計算速度を向上させるための並列計算の開発が求められています。

商用コンピューティング

商用コンピューティング(ビデオ、グラフィック、データベース、OLTPなど)では、指定された時間内に大量のデータを処理するために高速コンピューターも必要です。 デスクトップは、並列プログラムとほぼ同じマルチスレッドプログラムを使用します。 これは、並列アーキテクチャの開発を要求します。

技術動向

テクノロジーとアーキテクチャの開発に伴い、高性能アプリケーションの開発に対する強い需要があります。 実験により、並列コンピューターは、開発された最大限の単一プロセッサーよりもはるかに高速に動作できることが示されています。 さらに、並列コンピューターは、技術とコストの制限内で開発できます。

ここで使用される主な技術はVLSI技術です。 したがって、現在では、同じエリアにトランジスタ、ゲート、および回路をより多く取り付けることができます。 基本的なVLSIフィーチャサイズの縮小により、それに比例してクロックレートも向上しますが、トランジスタの数は正方形として増加します。 一度に多くのトランジスタを使用すると(並列性)、クロックレートを上げるよりもはるかに優れたパフォーマンスが期待できます。

技術動向は、基本的なシングルチップビルディングブロックがますます大きな容量を提供することを示唆しています。 したがって、単一のチップに複数のプロセッサを配置する可能性が高まります。

建築トレンド

テクノロジーの開発により、何が実現可能かが決まります。アーキテクチャは、テクノロジーの可能性をパフォーマンスと機能に変換します。 *平行度*と*局所性*は、より多くのリソースとより多くのトランジスタがパフォーマンスを向上させる2つの方法です。 ただし、これら2つの方法は同じリソースを求めて競合します。 複数の操作が並行して実行されると、プログラムの実行に必要なサイクル数が削減されます。

ただし、各同時アクティビティをサポートするにはリソースが必要です。 ローカルストレージを割り当てるにはリソースも必要です。 最高のパフォーマンスは、リソースを使用してある程度の並列性とある程度の局所性を利用する中間アクションプランによって達成されます。

一般的に、コンピュータアーキテクチャの歴史は、次の基本的な技術を持つ4つの世代に分けられています-

  • 真空管
  • トランジスター
  • 集積回路
  • VLSI

1985年までは、ビットレベルの並列処理の増加がその期間の大半を占めていました。 4ビットのマイクロプロセッサと、それに続く8ビット、16ビットなど。 完全な32ビット操作の実行に必要なサイクル数を減らすために、データパスの幅が2倍になりました。 後に、64ビット操作が導入されました。

  • 命令レベルの並列処理*の成長は、80年代半ばから90年代半ばを支配しました。 RISCアプローチは、命令処理のステップをパイプライン処理するのが簡単で、平均してほぼすべてのサイクルで命令が実行されることを示しました。 コンパイラ技術の成長により、命令パイプラインの生産性が向上しました。

80年代半ば、マイクロプロセッサベースのコンピューターは

  • 整数処理ユニット
  • 浮動小数点ユニット
  • キャッシュコントローラー
  • キャッシュデータ用のSRAM
  • タグストレージ

チップの容量が増加すると、これらのコンポーネントはすべて単一のチップに統合されました。 したがって、単一のチップは、整数演算、浮動小数点演算、メモリ演算、および分岐演算用の個別のハードウェアで構成されていました。 個々の命令をパイプライン処理する以外に、一度に複数の命令をフェッチし、可能な場合は常に異なる機能ユニットに並列に送信します。 このタイプの命令レベルの並列処理は、*スーパースカラー実行*と呼ばれます。