カーネルモニタを用いた

 端末の無線   通信時の 解析

理学専攻 情報科学コース 三木 香央理

ではこのカーネルモニタを組込み機器である に応用できることを確認し，解析を行った．

はじめに
近年 スマートフォン市場の成長に伴い 携帯端末で動作する組込み機器のソフトウェアプラットフォームなど
として  が注目されている 汎用のとはアーキテクチャが異なる組込み機器において カーネルの中の振舞を把握することができるカーネルモニタ
ツールを開発し 通信時の内部動作を解析することで， の通信を評価する．また，特定の環境下で効率良く各端末が平等に通信できるようにのソースコードに手を加えた独自の制御手法を提案する．

 のアーキテクチャ  
 
!

"# $% &' ( ) *図 +  のアーキテクチャのアーキテクチャを図  に示す  はカーネルを用いて構築されており この ,- に各種コンポーネントを追加し  というプラットフォームを構成している．通信は ' カーネルの中のプロトコルスタックを用いて行われているため この実装部分などで性能が決まってくると考えられる
そのため 本研究では  におけるカーネル中のトランスポート層実装に焦点を当て評価を行う
') *

提案手法 端末を用いた基礎実験において 通信のタイミングや周囲の状況によって不必要に輻輳ウィンドウサイズを減少させ不公平な通信状況に陥ることが確認された．そのような状況の場合，本研究では独自のに切り替えて通信性能の向上を図る．実際に輻輳が起きている訳でないにも関わらず 不必要に輻輳ウィンドウを下げてしまうと，輻輳が起こる前の状態まで輻輳ウィンドウサイズを増加させるのに時間が掛かってしまう．そのため，輻輳ウィンドウサイズが不必要に下がらないよ
うに，輻輳ウィンドウサイズダウンのフェーズを省き，また輻輳ウィンドウサイズ閾値 !!! の値を変更し，安定して高い値の輻輳ウィンドウサイズを保てるようにした．
独自のは輻輳ウィンドウサイズを任意の値まで一気に上昇させ，輻輳が起きた際は輻輳ウィンドウを少し減少させ その後輻輳回避フェーズで線形に上昇させる．独自のアルゴリズムは  /0)! 以上の高遅延環境において性能が向上することを確認した．また，性能の良い端末が帯域を占有してしまう場合，輻輳ウィンドウサイズの上限値を変更することで，その端末の送り過ぎを防ぐ．図 0 に独自のアルゴリズムを示す．

カーネルモニタ
図 0+ 独自の図 )+ カーネルモニタの概要
カーネルモニタは通信時に カーネルのどの部分がいつ実行されて その結果カーネル内部のパラメータの値がどのように変化したかを記録することができるツール
である 図 ) に示すように，カーネル内部のソースにモニタ関数を挿入しカーネルを再コンパイルするこ
パラメータをモニタ可能にしている これにとでよりモニタできるようになった値は，輻輳ウィンドウ，ソケットバッファのキュー長の他，各種エラーイベント
  # .!，重複  (，- ( 受信，タイムアウト検出 の発生タイミング等がある ) ．本研究

実験システムと基本性能測定

実験環境
社製と
図 1 に示すように  端末として，
-!. 社製の携帯電話（スマートフォン）を用いた．
233345) . 無線
6 機能を用いて を経由でソケット通信した場合の  端末の基本性能を測定した

図 1+ ヘテロ端末環境基本性能

ここで  750 は初期に発売された  端末で6'! - は比較的最近発売された  端末であり，ハードウェアの性能比として  750+6'! - は約 +)であることから，スループットもこの割合で帯域を割った値である 0 8%!+9 8%! 程出るのが望ましい．
しかし実験結果は図 8 に示すように全ての端末において通信性能が著しく低下することが確認された．
図 *+ 1 台の  端末の制御時の同時通信性能



図 8+ 1 台の  端末同時通信性能提案手法を用いた制御方法
そこで提案手法である独自の行った．制御方法を表  に示す．
制御方法

表 +6'! 

を用いて制御を507

上限

図 * で  750 の通信性能が向上できないのはソースコードや通信解析を行った結果 両者ので親和性がとれていないことが原因として挙げられた 親和性を保つために，6'! - に  750 のカーネルを移植した上で独自のを用いて輻輳ウィンドウサイズの上限値の制御を行った．結果を図 9 に示す．ここで輻輳ウィンドウサイズ上限値の制御方法は表  に示す値とほを用ぼ同等であり， 750 に関しては :
いた．
図 9 から親和性が向上し， 750 の通信性能も向上することが確認された．また逆方向の移植， 750 に6'! - のカーネルを移植した場合もこの結果とほぼ同等の性能が得られることを確認した．

上限

5:)5.

95

:)5.

95)

:)5.

95

1:)5.

95

4:)5.

95

*:)5

.

550)

:

05

.

55*1

:

88

.55)4

:

88

.

55)8*

:

55

.

55

ここでの : は端末に : で実装されているを用いる場合で，. は独自のを用いる場合である．また上限は輻輳ウィンドウサイズの上限を遅延時間を考慮して変更していった時の値であり，ここで表  に示す値は本実験においての最適値である．6'! - は帯域を占有しがちなので抑える方向に，
 750 は弱気なで帯域を確保することが難しいので，強気のである独自のに切り替える．
また高遅延環境では輻輳ウィンドウを十分使いきれていないため，上限値を上げる制御を行った．

実験結果



カーネル移殖と独自の  による制御

独自の  による制御

図 * に示すように独自のを用いて制御を行った
結果，全ての端末において通信性能が向上することが確認された．異種端末が混在したヘテロ環境で通信を行った場合，6'! - は高性能な送出量を意図的に抑える方がむしろ自身の性能が向上することが確認された．しかし， 750 のスループットは向上したとはいえ低いままであり，帯域をなかなか取得することができていないと言える．

図 9+ 1 台の  端末の制御時の同時通信性能

まとめと今後の課題
本論文では  実機にカーネルモニタツールを適用し，通信時の輻輳ウィンドウの値を解析して，のソースコードの改良を行った 複数台の  端
末を通信させた際，本手法とカーネル移植で各端末のスループットが向上することを確認した．今後は本研究内
容を周囲の情報を把握した際に自動的に制御できるようなミドルウェア開発に応用させる．

参考文献
++;; ..  <;;

)



.



(!%!-&!

=.,.

>&-&!



-.!!



!

,7%!

:

-

:

# & ,?  

!

-2
272

 0 2333 2 -&!  7#

6!

! 6-)55@" )55@-&!7