超線形スピードアップとはどういう意味ですか?実際に超線形スピードアップを行うことは可能ですか?


9

並列計算では、スピードアップの方程式は

1s+1sp

しかし、超線形スピードアップとはどういう意味ですか?それは理論的なものですか?方程式で説明してもらえますか?


「超線形スピードアップ」という用語に出くわしたのはどのような状況ですか。
David Richerby 16

1
@DavidRicherbyこれは、高性能コンピューティングコミュニティではかなり一般的な用語です。
アントントルノフ2016

@AntonTrunovわかりました。しかし、私たちの多くはハイパフォーマンスコンピューティングコミュニティに参加していないため、これらの単語は質問に表示されません。他の文脈では、「線形スピードアップ」は他のものを意味します。
David Richerby 16

@DavidRicherby OPは「並列コンピューティング」について言及しています。並列ハードウェアとソフトウェアは高性能を達成するための手段にすぎないため、HPCの人々は、「並列コンピューティング」ではなく「HPC」という用語を好んで使用しています。
アントントルノフ16

回答:


12

方程式を使って:そうではありません。

超線形スピードアップは、通信プロセスを考慮した後でも単純に計算されたスピードアップを超えることから生じます(フェージングですが、これはまだボトルネックです)。

たとえば、実行にかかるシリアルアルゴリズムがあるとします。あなたは持っているので、素朴な高速化があり、コアを、またはそれを取るが、それは、アカウントメモリ転送、アルゴリズムに若干の変更、並列化の時間にあなたの方程式の撮影のように計算されるべきです。1t10241024xt/1024

スピードアップが1024xよりも低くする必要があり、時にはスピードアップが大きい起こるので、我々はそれを呼び出す。superlinear

それはどこから来たのですか?
いくつかの場所から:キャッシュの使用(レジスタ、メインメモリ、または大容量ストレージに適合し、非常に多くの場合、処理ユニットがサブタスクごとに全体的に多くのレジスタを提供します)、メモリヒットパターン、単純に優れた(またはわずかに異なる)アルゴリズム、シリアルの欠陥コード。
たとえば、結果を求めてスペースを検索するランダムプロセスは、一度により多くのスペースをカバーするサーチャーに分割されるため、ソリューションをより速く見つける可能性が高くなります。副産物があります(バブルソートのように要素を交換してGPUに切り替えると、すべてのペアが一度に交換されますが、シリアルはポイントまでしか交換されません)。1024

分散システムでは、通信はさらにコストがかかるため、プログラムはメモリ使用量をローカルにするように変更されます(メモリアクセスも変更され、順次アプリケーションとは異なる方法で問題が分割されます)。

そして最も重要なのは、逐次プログラムが並列バージョンと理想的に同じではないということです-テクノロジー、環境、アルゴリズムなどが異なるため、それらを比較することは困難です。

「並列計算入門」第2版、Ananth Grama、2003年からの抜粋

理論的には、高速化は処理要素の数を超えることはできません。 最良の順次アルゴリズムが単位の時間で単一のプロセッシングエレメントの特定の問題を解決する場合、以上の時間を費やさなければ、プロセッシングエレメントでスピードアップが得られます。各処理要素が問題の解決に費やす時間未満の場合にのみ 、超える高速化が可能です。 この場合、単一のプロセッシングエレメントがプロセッシングエレメントをエミュレートし、未満の時間単位で問題を解決できます。p
TsppTs/p
pTs/p
pTs
スピードアップは、定義上、最良の逐次アルゴリズムに基づいて計算される ため、これは矛盾です

したがって、このコンテキストでの「スーパーリニア」という名前は、スピードアップの定義に由来しています。


0

私の素人の説明はそれがどのように機能するかの想像力を助けることができます。

HPC相互接続アーキテクチャーがコアの内部状態間の参照を可能にする場合、特定のタイプのアルゴリズムは超線形スピードアップにつながります。その理由は情報(および熱力学)理論であり、以下の説明で簡単に説明できます。

それぞれに3ビットの可能な状態を含む2つのシステムを考えます。

011 そして 101

このシステムの可能な状態の最大数は2 * 2 ^ 3 = 16です。

次に、これらの2つのアンサンブルを組み合わせて、1つの組み合わせを作成します。可能な状態空間は6ビットです。

011101

このシステムの可能な状態の最大数は2 ^ 6 = 64です。結合システムでは、64/16 = 4倍のエントロピー増加が可能です。

コアが仮想的により多くの相互参照を持つことができるため、より多様な内部状態を持つ集合の構成は、指数関数的に大きな「スピードアップ」につながります。

化学では、システムが結合するとエネルギーが放出されます(核融合と考えてください)。そのエネルギーは、複合システムのより多くの状態に対処する可能性からきています。

私が読んだソースはすべて、異なるコアの状態ビット間で相互参照する機能がなかった、孤立したコアの並列アルゴリズムを説明したものでした。結合された状態のエントロピー増加の観点から、超線形の高速化がどのように可能であるかを想像できます。

情報理論の詳細については、この動作の正確な熱力学的性質に関するWikipediaの記事https://en.wikipedia.org/wiki/Gibbs_paradoxの「混合パラドックス」を参照してください

これは、人間と人間のコミュニケーションに哲学的な意味合いがあり、テキストを入力して本を読むことと比べて、生の音声会話の重要性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.