スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

BitTyrant、利己的なBitTorrentクライアント

Selfish(利己的な)BitTorrentクライアントであると自ら称するBitTyrantというクライアントが注目を集めている。その概要としては、よりアップロード速度の速いPeerとの接続、より効率によいPeerへの接続を選択的に行うというもの。で、それがなぜ利己的かというと結局、少数のユーザがそうする分にはよいのだろうけれど、みんながみんな利用し始めると、結果としてシステム全体のパフォーマンスが低下してしまうという自体を引き起こす。利己的であるのが許されるのは、周りの人が普通の人であればこそ。みんなが利己的になればシステムは崩壊するのは当然のことだといえる。

原典:TorrentFreak
著者:Ernesto
参考記事:BitTyrant: The “Selfish” BitTorrent Client

BitTyrant公式サイトから概要を引用すると

Overview
BitTyrantは、迅速なダウンロードパフォーマンスのために最適化された、新しい、プロトコル互換のBitTorrentクライアントである。

BitTyrantは・・・

速い-実際のBitTorrent Swarmによる100回を超える評価テストに於いて、BitTyrantは、Azureus 2.5によるダウンロードと比較して、平均70%のダウンロードパフォーマンスの増加を示した。場合によってはダウンロード完了時間に3倍近い向上が見られた。

フェア-BitTorrentはインセンティブをベースにした設計がなされている。つまり、ユーザが30KBpsでダウンロードするならば、彼は30KBpsをアップロードいなければならない。しかし、多くの現実世界のSwarmの個々のワークロード特性のため、必ずしもそうであるわけではない。BitTyrantは不十分なアップロード帯域の効率的な利用が可能なように設計されている。アップロードの配分はフェアであり、単純に他のユーザに過度に配分されるキャパシティーを是正するというものである。

親しみやすい-BitTyrantは、現在最も人気のあるBitTorrentクライアントAzureus 2.5をベースに修正を加えたものとなっている。我々が施した全ての改良は、フードの下で行われた。BitTyrantのオペレーションに関する統計の表示のオプションの追加によって、GUIがAzureusと同一であるとわかるだろう。

FAQ
Q:
BitTyrantは既存のBitTorrnetクライアントとどう異なるのですか?
A:既存のクライアントとBitTyrantは、アンチョークするPeerと、PeerがアンチョークされるSend Rateに於いて異なります。あなたのアップロード能力が50KBpsだと考えてください。あなたが5つのPeerをアンチョークするならば、既存のクライアントはそれぞれのPeerに10KBpsずつ送信します。それはそれぞれのPeerがあなたへの送信するRateとは独立しています。対照的に、BitTyrantはすべてのPeerをReceive/Sent Ratiosに基づいてランク付けし、高いRatioのPeerを優先的にアンチョークします。例えば、20KBpsであなたにデータを送信し、あなたから10KBpsでデータを受信しているPeerのRatioは2です。そしてそのPeerは、誰かに10KBpsでアップロード(Ratio1)する前にアンチョークされます。さらに、BitTyrantは動的にそのSend Rateを調整します。そしてアップロードの早いPeerにより多くのデータを送信し、他のPeerへのSend Rateを減らします。

Q:BitTyrantは、ケーブル/DSLユーザでも機能しますか?
A:はい。我々の評価では、今日アメリカで最も多く利用されているケーブル/DSLプロバイダーよりも、わずかに高い能力をもったユーザが特にその恩恵にあやかれるとされていますが、BitTyrantのインテリジェンスなアンチョークとRate選択はそれでも、能力の低いユーザのパフォーマンスをも向上させます。

Q:誰しもがBitTyrantを利用すれば、全体的なBitTyrantはBitTorrentパフォーマンスを低下させることになりませんか? A:これは微妙な質問であって、我々の調査でその詳細がふれられていますが、単純に答えるとすれば「maybe(多分)」となります。BitTyrantと既存のクライアントの大きな違いは、BitTyrantは追加のアップロード貢献がパフォーマンスを向上させそうに無いかどうかについて検出することができるということです。もし、クライアントが本当に利己的ならば、他のユーザへの送信に配分される余剰能力すら抑制するでしょう。しかし、それがパフォーマンスの向上を見込めないときでも、現在のBitTyrantの実装では常に余剰能力を貢献させます。我々の目的は、アップロード貢献度を最小にすることではなく、パフォーマンスを向上させることにあります。
BitTyrantスクリーンショット

参考リンク
ありえるえりあ-BitTorrent技術メモ&リンク集
** ピアの選択アルゴリズム
*** choke
chokeとは、接続ピアに対してアップロードを禁止することです(ダウンロードは行います)。アップロードにネットワーク帯域を取られすぎてもいけないですし、ダウンロードばかりに専念してBT全体が機能しなくなっては本末転倒、という微妙なバランスのために使う機能です。
実装上、同時に4つのunchokeピア接続を持つようです。逆に言うと、4つ以外の接続ノードはchoke状態なので、ダウンロードだけしてアップロードは行いません。
今から説明するピアの選択戦略は、「4つのunchokeピアをどう選択するか」、に帰着します。
(以下、原典参照)

簡単に説明すると、より効率のよいPeer、より高速なPeerを選択的に接続することによって、総ダウンロード速度を速めるということです。TorrentFreakでもほのめかしているけれど、Azureusをベースにしているものの、大幅にいじったというよりは、Peerの選択戦術を修正したバージョンというところかしら?

またTorrentFreakでは、BitTyrantのリサーチペーパーの「全てのPeerが利己的に振舞うようになれば、全体的なPeerの平均的なパフォーマンスは、個々には高い能力をもっていたとしても、完全に低下する。」という部分を引用し、結局のところBitTyrantユーザのために速度を最適化するだけであり、全てのSwarmにおける全体的なパフォーマンスを阻害する恐れがあるとしている。

また、BitTyrantのリサーチペーパーには

私たちは、BitTyrantを利用する全てのpeerがそのパフォーマンスを向上するさせるとわかりました。それでも実際には、高能力のpeerが収穫逓減点に達し、アップロード貢献度を低下させるか、他のSwarmに持っていかれるかするよう促されるため、BitTyrantは個々のSwarmのパフォーマンスを低下させます。低い能力のpeerは、(BitTyrantの)恩恵にあやかることはできません。大多数のpeerは低能力であり、彼らは(BitTyrantを利用しても)、今日のBitTorrentと比較してパフォーマンスは低下するでしょう。

という記述がなされており、製作者たちもBitTyrantが利用者以外に対してはネガティブな影響を与えることを否定していない。また、低速回線のユーザであれば、それほど利用価値が無いことも言及されており、公式TOPページの説明はやや誇張であるともいえる。

ちなみにBitTyrantはLinux、Mac OSX、Windowsバージョンが用意されている。

ここまでが概要となるけれども、果たしてこのクライアントが必要であるのかどうかを少し考えてみたい。確かに言い分としては、効率的な帯域の利用とも言えるわけだけれども、それは一部の人間が利用してこそそれが達成できるという代物である。製作者も認めているように、このクライアントが普及してしまえば、全体としてのパフォーマンスの低下は避けられないし、更にこのクライアントを使わないユーザが一番の割を食うわけである。もちろん、そうなればこのクライアント以外にも同種のPeer選択戦略をとるクライアントが増えてくるだろうから、このクライアントの独占というわけではないのだろうけれど、それでもこの種の戦略がメインストリームとなる。

そうなれば結果として全体のパフォーマンスが低下してしまい、ユーザにとって何らメリットの無い状態に陥ってしまう。最初は利益をもたらしていたものが、最終的には全員の損失となってしまう。みんな自分だけ、と思い使うのだろうけれど、それがクリティカルマスに達してしまえば、もう自分だけとは行かない。誰かが止めようと言い出したところで、もう疑心暗鬼である。

なら紹介するなと言われそうであるけれど、情報というのはどうしたっていつかは、広まってしまうものであり、インターネットのこの時代にはそれが加速度的に早まっている。であれば、他の人が「より効率のいいクライアント」として単に紹介されるよりは、メリット、デメリットを考えた上で、使うか、関係ないと思うかの判断をして欲しかったのですよ。

自分にはメリットはあるけれど、システム全体にはデメリットになりかねない。つまり自分がフリーライダーになることをよしとするのか、更にその行為がシステム全体の停滞をほんの少しずつ後押しすることをよしとするのか、それを考えた上で利用するならそうすればいいと思う。

それがユーザ全体の選択なら、それはそれで仕方ないことだろうしね。まぁ、対策はいくらもあるし、そこまで深刻にならなくてもいいんだろうけれど、最近色々思うところもあるので、そう考えてしまうわけです。明日あたり、BitTyrantなんか比べ物にならないくらい酷いものを紹介してみます。

Trackback

Trackback URL
http://peer2peer.blog79.fc2.com/tb.php/170-0a2c5597

Comment

Comment Form
公開設定

プロフィール
heatwave Author
:heatwave

RSS Jamendo twitter tumblr Creative Commons Attribution 2.1 Japan
ブログ内検索
記事リスト
最新の記事
全記事一覧
他所で書いてるブログ

P2Pとかその辺のお話@はてな

アーカイブ

カテゴリー
最近のコメント
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。