안녕하세요?
이번 포스팅에서는 어떻게 해서 24개의 프로세스를 동시에 구름 IDE에서 ray를 사용해서 돌려 보기 위해서, 한번 작업에 들어가 보도록 하겠습니다. 그런데 이런 시도가 일단 다 100% 성공하는 것도 아니기는 아니라서, 이번 포스팅에서는 아마도 절반만 성공한 기록이 될 듯 합니다.
일단 이 작벙르 하기 위해서 메모리가 지속적으로 치솟는 것을 방지하기 위해서, gc.collect()라는 것을 가지고 오도록 합니다. 이렇게 해서 가지고 와서, 다음의 작업에 사용해 보도록 합니다.
그리고 나서 너무나 속도가 느려지는 감이 있어서 60%를 넘게 메모리가 사용되면, 자동으로 메모리를 확보하는 명령어를 사용해 보도록 합니다.
그런데 이렇게 하고서도, 상황이 해결이 되지 않은 것이, 일단 속도는 빨라진 감이 있기는 있지만, 여전히 gc를 사용하지 않은 것에 비해서 좀 느립니다. 그런 상황이 되어서도 위 스크린샷과 같이 영 메모리의 확보가 좋지 못합니다.
그래서 한번 자료를 찾아본 바에 의하면, 위 스크린샷에서 발견할 수 있듯이 put()이라는 명령어를 사용하면, 일일히 복제를 하지 않고도, 공유하는 내용을 집어넣을 수 있어 보입니다.
그래서 관련된 내용을 일단 공통되는 내용은 밖으로 빼 놓도록 했습니다. 이렇게 해서 다음으로 해야 하는 일로는 이제, 작업을 하기 위해서, for loop의 순서는 따로 지정을 해야 합니다.
그리고 나서 이런 명령어를 가지고 갈 수 있도록 일단 기존에 없던 data2를 제공해 주도록 합니다. 이렇게 함으로써 이제 다음 작업은 child인 py파일로 가서 클래스가 변수를 받을 수 있도록 만들어 주는 것 입니다.
그리고 나서 이제 자식 프로세스가 될 py파일로 가서, 여기서 몇번째 파일인지 받아오는 과정을 거치도록 만들어 주도록 합니다. 이렇게 해서 일단 put()메서드를 이용해서 메모리를 절약하는 방식을 사용해 보고자 합니다. 그런데 이게 과연 효과가 있을지 없을지는 아직 잘 모르겠습니다.
'무모한 도전-주식 인공지능 만들기' 카테고리의 다른 글
우연히 발견한 구름IDE만의 특이한 사항(?) part1 (0) | 2020.07.24 |
---|---|
Ray를 사용하는 작업에 들어가 보기 -Done- (0) | 2020.07.24 |
Ray를 사용하는 작업에 들어가 보기 -9- (0) | 2020.07.23 |
Ray를 사용하는 작업에 들어가 보기 -8- (0) | 2020.07.23 |
Ray를 사용하는 작업에 들어가 보기 -7- (0) | 2020.07.23 |