記事"MQL5クラウドネットワークを使った速度アップ"についてのディスカッション

 

新しい記事 MQL5クラウドネットワークを使った速度アップ はパブリッシュされました:

お使いになられているパソコンのコア数はいくつでしょうか?トレーディングストラテジーの最適化のために使えるパソコンは何台あるでしょうか?ここではMQL5クラウドネットワークを使い、マウスをクリックするだけで世界中のコンピューターパワーを利用して計算を早くするための方法を紹介します。"時は金なり"ということわざは、近年より話題となってきました。重要な計算を何十時間もあるいは何日間も待つことはできませこん。

MQL5クラウドネットワークでの計算の実行

作者: MetaQuotes Software Corp.

 

遺伝学はどうだろう?そこでは「100倍」は達成不可能だ。まあ、20~30倍、あるいはそれ以下ならね。

 
notused:

遺伝学はどうだろう?そこでは「100倍」は達成不可能だ。まあ、20倍から30倍、あるいはそれ以下なら。


https://www.mql5.com/ru/forum/4927/page114 

ストリンゴ 2012.02.02 15:50


遺伝的アルゴリズムの 計算では、次の世代(64から256の計算ジョブ)全体がクラウドに渡される。

全探索では、512個のジョブのスタックが各クラウドサーバに与えられる。そして、一定数のジョブが完了すると、その倍数のジョブが追加される(つまり、あるクラウドサーバーが5つのジョブが完了したと報告すると、即座に10個のジョブが追加される)。

つまり、GAでの高速化は20~30倍ではなく、少なくとも64倍、最大でも256倍になる。

 
Urain:
したがって、GAの加速度は20~30倍ではなく、少なくとも64倍、最大でも256倍になる。
同じような数のパラメータを列挙するよりもGAを速くすることはできない。GAのボトルネックは、最も遅いエージェントを待つことである。そしてそれは(平均して)10240 / 256回から10240 / 64回発生する(ストリンゴデータに基づくと40回から160回)。そして、スピードを決定するのは最も遅いエージェントである。その上、記事の中でロッシュは4人のローカルエージェントを持っていた→GAの加速の限界は256 / 4 = 64回(これは比較可能な値について話すことである)であることができるが、実際にはもっと少ない。
 
notused:
GAは、同じような数のパラメータを列挙するよりも速くなることはない。GAのボトルネックは、最も遅いエージェントを待つことである。そしてそれは(平均して)10240 / 256回から10240 / 64回発生する(stringoのデータでは40回から160回)。そして、スピードを決定するのは最も遅いエージェントである。その上、記事の中でRoshは4つのローカルエージェントを持っていた→GAのスピードアップの限界は256 / 4 = 64倍(これは比較可能な値について話すため)である。

多くの人が気づいているように、クラウドサーバは自動的に遅いエージェントを検出し、"遅い "パスを他のエージェントに再分配する。

加えて、PR>100のエージェントはジェネティクスで受け入れられ、遅いエージェントを使用する結果を著しく減少させる。

 
ロシュと同じことをするつもりだが、遺伝子があるように、パラメーターの境界線をもっと設定するつもりだ。すべてが終わり次第、また報告する。
 

テスト条件 - Intel Core i5-2500 @ 3.3 GHz, 4GB RAM, Windows XP 64 bit, terminal x64 bild 581 (PR = 160-180).テスト中はブラウザを起動し、映画を見ていた。記事と同じ条件(Moving Avarege Expert Advisor, H1, on OHLC at 1m + genetics)を使用。設定:設定

ローカル・カーネルでテスト:

ローカルコア

クラウド上でテスト:

クラウド

迷うことなく、クラウドが8.7倍高速であることがわかる。それだけだ。しかし実際には、計算キャッシュが使用されたため、ネットワークはさらに遅くなった。

つまり、ローカルコアは30分間に8704 - 3666 = 5038回のパスを行ったことになる。2秒 = 1802秒 -> 1パス平均0.3577秒。

クラウドは8704 - 4455 = 4249パスを3分で実行。28秒 = 208秒 -> クラウドからの1パスの待ち時間は平均0.049秒。

合計すると、クラウドは0.3577 / 0.049 = 7.3倍(!)計算を高速化したことになる。

この数字が20倍に達するだろうという私の最初の想定は、少し楽観的であったことが判明した。数百倍どころの話ではない。

そう、私は強力なコアを使った。しかし、ジェネティクスを使った4249パスでもネットワークは208秒、フルサーチを使った14040パスでも164秒だった(1パスの待ち時間は0.0117秒)。合計すると、クラウド上の1パスの遺伝的テストは、ブルートフォース(問題のEAの例を使用)よりも平均して0.049 / 0.0177 = 2.8倍遅い。

 

私はネットワークを批判しているわけではない。確かにクラウド・ネットワークは、トレーディング・ソフトウェアが存在して以来、最高のものだ。そして、とても必要なものだ(あまり使われていないが、それは時が経てば使われるようになるだろう)。

広告のスローガンをもっと正しくしてほしい。さて、過去は水に流そう。

 

1パスの時間が1秒未満のテストを行う場合、ネットワークレイテンシを考慮しなければならない。私たちは、タスクのバッチ処理によって、ネットワークレイテンシのシステムオーバーヘッドを取り除くために多くの努力をしてきました。そして、この問題に完全に打ち勝つことはできませんが、成功しました。

あなたの例は、ネットワーク遅延よりも短いトランジットタイムで 短期決戦を行ったことを示しています。クラウドの力を本当に評価するには、実行時間が 1秒未満のタスクから離れて、もっとコストのかかるタスクに向かう必要がある。

同じようなタスクで、i7プロセッサーで通過時間が10秒を超えるジェネティクスを実行した。時間以内に結果を投稿する。

 

3分。28秒間のネットワーク使用で、2セントか3セントが請求された(端末では3セント、サイトでは2セント、そして3セントが凍結)。3セントとするか、あるいは簡単のために、遺伝子のためにネットワークを使用すると、1分間で1セントかかるとする。合計すると、1時間は60セント、24時間=14.4ドル。私にはとても高く聞こえる。多くの人がEAをテストしているが、クラウドに1日15ドルも払える人ばかりではない。

また、どのEAを最適化するためのコストを事前に見積もる方法も、すでに自分で考えています(もちろん、平均的にですが)。遺伝学のアルゴリズム(ブルートフォースも同様):

1) ローカルコアでMoving Avarage geneticsを実行する(+リモートエージェントを接続することもできる); 最後に、1つのパスの待ち時間を計算する -> T1

2) T1 / 0.049 = T2 - クラウドのジェネティクスによって最適化が何倍高速化されたかを計算する。

3) 必要 EAのローカルコア(リモートエージェントを接続することもできます。1回のパスの時間を計算する(ログから最初と最後のレコードを見つける) -> T3

4) 10240 * T3 / T2 = T4 -> クラウドでの推定テスト時間。

5) T4 / 60 = テストコスト(セント)。

(コアを考慮することも可能で、その場合はT2' = T2 + 1とする)。

これはすべて、Moving Avarage optimisationに基づく推定値である。もしかしたら1、2ヶ月後には、より強力なコアがオンラインになり、数字やコストが変わるかもしれない。

私の思考回路は明確だと思う

 
Renat:

あなたの例は、ネットワーク遅延よりも短いパスタイムで 短期決戦を戦っていたことを完全に示しています。

ああ、そう思っていたが、考慮しなかった。結果を待ちましょう。

そして、私の前の投稿、para.2は、あなたのテストの後に訂正しなければならないだろう。