問題タブ [pipelining]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 変数の交換 (C++、プロセッサ レベル)
2 つの変数を交換したいと思います。私は、Read After Write ハザードを有利に使用してパイプラインを介して実行したいと考えています。
パイプライン:
自動ロックと警告フラグなしでコンパイラにそれを行うように (そして正確に) 指示するにはどうすればよいですか? 文献やキーワードを教えてください。
仕様:
-> ターゲット: マルチステーション (4 つ以上) パイプラインをサポートする最新のアーキテクチャ
-> これは特定の「問題」とは関係ありません。科学のためだけに。
現在のハードル:
- データハザードを無視する方法を知っている場合は、共有してください。
cpu-architecture - 5 ステージのパイプライン CPU を使用した特定の命令シーケンスに必要なクロック サイクル数は?
5 ステージのパイプライン化された CPU には、次の一連のステージがあります。
IF – 命令メモリからの命令フェッチ。
RD – 命令のデコードとレジスタの読み取り。
EX – 実行: データおよびアドレス計算用の ALU 演算。
MA – データ メモリ アクセス – 書き込みアクセスの場合、RD 状態でのレジスタ読み取りが使用されます。
WB – ライトバックを登録します。
次の一連の命令を検討してください。
各ステージに 1 クロック サイクルかかるとします。I1 のフェッチから始まる上記の一連の命令を完了するのにかかるクロック サイクル数は?
だからここに私の解決策があります。
このようにして、合計13サイクルを取得しています。オペランド転送は質問で明示的に言及されていないため、私はそれを想定しています。そのため、登録はWBステージ後にのみ利用可能になります. ただし、オプションは次のとおりです。
- A.8
- B.10
- C.12
- D.15
architecture - パイプライン処理とは どのように実行速度を向上させますか?
あなたを悩ませているなら、どんな質問もばかげているとは思いません。パイプライニングについて質問がありますか?
パイプライニングとは?
理論によると、「パイプラインを使用すると、CPU は最初の命令が完了する前に 2 番目の命令の実行を開始します。パイプラインを使用すると、マシン サイクルを完了するために 1 つの命令を待つ必要がないため、処理が高速になります。」
私の質問は、一度に 1 つの命令しか実行できないユニプロセッサ システムで作業していると考えているのですが、CPU がビジーなときに次の命令をフェッチする同時操作がどのように実行される可能性がありますか? 概念的な明確さが欠けている場合は、私に光を当ててください。同時処理を可能にする別のハードウェアがある場合、それは何ですか? 親切に説明してください。
http - ディレクトリを変更するときに新しい接続を作成するHTTPoverTCP
プログラムを使用してブラウザのアクティビティを監視しています。サイトにアクセスすると、TCP接続を介してHTTPリクエストが送信され、サーバーのルートディレクトリからHTMLファイルが取得され、その中の画像オブジェクトが取得されます。 HTMLファイルですが、それらは別のディレクトリにあるため、新しい接続が作成されます...これは、パイプライン処理中にHTTP / 1.1が行うことですか?それとも他の理由でこれを行っていますか?私はRFC2616を読んでいますが、RFCがこれらの新しい接続を作成する理由については触れていません。
redis - redisシャーディング、パイプライン、およびラウンドトリップ
Webアプリケーションで、ページをレンダリングするために、ユーザーハッシュの束を取得するなど、いくつかのredis呼び出しを行う必要があるとします。これを高速化するには、redisコマンドをMULTI / EXECセクションにまとめて、パイプラインを使用することで、多くのラウンドトリップを回避できます。ただし、データがたくさんあるか、書き込みを分散したいので、データをシャーディングする必要もあります。ハッシュ関数を使用するのではなく、役割に基づいてアプリケーションとシャードのデータレイアウトを明確に理解していない限り、異なるキーが異なるノードに存在する可能性があるため、パイプライン処理は機能しません。したがって、「概念的に一意」を完了するために多くのサーバーに接続するため、パフォーマンスをあまり低下させることなく、異なるサーバー間でデータをシャーディングするためのベストプラクティスは何ですか。仕事?答えは開発中のWebアプリケーションによって異なると思います。最終的にはいくつかのテストを実行しますが、他の人が私が述べたトレードオフにどのように対処したかを知ることは役に立ちます。
function - powershell で複数の関数をパイプライン化する
ユーザーは wrapper.ps1 というスクリプトを起動します。
次に、これを評価します
次に、次のような function1 があります。
$blah# は単純な文字列です。問題は、wrapper.ps1 を介して function1 にパイプラインする方法です。このスクリプトを次のように呼び出したいと思います。
wrapper.ps1 command1 ファイル名 |ft blah1,blah3
http - 複数の http 応答を書き込む際に制限はありますか?
HTTP パイプラインをサポートする netty を使用してHTTP プロキシを構築しています。したがってHttpRequest
、1 つのチャネルで複数のオブジェクトを受け取り、一致するHttpResponse
オブジェクトを取得しました。HttpResponse
書き込みの順序は、私が取得したものと同じですHttpRequest
。a が書き込まれた場合、がイベントを受け取るHttpResponse
と、次のものが書き込まれます。HttpProxyHandler
writeComplete
パイプラインは便利なはずです:
この質問に関しては、書き込み呼び出しの順序のみが重要ですが、応答全体が書き込まれるまでイベントHttpResponseWriteDelayHandler
を抑制する別の Handler ( ) を確実に作成します。writeComplete
これをテストするために、私network.http.proxy.pipelining
は Firefox で有効にして、多くの画像と接続を含むページ (ニュース ページ) にアクセスしました。問題は、プロキシのログが正常に送信されたと見なしているにもかかわらず、ブラウザーが一部の応答を受信しないことです。
いくつかの発見があります:
- この問題は、プロキシからサーバーへの接続がプロキシからブラウザへの接続よりも高速な場合にのみ発生します。
- この問題は、その接続でより大きな画像 (20kB など) を送信した後に、より頻繁に発生します。
304 - Not Modified
応答のみが送信された場合 (ブラウザのキャッシュを考慮してページを更新)、問題は発生しません。- 設定
bootstrap.setOption("sendBufferSize", 1048576);
以上では役に立たない writeComplete
イベントを送信する前に、応答本文のサイズに応じた時間枠をスリープ状態にHttpResponseWriteDelayHandler
することで問題は解決しますが、これは非常に悪い解決策です。
ios - HTTP パイプラインは iOS でサポートされていますか?
HTTP パイプライン処理が iOS でサポートされているのか、それともリクエストの本文を自分で作成する必要があるのか疑問に思っていますmultipart/mixed
。
http - 「HTTP パイプライン」は iOS6 で変更されていますか?
iOS5 の「HTTP パイプライン」は、Safari で Web ページをレンダリングするときに画像を切り替えるなど、いくつかの問題を引き起こす可能性があります。いくつかのサイトでこの問題が報告されています。たとえば、この問題の原因は、パイプライン処理によって「ブラウザーが応答を受信する前に、同じ接続で複数の HTTP 要求を送信できる」ことです。
私の質問は: これは iOS6 で解決または変更されましたか? そのような情報は見つかりません。