From n.nakai @ sdy.co.jp Fri Aug 28 15:56:03 2009 From: n.nakai @ sdy.co.jp (=?ISO-2022-JP?B?GyRCQ2Y1bzd7NVcbKEI=?=) Date: Fri, 28 Aug 2009 15:56:03 +0900 Subject: [Ultramonkey-l7-develop 532] Re: =?iso-2022-jp?b?TVEbJEIkSBsoQlJQUxskQiRYJE4lZiE8JTYhPDZ1GyhC?= =?iso-2022-jp?b?GyRCNFYkKyRpJE4lIiVXJW0hPCVBJEskRCQkJEYbKEI=?= In-Reply-To: References: <4A8D3F9F.8000101@sdy.co.jp> Message-ID: <4A977F83.40907@sdy.co.jp> 中居です。 お疲れ様です。 > ixgbeのコード読みながら、UM側要求としてへんなところがないかと、カーネルへのインパクトを見てみました。 > 要求としては大体良いかと思います。 > ただ、ixgbeでもチップが32598か32599かで大分違います。 > 32599だとFlowDirectorが入っていて、キューにつかうhashをドライバ内から > 取ってこれたりします。 > 32598だとhashはNICの内部に隠蔽されていて、キューのアドレスしかわかりません。 自分は32598あたりのドライバを見ていたので、hashをドライバから取ってくる 部分が無かったと思っていたのですが、32599で取ってこれるように追加された んですね。 と、言うことは「取ってこれない場合」を考察する必要があると思います。 猿で言えば送信から始まるパターン、RealServerへの接続なんですが、 1.見捨てる 2.スレッドを該当の動かす(thread poolに戻すときに再びもとのCPUに張り付か せて戻す) 3.etc スレッドを該当のCPUに移動するには、結構なコストがかかりますから 軽い通信ではかえって遅くなりそうですね。 実装するにしても矢張りコスト計算を試算しないと難しそうです。 > ixgbe以外のNICはまた違うでしょうし、ドライバ初期化時にわかる情報はsysfs配下に > NICドライバ毎(NICコントローラ毎?)にディレクトリをつくって、その中にとってこれる情報だけ > 表示させるって感じがいいかと。 これだと逆にユーザープログラム側が 「全てのNIC情報を持っている必要」がありますよね。 新しいNICが出るたびにNIC情報をUPDATEする必要が… このあたりは逆に、統一的な情報として扱えないでしょうか? RPSもそうなのですが、CPUのトポロジを意識する必要があるという話があります が、アプリケーション側がCPUトポロジをCPU型番とチップ名から持つ必要に駆ら れていますが、これらはIPIでkernelは情報を取得出来るのですから、 それを一般化して情報定義出来ないでしょうかね。 と、言うのもMultiQueueの情報はいまUltraMonkey-L7が必要としていますが、 他にもProxyやそのうちネットワークサーバ系は全て利用する状況になるかと思 いますが、それらのアプリケーション全てがNICの情報を内部に持つことになる んでしょうか? #kernel側が一般化した情報として提供…と言うのがベターな気がしますが… > 【HTTPサーバをMultiQueueで中継する場合】 > acceptしたfdからのCPU情報・・・まだ見れていませんが、82598のデータシートでは"RSS is a mechanism to > post each received packet into one of several descriptor > queues."とあるので、fdとqueueが1:1だといいなぁなんて思っています。 > ただ、queueの構造体にCPU情報がなければ、メンバ追加しないといけないかもです。 > > ADDRINFOからのCPU情報・・・82599はドライバ内でhashを返しているので、そこを突破口にすれば良いような気がしますが、82598はADDRINFO自体をNICに突っ込む処理がドライバにありません(汗) > どこかに突破口はないか・・・最悪、Peterに聞いた方が早い気がします。 > > とりあえず、今はこんなところ。 すいません、なんか迷宮探検のような状況になっていますね(汗 Peterに問い合わせるほうがはやいかと…。 新しい仕組みとして表記にあるようにkernel内部での情報定義をして それをpeterに見せるってのはどうでしょうか? -- _____________________________________________ 中居 憲久[Norihisa NAKAI] n.nakai @ sdy.co.jp 株式会社SDY tel:047-401-7210/fax:047-401-7207