Autonomous decentralized system とは

自律分散システム(ADS)は、独立して動作するように設計されているが、システムの全体的な目標を達成するために相互に作用することができるモジュールまたはコンポーネントで構成された分散システムです。この設計パラダイムは、コンポーネントが故障した場合でもシステムが機能し続けることを可能にします。また、システムの稼働中も保守や修理を実行することができます。自律分散型システムには、産業用生産ライン、鉄道信号システム、ロボット技術など、さまざまなアプリケーションがあります。
ADSは、最近、制御アプリケーションからサービスアプリケーションおよび組み込みシステム、すなわち自律分散型サービスシステムおよび自律分散型デバイスシステムに拡張されている。

Cache hierarchy とは

キャッシュ階層、またはマルチレベルキャッシュは、データをキャッシュするためのアクセス速度の変化に基づいてメモリストアの階層を使用するメモリ設計プロパティを指します。高度に要求されたデータは、高速アクセスメモリストアにキャッシュされます。この階層構造は、メモリストアシステム全体が高速メモリアクセスを必要とすることなく高速アクセスが可能であることを意味し、これは高価になる可能性がある。
この設計は、CPUコアがメインメモリアクセスのメモリレイテンシを隠す必要のある高速クロックで動作するように設計されていました。現在、マルチレベルキャッシュは、コンピュータシステムのメインメモリに常駐するデータへの高速アクセスを提供する最適なソリューションです。メモリへのアクセス時間は、CPUコアのパフォーマンスのボトルネックとなり、レイテンシを減らしてCPUクロックを高速化するために階層型キャッシュ構造を使用することで軽減できます。

Load/store architecture とは

コンピュータ・エンジニアリングでは、ロード/ストア・アーキテクチャは命令をメモリ・アクセス(メモリとレジスタ間のロードとストア)とALU操作(レジスタ間でのみ発生)の2つのカテゴリに分割する命令セット・アーキテクチャです。
PowerPC、SPARC、RISC-V、ARM、およびMIPSなどのRISC命令セットアーキテクチャは、ロード/ストアアーキテクチャです。
例えば、ロード/ストア手法では、ADD演算のオペランドとデスティネーションの両方がレジスタになければなりません。これは、ADD演算のオペランドの1つがメモリにあり、もう1つがレジスタにあるレジスタメモリアーキテクチャ(たとえば、x86などのCISC命令セットアーキテクチャ)とは異なります。
最も初期のロードストアアーキテクチャの例は、CDC 6600でした。ほとんどのベクタプロセッサ(多くのGPUを含む)はロード/ストア手法を使用しています。

Directory-based cache coherence とは

コンピュータ・エンジニアリングでは、ディレクトリ・ベースのキャッシュ・コヒーレンスは、キャッシュ・コヒーレンス・メカニズムの一種であり、スケーラビリティのためにスヌーピー・メソッドの代わりにキャッシュを管理するためにディレクトリが使用されます。スヌーピーバスベースの方法は、放送の使用のために貧弱に拡大する。これらのメソッドは、ディレクトリシステムのパフォーマンスとスケーラビリティの両方をターゲットにするために使用できます。

Memory hierarchy とは

コンピュータアーキテクチャにおいて、メモリ階層は、応答時間に基づいてコンピュータストレージを階層に分離する。応答時間、複雑さ、および容量は関連しているため、レベルはパフォーマンスと制御技術によっても区別されます。メモリ階層は、コンピュータのアーキテクチャ設計、アルゴリズムの予測、および参照の局所性を含むより低いレベルのプログラミング構造のパフォーマンスに影響します。
高性能のための設計は、メモリ階層の制約、すなわち各構成要素のサイズおよび能力を考慮する必要がある。様々な構成要素の各々は、各メンバmiが典型的に階層の次の最も高いメンバmi + 1よりも小さく高速であるメモリ階層(m1、m2、…、mn)の一部として見ることができる。より高いレベルで待機を制限するために、より低いレベルは、バッファを充填し、次に転送を活性化するためのシグナリングによって応答する。
4つの主要なストレージレベルがあります。
 内部 – プロセッサのレジスタとキャッシュ。メイン – システムRAMカードとコントローラカード。オンラインマスストレージ – セカンダリストレージ。オフラインバルクストレージ – 第三およびオフラインストレージ。
これは一般的なメモリ階層構造です。多くの他の構造が有用である。例えば、ページングアルゴリズムは、コンピュータアーキテクチャを設計する際の仮想メモリのレベルと見なすことができ、オンラインストレージとオフラインストレージとの間のニアラインストレージのレベルを含むことができる。

Stanford DASH とは

スタンフォードDASHは、1980年代後半にスタンフォード大学のAnoop Gupta、John L. Hennessy、Mark Horowitz、Monica S. Lamが率いるグループによって開発されたキャッシュコヒーレントマルチプロセッサでした。これは、Stanfordで設計された1組のディレクトリボードを最大16台のSGI IRIS 4D Power Seriesマシンに追加し、Stanfordで修正したバージョンのTorus Routing Chipを使用してメッシュトポロジでシステムを配線することに基づいていました。スタンフォードで設計されたボードは、ディレクトリベースのキャッシュ一貫性プロトコルを実装し、スタンフォードDASHが最大64プロセッサの分散共有メモリをサポートできるようにしました。スタンフォードDASHは、リリースの一貫性を含む弱いメモリ一貫性モデルをサポートし、それを公式化するのにも役立った。スタンフォードDASHはスケーラブルなキャッシュ・コヒーレンスを含む最初の運用マシンであったため、その後のコンピュータサイエンスの研究に加えて、市販のSGI Origin 2000にも影響を与えました。スタンフォードDASHは、国際シンポジウム「コンピュータアーキテクチャー」からの25周年記念論文集いくつかのコンピュータサイエンスブックは、エジンバラ大学によってシミュレートされており、現代コンピュータ科学のクラスの事例として使用されています。

Approximate computing とは

近似計算は、保証された正確な結果ではなく、おそらく不正確な結果を返す計算技術であり、近似結果がその目的にとって十分であるアプリケーションに使用することができる。そのような状況の一例は、特定の検索クエリに対して正確な回答が存在しない可能性のある検索エンジンに対するものであり、したがって、多くの回答が受け入れられる可能性がある。同様に、ビデオアプリケーションにおけるいくつかのフレームの時折の落ち込みは、人間の知覚上の限界のために検出されない可能性がある。近似計算は、多くのシナリオでは、正確な計算を実行するには大量のリソースが必要ですが、有界近似を使用するとパフォーマンスとエネルギーが不均衡になり、許容可能な結果精度が得られるという観測に基づいています。たとえば、k-meansクラスタリングアルゴリズムでは、分類精度が5%低下するだけで、完全に正確な分類に比べて50倍の省エネルギーを実現できます。
近似計算における重要な要件は、重要なデータ(例えば、制御演算)を近似することは、プログラムのクラッシュまたは誤った出力などの致命的な結果につながる可能性があるので、非クリティカルなデータにのみ近似を導入できることである。

Manycore processor とは

Manycoreプロセッサは、より単純で独立した多数のプロセッサコア(例えば、10,100、または1,000)を含む、高度な並列処理用に設計された専門のマルチコアプロセッサです。 Manycoreプロセッサは、組み込みコンピュータと高性能コンピューティングで幅広く使用されています。 2018年6月現在、世界で2番目に高速なスーパーコンピュータ(TOP500リストにランクされている)である中国Sunway TaihuLightは、それぞれが256コアを含む40,960のSW26010 manycoreプロセッサーから性能を得ています。

DOPIPE とは

DOPIPE並列処理は、ループ内のステートメントをパイプライン処理することによってループレベル並列処理を実行する方法です。パイプライン化された並列性は、ループ、関数、アルゴリズム段階のような異なる抽象レベルで存在する可能性があります。並列性の程度は、この概念を最大限に活用するプログラマの能力に依存します。また、独立したタスクを特定して分離し、それらを並列に実行するような要因にも依存します。

Instruction window とは

コンピュータアーキテクチャにおける命令ウインドウは、投機的プロセッサにおいて不規則に実行することができる命令セットを指す。
特に、従来の設計では、命令ウィンドウは、再順序バッファ(ROB)内にあるすべての命令からなる。そのようなプロセッサでは、命令ウィンドウ内の任意の命令は、そのオペランドが準備完了状態で実行されることができる。アウト・オブ・オーダー・プロセッサーは、その名前が派生している可能性がある(若い命令のオペランドが古い命令のオペランドの前にある場合)ことがあるため、その名前が導出されます。
命令ウィンドウは有限のサイズを持ち、他の命令がウィンドウを離れるとき(通常はリタイアまたはコミットと呼ばれる)にのみ新しい命令がウィンドウに入ることができます(通常ディスパッチまたは割り付けと呼ばれます)。命令はプログラム命令で命令ウィンドウに入り、命令ウィンドウから離れることができ、命令はウィンドウ内で最も古い命令であり、完了したときにのみそのウィンドウを離れることができる。したがって、命令ウインドウは、命令が不規則になるスライディングウインドウとして見ることができる。ウィンドウ内のすべての実行は、割り込みのような非同期例外処理をサポートするために、コミットされるまで、投機的(すなわち、副作用はCPUの外部に適用されない)である。
このパラダイムは、制限されたデータフローとしても知られています。これは、ウィンドウ内の命令が必ずしもプログラムの順序ではなくデータフローの順序で実行されるためですが、これが発生するウィンドウは制限されています(有限のサイズ)。
命令ウィンドウは、パイプライン処理とは異なる。すなわち、インオーダパイプライン内の命令は、命令ウィンドウ内に従来理解されていた意味ではなく、互いに順不同で実行することができないからである。アウト・オブ・オーダー・プロセッサは、通常、パイプラインの周りに構築されるが、パイプライン・ステージの多く(例えば、フロントエンド命令フェッチおよびデコード・ステージ)は、命令ウィンドウの一部とはみなされない。