実装の困難さとは? わかりやすく解説

実装の困難さ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/13 05:20 UTC 版)

Peer to Peer」の記事における「実装の困難さ」の解説

実装難易度が高い。特に、エンドユーザーコンピューター機器PCである場合には、その電源オン期間が不確定な場合多く機器頻繁な脱退長期不在期間考慮したアルゴリズム必要になる参加脱退激しノードが居ることに対してどう対処するかは「Churn問題」という呼び方をする。機器PCである場合は各PC処理能力転送能力保存容量などの条件千差万別であり、できるだけ多く種類PCで動くようにするには注意深い実装必要になる

※この「実装の困難さ」の解説は、「Peer to Peer」の解説の一部です。
「実装の困難さ」を含む「Peer to Peer」の記事については、「Peer to Peer」の概要を参照ください。


実装の困難さ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/16 13:56 UTC 版)

ソフトウェアパイプライン」の記事における「実装の困難さ」の解説

前処理後処理必要性は、ソフトウェアパイプライン実装する上で難しい点の一つである。例における前処理18命令で、ループ自体の3倍も大きい。また後処理18命令である。すなわち、前処理後処理合わせてループ自体より6倍大きい。この例ではまだループの展開を試みるほどではないが、ソフトウェアパイプライン速度メモリ使用量の点でトレードオフを必要とする。コードサイズが大きくなりすぎると、キャッシュ性能相対的に下がるために実行速度影響与える。 さらに困難な点は、多くアーキテクチャではほとんどの命令レジスタ引数用いており、特定のレジスタ命令ハードコードされている点である。つまり、多くアーキテクチャでは、「レジスタX の内容レジスタY の内容乗算し、結果レジスタZ に格納せよ」(X, Y, Z をレジスタメモリから取得した数値とする)といった命令を使うことはできない。このことは従来アーキテクチャ上でソフトウェアパイプライン効率的に実装できない理由としてしばしば取り上げられるMonica Lam論文 A Systolic Array Optimizing Compiler(1989) (ISBN 0-89838-300-5) の中でこの問題対す優れた解決方法示している。彼女はこの方法を Modulo Renaming と呼んでいる。この方法では、ループ本体ループスケジュールされた後に複製し、同じ変数異なる値に対して両方同時に生存する必要がある場合には)異なレジスタ使用できるようにする。最も簡潔な例として、命令 A(i) と命令 B(i) が同時に発行でき、B(i) のレイテンシ2 サイクルであるとする。パイプライン化されコード下記のようになる。 A(i+2); B(i) ループ本体コードレジスタ割り当てる際、A(i+2) の結果が2回のループの間ずっと生存させている必要がある。A(i+2) の結果と B(i) の入力に同じレジスタ用いると、誤った結果生じる。 しかし、ループ本体複製すると、問題解決できる。 A(i+2); B(i) A(i+3); B(i+1) ここで命令 A(i+2) と命令 A(i+3) に異なレジスタ割り当てることができる。詳細にr1 = A(i+2); B(i) = r1 r2 = A(i+3); B(i+1) = r2 i = i + 2 各命令出力レジスタ書き込む前に入力レジスタ読み込むことが保証できれば、このコード正しく動作する複製されループ本体コード最初では、r1 が A(i+2) の結果保持している。i が2増加するので、これは複製されループ繰り返し部分では A(i) の値である。 もちろんコード複製により前処理後処理と同様コードサイズが増加し命令キャッシュへの圧迫大きくなる。にもかかわらず十分な命令レベル並列化可能なアーキテクチャで、ループ回数大き場合適用すれば、コードサイズを増加させても十分価値がある高い性能容易に発揮することができる。

※この「実装の困難さ」の解説は、「ソフトウェアパイプライン」の解説の一部です。
「実装の困難さ」を含む「ソフトウェアパイプライン」の記事については、「ソフトウェアパイプライン」の概要を参照ください。

ウィキペディア小見出し辞書の「実装の困難さ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

','','','','','','','','','','','','','','','','','',''];function getDictCodeItems(a){return dictCodeList[a]};

すべての辞書の索引

「実装の困難さ」の関連用語




実装の困難さのお隣キーワード

実装におけるセキュリティ

実装による分類

実装に固有の課題

実装に必要な考え方

実装のまずさ

実装の例

実装の困難さ

実装の変遷

実装の工夫

実装の方法

実装の詳細

実装の透明性

実装の進捗状況

検索ランキング
';function getSideRankTable(){return sideRankTable};

   

英語⇒日本語
日本語⇒英語
   



実装の困難さのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのPeer to Peer (改訂履歴)、ソフトウェアパイプライン (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS