유전학은 어떨까요? 거기서는 '100배'는 불가능합니다. 20~30배, 혹은 그 이하일 수도 있습니다.
유전학은 어떨까요? 거기서는 "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배입니다.
GA는 비슷한 수의 매개 변수를 열거하는 것보다 빠를 수 없습니다. GA의 병목 현상은 가장 느린 에이전트를 기다리고 있습니다. 그리고 (평균적으로) 10240 / 256에서 10240 / 64 회 (Stringo 데이터 기준 40 ~ 160 회)까지 발생합니다. 그리고 속도를 결정하는 것은 가장 느린 에이전트입니다. 게다가 기사에서 Rosh는 4 명의 자체 로컬 에이전트를 보유했습니다-> GA의 속도 향상 제한은 256 / 4 = 64 배 (이것은 비슷한 값에 대해 이야기하기위한 것입니다)가 될 수 있지만 실제로는 훨씬 적습니다.
많은 사람들이 알다시피 클라우드 서버는 느린 에이전트를 자동으로 감지하고 "느린"패스를 다른 에이전트 (전체 열거 및 유전학 모두에서)에 재배포합니다.
또한 PR이 100을 초과하는 에이전트는 유전학에서 허용되므로 느린 에이전트 사용으로 인한 결과가 심각하게 감소합니다.
테스트 조건 - 인텔 코어 i5-2500 @ 3.3GHz, 4GB RAM, Windows XP 64비트, 터미널 x64 bild 581(PR = 160-180). 테스트하는 동안 브라우저를 실행하고 영화를 시청했습니다. 기사에서와 동일한 조건이 사용되었습니다(1m + 유전학에서 OHLC에서 이동 Avarege Expert Advisor, H1, 이동). 설정:
로컬 커널에서 테스트:
클라우드에서 테스트:
주저 없이 Cloud가 8.7배 더 빠르다는 것을 알 수 있습니다. 그게 전부입니다. 하지만 실제로는 계산 캐시가 사용되었기 때문에 네트워크가 더 느립니다.
따라서 로컬 코어는 30분 동안 8704 - 3666 = 5038번의 패스를 수행했습니다. 평균적으로 패스당 2초 = 1802초 -> 0.3577초.
클라우드는 3분 동안 8704 - 4455 = 4249번의 패스를 수행했습니다. 28초 = 208초 -> Cloud에서 한 패스를 위한 대기 시간은 평균 0.049초입니다.
전체적으로 Cloud는 계산 속도를 0.3577 / 0.049 = 7.3배(!) 높였습니다.
이 수치가 20배에 달할 것이라는 저의 초기 가정은 약간 낙관적인 것으로 밝혀졌습니다. 그리고 우리는 수백에 대해 이야기 할 수도 없습니다.
예, 강력한 코어를 사용했습니다. 즉, 약간 속임수를 썼습니다. 그러나 네트워크가 208초 만에 4249번의 유전자 검사를 통과하고 164초 만에 14040번의 전체 검색을 통과했다는 사실도 여전히 남아 있습니다(한 번의 통과 대기 시간은 0.0117초입니다). Cloud에서 한 패스에 대한 총 유전자 검사는 평균적으로 무차별 대입보다 0.049 / 0.0177 = 2.8배 느립니다(문제의 EA 예제에서).
클라우드 네트워크는 트레이딩 소프트웨어가 등장한 이래 최고의 기능인 것은 분명합니다. 그리고 매우 필요한 기능입니다(많이 사용되지는 않지만 시간이 지나면 필요해질 것입니다).
광고 슬로건이 좀 더 정확했으면 좋겠습니다. 알겠습니다.
한 번의 통과 시간이 1초 미만인 테스트를 수행하는 경우 네트워크 지연 시간을 고려해야 하며, 이는 종종 "빠른" 작업의 시간보다 크거나 같습니다. 저희는 작업을 일괄 처리하여 네트워크 지연에 대한 시스템 오버헤드를 없애기 위해 많은 노력을 기울여 왔습니다. 그리고 이 문제를 완전히 해결할 수는 없지만 성공했습니다.
귀하의 사례는 네트워크 지연보다 짧은 전송 시간으로 단기간에 경쟁했음을 충분히 보여줍니다. 클라우드의 힘을 제대로 평가하려면 실행 시간이 1초 미만인 작업에서 벗어나 비용이 더 많이 드는 작업으로 옮겨가야 합니다.
비슷한 작업이지만 통과 시간이 10초가 넘는 유전학을 i7 프로세서에서 실행해 보았습니다. 한 시간 이내에 완료된 결과를 게시하겠습니다.
3분 동안 28초 동안 네트워크를 사용하는 동안 2센트 또는 3센트가 청구되었습니다(단말기에서 3, 사이트에서 2, 3은 동결됨). 3으로 계산하거나 간단하게 계산하기 위해 유전학에 네트워크를 사용하면 1분당 1센트가 부과됩니다. 총 1시간은 60센트, 24시간 = 14.4달러입니다. 제게는 매우 비싸게 들립니다. 소비자들에게 매력적으로 보이려면 가격을 최소 3배 이상 낮춰야 합니다(많은 사람들이 EA를 테스트하지만 모든 사람이 하루에 약 15달러를 클라우드에 지불할 능력과 의사가 있는 것은 아니며, 5달러 이하라면 더 많은 사람들이 기꺼이 지불할 것입니다).
또한, 저는 이미 EA를 최적화하는 데 드는 비용을 미리 추정하는 방법을 알아냈습니다(물론 평균적으로). 유전학 알고리즘(무차별 대입과 유사):
1) 로컬 코어에서 이동 평균 유전학을 실행하고(+ 원격 에이전트를 연결할 수도 있음), 마지막에 한 패스에 대한 대기 시간 -> T1을 계산합니다.
2) T1 / 0.049 = T2 - 클라우드에서 유전학에 의해 최적화가 몇 번 가속화되는지 계산합니다.
3) 필요한 EA의 로컬 코어에서 최적화를 실행하고 (+ 원격 에이전트를 연결할 수도 있습니다. 1단계에서와 같이 구성해야 함) 예를 들어 100개의 패스를 기다립니다. 한 패스의 시간을 계산합니다(로그를 통해 첫 번째 및 마지막 레코드 찾기) -> T3
4) 10240 * T3 / T2 = T4 -> 클라우드에서 예상 테스트 시간.
5) T4 / 60 = 테스트 비용(센트).
(코어를 고려할 수도 있습니다. 이를 위해 T2' = T2 + 1을 사용합니다).
이는 모두 이동 평균 최적화를 기반으로 한 추정치입니다. 아마도 한두 달 안에 더 강력한 코어가 온라인 상태가 되면 비용뿐만 아니라 수치도 달라질 것입니다.
제 생각은 분명합니다.
귀하의 예는 네트워크 지연보다 짧은 것으로 알려진 통과 시간으로 단기간에 경쟁하고 있음을 완전히 보여줍니다.
예, 의심은 했지만 고려하지 않았습니다. 결과를 기다려 봅시다.
그리고 제 이전 게시물인 para. 2는 테스트 후 수정해야 할 것입니다.
새로운 기고글 MQL5 클라우드 네트워크로 계산 속도 향상 가 게재되었습니다:
가정용 컴퓨터에 몇 개의 코어가 있습니까? 거래 전략을 최적화하기 위해 몇 대의 컴퓨터를 사용할 수 있습니까? 여기에서는 MQL5 클라우드 네트워크를 사용하여 마우스 클릭으로 전 세계의 컴퓨팅 성능을 받아 계산을 가속화하는 방법을 보여줍니다. "시간은 돈이다"라는 표현은 해가 갈수록 더욱 화제를 불러 일으키며 수십 시간 또는 며칠 동안 중요한 계산을 기다릴 여유가 없습니다.
위에서 언급한 목적을 위해 Intel Core i7 (8 코어, 3.07GHz) 및 12GB 메모리가 장착된 컴퓨터와 운영 체제 Windows 7 64 비트 및 MetaTrader 5 빌드 1075를 사용합니다.
다음 설정을 사용하는 표준 배송 팩의 Expert Advisor Moving Average.mq5가 테스트 됩니다.
- 기호 : EURUSD H1
- 테스트 간격 : 2011.01.01 ~ 2011.10.01
- 가격 시뮬레이션 모드 : 1 분 OHLC (1 분 바의 시가, 고가, 저가 및 종가가 사용됨)
- 최적화 유형: 느린 완료 알고리즘, 총 14,040 회 통과
최적화된 매개 변수 :작성자: MetaQuotes