続・ワーカーはまとめた方がいいのか?バラした方がいいのか?


結論から言うと、プールの問題かもしれない説が新たに浮上しました。
少し気になる挙動があったので、考察してみたいと思います。

前回の検証では、ハッシュレートには10%近い差があったけど、採掘量に関係するハッシュレートには、0.5%ほどの差しかなかったので、誤差かもね的な結論でまとめました。

とはいえ、ハッシュレートの差が大きいのが気になったので、もう一度実験してみました。

前回の結果

別々の場合 まとめた場合
ハッシュレート 68536KH/s 65290KH/s 9.5%
シェアレート 3.91S/s 3.89S/s 0.5%

今回の結果

 

別々の場合 まとめた場合
ハッシュレート 67088.84KH/s 66122.33KH/s 1.4%
シェアレート 3.9986S/s 3.9404/s 1.4%

前回と比べると、ハッシュレートの差は大幅に縮まり1.4%に。
しかし、シェアレートの差は1.4%、と逆に開いてしまいました。

1.4%となると、プールのfeeでも1%というのを考えると無視できない差になる気がします。
特に長期間継続的にマイニングするにあたっては、大きな差になることも考えられます。
ただ、1.4%という差が、誤差なのかどうかは差が小さすぎて相当長期間試してみないと何とも言えない感じはします。

今回いえることは、2回連続ワーカーをまとめた方が結果が悪かったという事だけ。

気になる挙動

冒頭で行っていた、気になる挙動とは何か?という点ですが、これはハッシュレートの安定性の部分についてです。

ワーカーをバラした場合、ハッシュレートとシェアレートは比較的安定した値を示すのですが、ワーカーをまとめた場合は、ハッシュレートとシェアレートともに、かなり不安定に上下します。

不安定になる点について2つほど気になる点がありました。

なぜ不安定になるのか?

1つは、ワーカーが1つになったことにより、好調な時とハマった時の差がダイレクトに結果に影響すると思われる点。
暗号解析は運の要素が強いため、同じ難易度の仕事でも、すぐ解ける時もあれば、なかなか答えが出ないときもあります。ワーカーが複数あれば、各ワーカーの好不調の波が相殺し合って平均的な数字が出るのですが、ワーカーをまとめてしまうと、その好不調の波がダイレクトに結果に反映されてしまいます。
長期的に見れば結果平均化されるので、このことが直接的に採掘結果に影響することはないはずです。

difficultyが最適に設定されてない説

もう1つは、プールによるdifficultyの変更です。
恐らく、採掘結果が不調になる原因はここにあるような気がしています。
ハッシュレートによって、プール側からdifficultyの値が変更されるのですが、今回実験で使用したVIP Poolは、difficultyの指定が8、16、32といった決まった値しかなく、ワーカーをまとめた際は、difficultyの値が32になったり64になったりといったことを繰り返していました。

VIP Poolが指定する推奨difficultyは以下のような感じになっています。
今回の実験で使用したマシンの採掘能力は約80MH/sなので、ちょうどこの間になってしまい、difficultyが行ったり来たりしてしまったものと思われます。

ハッシュレート difficulty
34MH/s 16
67MH/s 32
130MH/s 64

difficultyは、適切な値を指定しないと、採掘効率が落ちるため、今回の場合、プール側に適切なdifficultyがなかったために、採掘効率が落ちたのでは?という仮説が新たに浮上しました。

ちなみにワーカーをバラした場合、GPU1(GTX1070)のハッシュレートは34MH/sで、ほぼdifficultyは16に固定されていて、GPU2(GTX1080)のハッシュレートは46MH/sで、difficultyは32と16を行ったり来たりという感じでした。

まとめ

ワーカーをまとめると効率が下がる。
でも、それはプールの問題かもしれない。
ワーカーをまとめてもdifficultyが適切なら採掘量は変わらない気がする。

という感じでした。
いまいち確信を持てないまとめですが、何かの参考になればと思います。