誰かが私に言うことができます、高負荷システムでマルチスレッドを使用するためのアーキテクチャパターンまたは方法は何ですか?多重化アプローチについて読みましたが、他に何かありますか?ありがとう。
1 に答える
高負荷システムの意味は正確にはわかりませんが、商用サーバー環境を意味していると思います。最近のハイエンドサーバーチップの傾向は、多くの複製されたコアであり、それぞれがある程度のマルチスレッドを可能にします。特定のアプリケーションワークロードを考えると、それぞれがより適切な利点を提供するため、どのマルチスレッド手法が最適であるかを判断するのは困難です。
たとえば、SunUltraSPARCT1を取り上げます。8つのコアがあり、それぞれが単一の共有パイプラインで最大4つのスレッドをサポートできます。コアは、遅延なしでスレッドを切り替えることができます。このアプローチは、細粒度の縦断マルチスレッディングと呼ばれます。スレッドはサイクルごとに切り替えることができるため細粒度であり、スレッドはサイクル間でインターリーブされるため、一時的なものです。
同時マルチスレッディング(SMT)と呼ばれる別のアプローチでは、複数のスレッドからの命令を同時に同じパイプラインステージに置くことができます。この手法では、プロセッサがスーパースカラーである必要があります。つまり、単一のサイクルでパイプラインに複数の命令を発行できる必要があります。スーパースカラープロセッサは、サーバーファームやデータセンターが必要とする規模の経済に沿ったものではなく、より大きく、より電力を消費する傾向があるため、サーバー市場ではこれをあまり見ない傾向があります。