一般的に言えば、レイテンシーとは、観察対象のシステムにおける何らかの物理的変化の原因と結果の間の時間遅延のことです。ゲーム業界ではラグとして知られていますが、これはシミュレーションへの入力と視覚的または聴覚的な応答の間の遅延を指し、オンラインゲームではネットワーク遅延が原因で発生することがよくあります。 [ 1 ]心理学、医学、その他のほとんどの分野で広く使われている「レイテンシー」の本来の意味は、ラテン語起源で「隠された」という意味の「latent」に由来します。[ 2 ] 比較的最近になって使われるようになった「遅延」または「遅れ」の意味は、古英語の「laet」に由来する「late」という単語との表面的な類似性から来ているようです。[ 3 ]
遅延とは、あらゆる物理的相互作用が伝播できる速度が限られていることに起因する物理的な現象です。この速度の大きさは常に光速以下です。したがって、原因と結果の間に物理的な隔たり(距離)がある物理システムは、どのような刺激を受けたかに関わらず、必ず何らかの遅延を経験します。
遅延の正確な定義は、観察対象のシステムまたはシミュレーションの性質によって異なります。通信においては、遅延の下限は、情報を転送するために使用される媒体によって決まります。信頼性の高い双方向通信システムでは、遅延によって情報が送信できる最大速度が制限されます。これは、多くの場合、任意の瞬間に転送中の情報量に制限があるためです。知覚可能な遅延は、ヒューマンマシンインタラクションの分野におけるユーザー満足度 と ユーザビリティに大きな影響を与えます 。[ 4 ]
オンラインゲームは遅延(ラグ)に敏感です。ゲームセッション中に発生する新しいイベントへの迅速な反応は有利に働き、遅い反応は不利になる可能性があるからです。ゲームイベントの伝送に遅延が生じるため、インターネット接続の遅延が大きいプレイヤーは、適切な反応時間であっても反応が遅く見えることがあります。これは、接続の遅延が小さいプレイヤーに技術的な優位性をもたらします。
Joel Hasbrouck と Gideon Saar (2011) は、金融取引の実行遅延を 3 つの要素に基づいて測定しています。情報がトレーダーに到達するまでの時間、トレーダーのアルゴリズムを実行して情報を分析して行動方針を決定するまでの時間、生成されたアクションが取引所に到達して実行されるまでの時間です。Hasbrouck と Saar は、これを、注文の入力 (ベンダーのコンピュータ上) から確認応答の送信 (ベンダーのコンピュータから) までの処理遅延など、はるかに狭い定義を使用する多くの取引所による遅延の測定方法と対比しています。[ 5 ]コンピュータを使用した取引は、ネットワーク速度のミリ秒単位の改善が金融機関にとって競争上の優位性をもたらすほどに発展しました。[ 6 ]
パケット交換ネットワークにおけるネットワーク遅延は、片方向遅延(送信元からパケットを受信するまでの時間)または往復遅延時間(送信元から宛先までの片方向遅延と、宛先から送信元への片方向遅延の合計)として測定されます。往復遅延は、単一のポイントから測定できるため、より頻繁に引用されます。多くのソフトウェアプラットフォームは、往復遅延の測定に使用できるpingと呼ばれるサービスを提供しています。pingは、受信側が受信したパケットを即座に応答として送信するようにするインターネット制御メッセージプロトコル(ICMP)エコー要求を使用するため、往復遅延時間を大まかに測定できます。Pingは正確な測定を実行できません[ 7 ]。主な理由は、ICMPが診断または制御目的のみを想定しており、 TCPなどの実際の通信プロトコルとは異なるためです。さらに、ルーターやインターネットサービスプロバイダは、異なるプロトコルに対して異なるトラフィックシェーピングポリシーを適用する場合があります[ 8 ] [ 9 ] 。より正確な測定を行うには、 hping、Netperf、Iperfなどの専用ソフトウェアを使用することをお勧めします。
しかし、複雑なネットワークでは、典型的なパケットは複数のリンクとゲートウェイを経由して転送され、各リンクとゲートウェイはパケットが完全に受信されるまで転送を開始しません。このようなネットワークでは、最小遅延は各リンクの送信遅延と各ゲートウェイの転送遅延の合計になります。実際には、最小遅延にはキューイング遅延と処理遅延も含まれます。キューイング遅延は、ゲートウェイが同じ宛先に向かう複数のパケットを異なる送信元から受信したときに発生します。通常、一度に送信できるパケットは1つだけなので、一部のパケットは送信待ちのキューに入れられ、追加の遅延が発生します。処理遅延は、ゲートウェイが新しく受信したパケットの処理方法を決定する際に発生します。バッファブロートによって、遅延が1桁以上増加することもあります。伝播遅延、シリアル化遅延、キューイング遅延、処理遅延の組み合わせにより、複雑で変動するネットワーク遅延プロファイルが生成されることがよくあります。
遅延は、帯域幅遅延積で表されるように、信頼性の高い双方向通信システムにおける総スループットを制限する要因となる。
光ファイバーの遅延は、主に光速に依存します。これは、経路長1キロメートルあたり3.33マイクロ秒の遅延に相当します。ほとんどの光ファイバーケーブルの屈折率は約1.5であり、これは光が真空中ではケーブル内よりも約1.5倍速く伝わることを意味します。これは、1キロメートルあたり約5.0マイクロ秒の遅延に相当します。短いメトロネットワークでは、建物のライザーやクロスコネクトの距離が長くなるため、遅延が大きくなる可能性があります。接続の遅延を計算するには、ファイバーが伝わる距離を知る必要がありますが、ファイバーは地形の起伏や道路、鉄道線路などの障害物、その他の通行権を横断する必要があるため、直線であることはほとんどありません。
光ファイバーの欠陥により、光は伝送中に劣化します。100キロメートルを超える距離では、増幅器または再生器が使用されます。これらの機器によって生じる遅延も考慮する必要があります。
静止軌道上の衛星は地球から十分に離れているため、通信遅延が顕著になります。地上の送信機から衛星へ、そして衛星から別の地上の送信機へ戻るまでに約0.25秒、地上局から別の地上局へ、そして最初の地上局へ戻るまでの双方向通信には約0.5秒かかります。この遅延を短縮するために低軌道が用いられることもありますが、地上での衛星追跡がより複雑になり、継続的な通信範囲を確保するために衛星群の衛星数を増やす必要が生じます。
オーディオレイテンシーとは、音声信号がシステムに入力されてから出力されるまでの遅延時間のことです。オーディオシステムにおけるレイテンシーの原因としては、アナログ-デジタル変換、バッファリング、デジタル信号処理、伝送時間、デジタル-アナログ変換、空気中の音速などが挙げられます。
ビデオ遅延とは、ビデオストリームの転送が要求されてから実際に転送が開始されるまでの遅延の度合いを指します。遅延が比較的小さいネットワークは低遅延ネットワークと呼ばれ、それよりも遅延が大きいネットワークは高遅延ネットワークと呼ばれます。
ワークフローシステム内の個々のワークフローは、何らかの運用遅延の影響を受ける可能性があります。参加者の種類や目標達成行動によっては、個々のシステムに複数の種類の遅延が発生する場合もあります。これは、航空旅行に関する以下の2つの例で最もよく説明できます。
乗客の視点から見ると、遅延時間は次のように説明できます。ジョン・ドゥがロンドンからニューヨークへ飛行機で移動するとします。彼の旅行の遅延時間は、イギリスの自宅からニューヨークの宿泊ホテルまでの移動時間です。これはロンドンとニューヨーク間の航空便の輸送量とは無関係で、1日に100人の乗客が利用しようと1万人であろうと、旅行の遅延時間は変わりません。
運航担当者の視点から見ると、遅延は全く異なるものになり得る。ロンドン空港とニューヨーク空港のスタッフを例に考えてみよう。大西洋横断飛行ができる飛行機は限られているため、着陸した飛行機はできるだけ早く復路の準備をしなければならない。例えば、次のような時間がかかるかもしれない。
上記の手順が連続して行われると仮定すると、航空機の最短ターンアラウンド時間は以下のとおりです。
しかし、清掃、燃料補給、貨物の積み込みは同時に行うことができます。乗客の搭乗は清掃が完了した後にのみ可能です。したがって、遅延時間は短縮されます。
ターンアラウンドに関わる人々は、各自の作業にかかる時間のみに関心を持っています。しかし、すべての作業を同時に実行すれば、所要時間を最も長い作業時間まで短縮することが可能です。一部の手順に前提条件がある場合、すべての手順を並行して実行することはより困難になります。上記の例では、乗客を乗せる前に機体を清掃するという要件があるため、最小所要時間はどの単一作業よりも長くなります。
あらゆる機械的プロセスは、ニュートン力学によってモデル化された制約に直面します。ディスクドライブの動作は、機械的遅延の一例です。ここでは、アクチュエータアームが適切なトラックの上に位置するまでのシーク時間と、プラッタにエンコードされたデータが現在の位置からディスクの読み書きヘッドの下の位置まで回転するまでの回転遅延がこれに該当します。
コンピュータはプロセスというコンテキストで命令を実行します。コンピュータのマルチタスク環境では、他のプロセスも実行されている場合、プロセスの実行を延期することができます。さらに、オペレーティングシステムは、プロセスが指示するアクションを実行するタイミングをスケジュールできます。たとえば、あるプロセスがコンピュータカードの電圧出力を1000Hzのレートで高→低→高→低…と設定するように指示したとします。オペレーティングシステムは、高精度イベントタイマーなどのハードウェアクロックに基づいて、各遷移(高→低または低→高)ごとにプロセスをスケジュールします。レイテンシとは、ハードウェアクロックによって生成されたイベントと、電圧が実際に高から低、または低から高に遷移するまでの遅延のことです。
多くのデスクトップオペレーティングシステムには、パフォーマンス上の制限があり、それが遅延の原因となっています。この問題は、PREEMPT RTなどのリアルタイム拡張機能やパッチによって軽減できる場合があります。
組み込みシステムでは、命令のリアルタイム実行は、多くの場合、リアルタイムオペレーティングシステムによってサポートされます。
ソフトウェアシステムでは、平均レイテンシや中央値レイテンシをベンチマークとして用いると、少数の外れ値によって結果が歪められる可能性があるため、誤解を招く恐れがあることに注意してください。代わりに、ソフトウェアアーキテクトやソフトウェア開発者は「99パーセンタイル」を用いるべきです。[ 10 ]
シミュレーションアプリケーションにおいて、レイテンシーとは、シミュレーターの訓練者または被験者が明確に認識できる初期入力と出力の間の時間遅延を指し、多くの場合ミリ秒単位で測定されます。レイテンシーは、輸送遅延とも呼ばれます。一部の専門家は、シミュレーション対象車両の反応時間に加えてシステムに追加される時間遅延という意味でレイテンシーという用語を使用することで、レイテンシーと輸送遅延を区別していますが、これには車両のダイナミクスに関する詳細な知識が必要であり、議論の余地がある場合があります。
視覚系と運動系の両方を備えたシミュレーターでは、運動系の遅延が視覚系の遅延よりも大きくならないようにすることが特に重要です。そうしないと、シミュレーター酔いの症状が発生する可能性があります。これは、現実世界では、運動の手がかりは加速度であり、通常50ミリ秒未満で脳に素早く伝達され、その数ミリ秒後に視覚シーンの変化が知覚されるためです。視覚シーンの変化は、本質的には視点の変化、または地平線などの物体の変位であり、変位を引き起こした最初の加速度の後、識別可能な量に達するまでに時間がかかります。したがって、シミュレーターは、運動系の遅延が視覚系の遅延と同等かそれ以下になるようにすることで、現実世界の状況を反映する必要があり、その逆であってはなりません。