• 検索結果がありません。

レイテンシ評価

第 5 章 評価

5.2 レイテンシ評価

5.2.1 レイテンシ測定手法

本研究では,無負荷レイテンシの測定を行った.無負荷レイテンシは,リクエストを1回だけ 発生させたときのレイテンシである.リクエスト数が増加し,サーバへの負荷が増加すると,レ イテンシは増加する.そのため,無負荷レイテンシはレイテンシの下限である.

リクエストを送信してから最初のコンテンツデータが返ってくるまでのレイテンシを測定した.

レイテンシが小さいほど,最初のデータを速く入手することができ,速く再生し始めることがで きる.

レイテンシの評価では,2台のマシンを使用し,それぞれクライアントとキャッシュサーバとす る.処理の流れを図5.2.1に示す.クライアントはキャッシュサーバに対して,コンテンツを要求 する.キャッシュサーバは,コンテンツの色タグを判別し,コンテンツIDを検索し,コンテンツ データの転送を行う.

クライアント側では,リクエストを送信してからコンテンツデータの最初の1バイトを受信す るまでの時間を測定する.サーバ側では,リクエストを受信してからコンテンツデータの最初の1 バイトを送信するまでの時間を測定する.この2つの時間の差分を求めることで通信による遅延 を測定する.

ホストPC上のソフトウェアでのレイテンシ測定は,処理実行前と実行後の時刻の差分を算出 して行った.FPGA上のモジュールのレイテンシ測定は,FPGA上にクロックカウンタを実装し,

Signal Tap II Logic Analyzerと呼ばれる実機で動作している回路の波形を観測するツールを用いて,

処理が終わるまでの時間を調べた.

クライアント キャッシュサーバ リクエスト

色タグ検索

コンテンツ転送 コンテンツID検索 コンテンツデータ

④ リクエスト送信

コンテンツ受信

図5.2.1: レイテンシの測定の流れ

5.2.2 無負荷レイテンシ測定結果

実装(1)から実装(4)において測定した無負荷レイテンシの測定結果を図5.2.2に示す.

ソフトウェア実装では,クライアントでの遅延は626µsとなり,サーバでの遅延は80µsとなっ た.通信プロトコル処理を含むEthernet通信による遅延は546µsとなり,測定した遅延の大部分 を占める.

実装(2)の場合は,全体の遅延は272µsとなった.サーバ側の遅延は146µsと実装(1)より増加 している.これは,ソフトウェアでキャッシュ制御をしており,コンテンツデータの読み出しには ホストPC側からFPGAボード上のSSDに対して命令を送る処理が発生するためオーバヘッドが 生じている.通信の遅延時間に関しては,FPGAボード間の専用ネットワークを使用することで,

減少している.

実装(3)では,全体の遅延時間は154µsに短縮された.サーバでの処理遅延,通信での遅延とも に短縮されている.サーバ側での処理時間98µsのほとんどは転送処理にかかる時間である.転送 処理にかかる時間は,SSDに対して転送命令を発行し,最初のデータがNW I/Fに入力されるまで の時間である.

実装(4)では,全体の遅延時間は70µsとなった.コンテンツデータをDRAMから取り出すこと で,サーバ側の転送処理時間が0.67µsと大幅に減少し,サーバ側での処理遅延は0.80µsとなった.

また,実装(3),実装(4)においてクライアント側とキャッシュサーバ側のFPGAボード間のNW I/Fによる遅延は約4µsとなり非常に低遅延であることを確認した.

0 100 200 300 400 500 600 700

④FPGA(NW+DRAM+HCC)

③FPGA(NW+SSD+HCC)

②FPGA(NW+SSD)

①Software

コンテンツ取得のレイテンシ[μs] サーバ処理遅延 通信遅延

図5.2.2:無負荷レイテンシの測定結果

Host PC Host PC

Cache Controller クライアント

10G-Ethernet

SSD

キャッシュサーバ

HTTP

Client NIC NIC

リクエスト コンテンツ

②色検索

③ ID検索

④転送処理

⑥ ⑤

クライアント遅延: 626μs (①to⑥)

サーバでの遅延(②to⑤):80μs 色検索:0.8μs (②to③) ID検索:23μs (③to④) 転送処理:57μs (④to⑤)

図5.2.3:実装(1)のレイテンシ

Host PC

Cache Controller

FPGA Board

DRAM

HCC SSD

GiGA CHANNEL クライアント

NW I/F

Host PC

FPGA Board

DRAM SSD

キャッシュサーバ

NW I/F

クライアント遅延:

272μs (①to⑥)

サーバ処理遅延:146μs (②to⑤) 色検索:1μs (②to③) ID検索:23μs(③to④) 転送処理:122μs(④to⑤)

Cache Controller

色検索 ID検索 転送処理

図5.2.4:実装(2)のレイテンシ

Host PC

Cache Controller

FPGA Board

DRAM

HCC SSD

GiGA CHANNEL クライアント

NW I/F

Host PC

FPGA Board

DRAM SSD

キャッシュサーバA

NW I/F

HCC

Filter Search Transfer

② ⑦ ⑥ ③ ④ ⑤

クライアント遅延:

154μs (①to⑧)

サーバ処理遅延:98μs (③to⑥) 色検索:0.04μs (③to④) ID検索:0.09μs(④to⑤) 転送処理:98μs(⑤to⑥)

クライアント側FPGA遅延: 102us (②to⑦)

図5.2.5:実装(3)のレイテンシ

Host PC

Cache Controller

FPGA Board

DRAM

HCC SSD

GiGA CHANNEL クライアント

NW I/F

Host PC

FPGA Board

DRAM SSD

キャッシュサーバA

NW I/F

HCC

Filter Search Transfer

② ⑦ ⑥ ③ ④ ⑤

クライアント遅延:

70μs (①to⑧)

サーバ処理遅延:0.80μs (③to⑥) 色検索:0.04μs (③to④) ID検索:0.09μs(④to⑤) 転送処理:0.67μs(⑤to⑥)

クライアント側FPGA遅延: 3.9us (②to⑦)

図5.2.6:実装(4)のレイテンシ

関連したドキュメント