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

ray를 사용한 병렬처리를 nested 하게 만드는 법 -2-

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

안녕하세요?

 

이번 포스팅에서는 어떻게 해서 지난번에 하지 못한 ray를 이용해서 호출한 메서드에서 다시 ray를 활용하는 것에 대해서 이야기를 해 보고자 합니다. 일단 이 과정이 잘 될지 안될 지는 모르겠습니다만, 이걸 영어권 자료에서는 nested라고 해서 병렬처리 안에 또 병렬처리를 하는 것으로 이야기를 하고 있습니다.

 

그리고 나서 일단 이 작업을 하기 위해서, 위 스크린샷에서 볼 수 있는 것처럼, 일단 두번째 타겟을 ray의 목표물로 지정을 해 준 다음에, 각자 처리되는 시간이 다를 수 있으니, 여기서는 ray.wait()을 붙여 주도록 합니다.

 

그런데 변수하나를 집어넣는 것이 빼먹어서 그런지 몰라도 또 에러가 나오는 것을 확인할 수 있었습니다. 이렇게 해서 일단 하나 나오기는 나왔습니다만, 일단 오류부터 잡아 보도록 합니다.

 

일단 여기서 에러는 바로 self를 빼먹은 것이었고, 이렇게해서 입력해야 할 변수는 모두 입력해 주는데 성공하기는 성공했습니다.

 

 

일단 이렇게 해서 첫 실행은 제대로 되는 것을 확인할 수 있기는 있었습니다. 이렇게 실행을 하였는데 47초로 조금 짧아진 것 같기는 합니다.

 

그리고 작동이 되었다는 중요한 요소로 바로 위 스크린샷과 같이 텍스트 파일이 생성이 되는 것을 확인할 수 있기는 있어야 합니다.

 

그리고 나서 다음으로 해야 하는 것으로는 위 스크린샷에서 볼 수 있는 것처럼 다시한번 더 실행을 시켰을 경우에는 43초로 더 짧아진 실행시간을 보여주고 있습니다. 아마 구름 IDE의 특징때문에 이러는 듯 합니다.

 

그래서 이번에는 조건을 달리해서 한번 알아보기 위해서, 위 스크린샷에서 볼 수 있는 것처럼 일단 시작시에 지정이 되는 cpu의 갯수를 12개에서 24개로 올려 보도록 합니다.

 

이렇게 해서 일단 실행을 시켰더니, 위 스크린샷에서 볼 수 있는 것처럼 우선 42초 정도 걸린 것을 확인할 수 있기는 있었습니다.

 

다시한번 실행을 시킨 결과는 위 스크린샷에서 볼 수 있는 것과 같이 일단 36초 정도 걸렸는데, 이렇게 구름 IDE가 항상 일정한 성능을 보여주지는 않아서 일단 여러번 작업을 해서 평균을 내야 하는 것이 걸리기는 합니다. 아무튼 계속해서 최적화를 위한 일차적인 실험에 들어가 보도록 합니다.

반응형