그동안 많은 경우에 대해서 시뮬레이션 해왔지만 가장 기억에 남는것은 가장 좋은 성과를 냈던 시뮬레이션의 경우와 시뮬레이터 아이디어 구상부터 시뮬레이터 프로그램의 소스 코딩이 가장 힘들었던 경우가 있겠지만 아무래도 이번 시뮬레이션은 사상 최대 규모이기 때문에 가장 기억에 남을것 같습니다.
142,688개의 경우의 수에 대해서 시뮬레이션할 때는 연산 규모가 약 1.4조번이었던것 같고,
4,500,000개의 경우의 수에 대해서 시뮬레이션 할 때는 연산 규모가 45조번이었던것 같은데...
지금까지중 시뮬레이션의 끝판왕을 만나 보려 합니다.
총 경우의 수가 164,091,200 으로써 연산규모는 1805조번이나 됩니다.
생각할 수 있는, 머리에서 최대한 쥐어짤 수 있는 경우의 수를 모두 조합하여 시뮬레이션 하려다보니 말도 안되는 연산이 필요할 것 같은데요.
만약 CPU가 1초당 100만번의 연산을 할 수 있다고 가정하면 1805조번의 연산을 위해서는 1,805,000,000 초가 소요되며 약 501,388시간 (= 20,891일 = 57년)이 소요됩니다.
1000만번이라도 5.7년이 소요되고 1억번이라도 약 209일이 소요됩니다.
5억번쯤의 연산이 가능한 CPU라 하더라도 약 42일이 소요됩니다.
실제로 이런 시간을 감소시켜 빠르게 원하는 결과를 보기 위해서는 시뮬레이션을 위한 시스템 구축을 병렬처리 하는것이 좋은데 1억번쯤 연산할 수 있는 시스템을 20대쯤 구매하여 제각각 작업이 진행될 수 있도록 한다면 약 21일만에 모든 연산이 완료될 수 있습니다.
앞서 예로든 5억번 연산이 가능한 시스템 20대라면 4일이면 모든게 끝나겠지만 이정도 규모라면 장비 구입에 필요 이상의 장비 구매 비용이 투입되고 20대의 장비의 비치공간 및 구동 소음을 감당할 수 없겠지요.
컴퓨터가 1805조번을 연산 하려면 얼만큼의 시간이 소요될지 가히 상상도 되지 않기에 어느정도의 테스트 장비가 필요할지 측정하는것이 무리라 판단하여 아마존에서 서비스하고 있는 클라우드를 이용할 계획입니다.
이름하여, Amazon Web Service 인데요.
흔히 줄여서 AWS 라고도 합니다.
(글로 적을때는 AWS가 편하고, 말로 할 때는 그냥 Amazon Cloud Service가 편합니다.)
익히 많은분들이 알고 계시겠지만 모르는 분도 계실테니 링크 남깁니다.
https://aws.amazon.com/ko/ec2/
AWS가 뭔가 궁금한 독자께서는 한번 방문 해보세요.
AWS에 대해 간략히 설명하면 다양한 종류의 서비스나 연산 등을 위해 컴퓨터를 임대 해주는 서비스인데 실물의 PC나 서버를 배송해서 임대하는 방식이 아니라 아마존에서 독자 구축한 데이터 센터에 있는 PC나 서버류를 원격으로 접속하여 뭔가를 할 수 있게 해주는 서비스이며 기존에 개인이나 법인이 PC또는 서버를 이용할 때와 달리 아마존만의 특화된 점은 아래 별도로 정리 합니다.
|
장점 |
단점 |
개인 |
실물을 접하며 설정할 수 있다.
다양한 업그레이드 및 커스트마이징이 가능하며 비용이 저렴하다. |
시간의 경과에 따라 감가상각이 발생하고 내구연한 또는 사용연한이 도래하면 신규 구매를 위한 추가 비용이 발생한다.
별도의 비치 공간이 필요하다.
전력 공급 또는 인터넷 서비스 공급이 단절되면 이용할 수 없다.
장비 구매 이외에 전기요금, 인터넷 요금이 발생한다.
소음과 분진이 발생한다.
별도의 데이터 백업이 필요하다.
|
IDC |
전기요금과 인터넷 요금을 걱정하지 않아도 된다.
소음으로부터 자유롭다.
전력 공급 단절 및 인터넷 서비스 공급의 단절을 염려하지 않아도 된다.
별도의 비치 공간이 필요하지 않다.
|
개인의 최대 장점인 업그레이드가 부분적으로 제한되며 비용이 개인이 부담하기에는 부담스럽다.
통상 계약 기간은 연단위로 설정하지만 경우에 따라 단기 이용도 가능하다.
별도의 데이터 백업이 필요하다.
하드웨어 장애에 대비해야 한다.
|
AWS |
소음, 분진, 전력상황, 인터넷 서비스 연결 상황을 전혀 고려하지 않아도 된다.
원하는 기간만큼만 사용하고 사용한양에 따라 요금을 지불하는 종량제 서비스이다. (초단기 또는 초장기 기간 사용가능)
신규 구매 비용이 발생하지 않고 유지 보수에 대해 염려하지 않아도 되며 내구연한이 없다.
별도의 비치 공간이 필요하지 않다.
별도의 데이터 백업이 필요하지 않다. (자동백업)
하드웨어 장애에 대해 걱정하지 않아도 된다.
|
계약 조건(이용할 사양과 기간)에 따라 다르지만 대체로 이용요금이 비싼편이다.
|
이정도면 AWS가 뭔지 잘 모르는 독자분도 어느정도는 쉽게 이해할 수 있을것이라 생각합니다.
필자의 시뮬레이션의 경우 통상 자가 보유한 PC, WorkStation, Server 등을 이용하지만 이번의 경우에는 어마어마한 규모의 시뮬레이션이 필요하고 또 언제 이런 시뮬레이션을 추가로 더 하게 될지 혹은 안하게 될지 알 수 없기 때문에 수천만원을 호가하는 장비를 신규 도입하기에는 비용이 지나치고 또한 비행기가 이륙하는 정도의 소음을 감당할 수 없으며 신규 비치 공간이 필요해지기 때문에 AWS를 이용하면 충분히 모든 고민이 해결 될 수 있습니다.
예를 들어 향후 언제 또 다시 사용하게 될지 모를 5천만원짜리 장비 2대를 구매하면 1억원이 필요하고 시뮬레이션을 위한 설정에 전문 인력을 섭외해야 하며 도저히 사무실에서 구동할 수 없는 소음은 어찌 감당할 수 있겠습니까?
차라리 몇십만원 혹은 몇백만원의 비용을 지불하고 최고 사양의 장비를 단기 임대하여 원하는 시뮬레이션을 실행하고 계약 종료하면 모든 단점을 커버할 수 있다.
물론 시뮬레이션 한번에 몇십만원에서 몇백만원의 비용을 들인다는게 부담될 독자분도 계시겠지만 필자의 경우 어느정도 충분히 검수된 로직들의 집합 단위로 시뮬레이션하기 때문에 꽤 성과가 좋은 알고리즘 자동매매 시스템의 운용으로 연결될 수 있는 부분이기에 걱정하지 않아도 되기 때문이기도 합니다.
아이디어가 시뮬레이션으로 연결되고 있으니 조만간 본 블로그에 새로운 시스템 성과를 등록할 수 있기를 고대해보겠습니다.
'시뮬레이션' 카테고리의 다른 글
제정신이 아닐지도 모르는 시뮬레이션의 시작 #2 (3) | 2017.11.23 |
---|---|
V2 시스템들의 특성과 만들어지기까지의 과정 일부 (0) | 2017.11.17 |
성과가 좋은 매매 로직을 찾아가는 과정 (5) | 2017.11.14 |
시뮬레이션의 필요성에 대한 역설 (0) | 2017.11.14 |
어느 정도선에서 만족할것인가? (1) | 2017.10.30 |