본문 바로가기

병렬처리46

멀티 프로세스를 이용한 병렬처리에 들어가 보기 -完- 안녕하세요? 이제야 말로 이 멀티 프로세스를 이용해서 한꺼번에 대량의 데이터를 처리하는 작업에 대해서 마무리를 지어야 할 시간인가 봅니다. 아무튼 간에 마지막으로 모든 내용을 올리고 어떻게 하면 안정적으로 테스트용 데이터 셋을 처리하는 데 시간이 걸렸는지에 대해서 한번 올려 보고자 합니다. 자식 프로세스의 안정적이며 효율적인 종료를 위해서 아예 exit(self)라는 메서드를 사용해 보도록 바꾸어 보았습니다. 이렇게 하면 종료까지 시간이 끌리지 않을 것이라 생각을 했습니다. 이렇게 해서 일단 위 스크린샷처럼 그런데로 종료가 나아져서 그나마 3개의 자식 프로세스가 유지가 되었습니다만, 그것도 시간이 더 있으니까 성공적으로 종료가 되었습니다. 결국 마지막으로 짧은 시간이 지나고 나서야, 위 스크린샷처럼 부모.. 2020. 2. 29.
멀티 프로세스를 이용한 병렬처리에 들어가 보기 -7- 안녕하세요? 지난번 포스팅에서 얼추 그럭저럭 만족할 만하게 돌아갈 프로그램을 만드는 데는 성공했습니다만, 문제는 아직 100%는 아니라고 할까 이래저래 문제가 많이 남아 있습니다. 그래서 이번 포스팅에서는 자동으로 자식 프로세스를 종료시킬 수 있는 방법을 찾아 보고자 합니다. ㅁ너저 자식 프로세스에서 다 끝이 났다는 생각이 들면, 위 스크린샷에서 볼 수 있는 것과 같이 그냥 quit()라는 함수를 추가해 주도록 합니다. 제대로 종료도 안되는 것은 물론이고, 거기다가 새로운 문제가 생겼습니다. 위 스크린샷에서 보이는 것처럼 직접 __init__()에 메인이 되는 메서드를 실행시키라고 하면, GUI가 아예 완료가 될때 까지 뜨지 않는 현상이 벌어졌습니다. 그래서 일단 위 스크린샷처럼 타이머를 두어서 일정 시.. 2020. 2. 28.
멀티 프로세스를 이용한 병렬처리에 들어가 보기 -6- 안녕하세요? 이번 포스팅에서는 이제 멀티 프로세싱이 되고, 정보를 전달하는 것이 어느정도 되기 때문에, 다음으로 해야 할일은 제대로 테스트를 해서 결과를 알아보는 일이라고 생각을 했습니다. 그래서 한번 더 정비를 해서, 테스트 데이터 셋을 가지고서 한번 결과를 내어 보고자 합니다. 먼저 이 작업을 하기 위해서는 몇번째 for루프에서 작동이 된 QProcess인지 알아보는 것이 중요하기는 중요합니다. 그래서 먼저 기존의 py파일에다가 변형을 가해주도록 합니다. 그리고 이 작업을 하기 위해서 위 스크린샷에서 볼 수 있는 것과 같이 rolling에다가 기존에 있던 120에서 60으로 줄여서 작업을 하도록 해 보았습니다. 그리고 나서 시각화를 해주는 곳으로 가서는, 위 스크린샷에서 볼 수 있는 것처럼 일단 새로.. 2020. 2. 27.
멀티 프로세스를 이용한 병렬처리에 들어가 보기 -4- 안녕하세요? 또 다시 이렇게 작업을 했는 결과를 올리는 시간이 찾아왔습니다. 일단 이번 포스팅에서는 지난번에 언급한 대로 PyQt5를 이용한 GUI를 사용했다면, QProcess를 사용해야 하는데, 이걸 지난번에는 적용하려다가 통신을 연결하는데 실패했는 경험이 있었습니다. 그래서 이번에는 제대로 될지 잘은 모르겠습니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 일단 코드를 2개 추가해 주도록 합니다. 이 코드들은 원랜느 QProcess를 작동시키고, 여기서 나오는 결과를 읽어서 TheMarker에 주어야 하는데 그게 안되어서 끝내 주석처리를 하였습니다. 그리고 나서 다음으로 해야 할 것은 어떻게 자동으로 제가 파이썬 환경을 찾을 수 없어서 하는 수 없이 그대로 가지고 오도록 해야만 했습니다. 그래서 이 .. 2020. 2. 27.