본문 바로가기
무모한 도전-주식 인공지능 만들기

ray를 이용한 다중 병렬처리(nested)의 최적화 -1-

by 인터넷떠돌이 2020. 8. 1.
반응형

안녕하세요?

 

이번 포스팅부터는 어떻게 성공한 ray를 이용해서 불러온 메서드를 다시 ray를 불러서 다중으로 병렬처리를 하는 것에 대해서 한번 탐구를 해 보고자 합니다. 즉, 최적화를 하기 위해서 여러 조건을 가지고서 한번 작업을 해 보고자 하는 것 인데, 일단 이 작업을 하기 위해서는 여러번의 시행착오가 필요합니다.

 

일단 이번에는 아예 대놓고 CPU의 갯수를 대놓고 240개로 늘려 보도록 합니다. 이렇게 하면 어떻게 성능이 올라갈 것이라고 생각을 하기는 했습니다.

 

첫 시도는 어떻게 해서 35초 정도로 준수하다면 준수해 보이는 성과를 거둔 듯 합니다. 그럼 계속해서 탐구에 들어가 보도록 합니다.

 

그런데 그 다음의 조건은 그러지 못하는 것을 확인할 수 있기는 있었습니다. 아무튼 이런 이유로 인해서 여기까지만 일단 작업을 하도록 하고, 무턱대로 마냥 cpu갯수를 늘리는 것이 능사는 아닌 듯 합니다.

 

 

그래서 다음 조건은 일단 cpu 갯수를 36개로 만들어서 한번 테스트에 들어가 보고자 했습니다. 일단 이렇게 갯수를 줄이기는 줄여놓고.....

 

여기서도 그렇게 좋지만은 않은게 일단 위 스크린샷에서 볼 수 있는 것처럼 우선 45초라는 실행시간을 보여주고 있습니다. 이렇게 해서 1차 시도를 하기는 하였습니다.

 

그리고 나서 다음으로 보고자 하는 것으로는 위 스크린샷에서 볼 수 있는 것처럼, 일단 41초라는 조금은 더 짧아진 시간 사이에 어떻게 하는 것을 확인할 수 있었습니다.

 

그래서 이번에는 cpu의 갯수를 일단 24개로 만들어 놓고 나서, 첫번째 ray의 병렬처리 갯수와 2번째 ray의 병렬처리 갯수를 기존처럼 12 X 12로 하지 않고 6 곱하기 24개로 만들어 주도록 했습니다.

 

그리고 나서 두번째 ray의 타겟이 되는 메서드는 위 스크린샷에서 볼 수 있는 것처럼 일단 24개의 병렬 프로세스를 만들어 주도록 합니다.

 

일단 첫 실행은 무엇이라고 해야 할까요? 우선은 그렇게 좋지만은 않은 결과를 만들어 내는 것을 확인할 수 있기는 있었습니다. 이렇게 해서 50초 넘게 걸렸고.......

 

두번째 작업을 해본 결과는 위 스크린샷에서 볼 수 있는 것처럼 일단, 57초라는 더 실행시간이 걸리는 것을 확인할 수 있기는 있었습니다. 이렇게 해서 일단 작업을 하기는 했는데, 아직은 100% 다 되지는 않기는 않았습니다. 아무튼 간에 이 작업을 계속해서 이어서 해 보도록 하겠습니다.

반응형