LabVIEWでは、シェア変数に書き込んだデータは、8キロバイトバッファに一時的に保存されます。バッファが満杯になるか、10ミリ秒が経過すると、データはネットワークに送信されます。データパケットがネットワークに送信されるたびにオーバーヘッドが発生するため、この設計では送信するデータパケットを減らすことによりスループットを高めます。

ただし、この設計では、シェア変数へ書き込むデータが8キロバイトよりも小さい場合にレイテンシが増加します。10ミリ秒の遅延を解消してレイテンシを最小化するには、次の図に示されているように、シェア変数にデータを書き込んだ後で「シェア変数データを排出」VIを使用してすべてのシェア変数データをネットワークへ即時送信します。

前述の図ではシェア変数ノードが書き込んだデータが排出されますが、他の方法で書き込んだシェア変数データを排出することもできます。たとえば、プログラム的にシェア変数を書き込む場合は、「変数を書き込む」関数の後で「シェア変数データを排出」VIを使用します。

メモ 「シェア変数データを排出」VIを使用すると、ネットワークに転送されていないシェア変数データ (他のアプリケーション、あるいは同じアプリケーションの他の部分で書き込むシェア変数データを含む) がすべてネットワークに送信されます。このため、「シェア変数データを排出」VIは、単一のコンピュータ上のシェア変数の書き込みすべてに対してレイテンシを最小化する場合に役立ちます。ただし、高スループットを要するシェア変数がある場合は、「シェア変数データを排出」VIが悪影響となる場合もあります。

「データ通信方法」ホーム