저는 본 데스크탑 + 서브 노트북 or 서브 vm간에 통신 작업을 수행하려고 합니다. 통칭 본컴 + 서브컴 이렇게 부르겠습니다.
서브컴에서 오랜 시간동안 일련의 작업을 연속적으로 수행해야 하는데, 이 중에는 화면 전체에 특정 오브젝트가 있는지 판단하는 일도 있습니다. 이 판단에 대한 것은 tensorflow를 통해 이미 학습시켜둔 weight파일이 있습니다. 다만, 노트북이나 vm의 그래픽 성능으로는 도저히 제 시간 안에 판단을 마칠 수 없고 그 과정에서 랙이 걸리는 등 안정성에도 영향을 미친다고 느꼈습니다. 그래서 다른 작업은 다 서브컴에서 마치더라도, 이러한 그래픽 성능이 요구되는 작업 만은 화면의 전체나 일부를 스크린샷으로 캡쳐해서 본컴에 socket모듈을 통해 전송한 후 본컴에서 모든 판단을 마치고 서브컴에는 텍스트로 정답만 보내주려고 합니다.
저는 파이썬 유저이고 파이썬에 대해 아시는 분은 아시겠지만 파이썬에는 모듈이라고 해서 C언어 등보다 좀 더 손쉽게 무언가를 만들 수 있게 해주는 개념이 있습니다. socket이라는 모듈을 사용해서 통신을 시켜주고 있습니다.
다만, 이러한 판단을 일정 주기로 행해줘야 하는데 아직 주기를 정하진 않았습니다만, 길게는 20초에서 짧게는 5초나 10초 정도마다 판단 시켜줘야 할것으로 생각 됩니다. 그러니까 통신도 5초나 10초 주기로 일어나야 할 것입니다.
그런데 소켓 연결을 유지시키는 것에도 자원이 들고, 두 컴 간의 통신을 연결 시키는 것에도 자원이 들 것입니다.
주기가 길 수록 새로 연결하는 것이 도움이 될 거 같기도 하고.. 짧을 수록 연결을 유지하는것이 낫지 않을까 정도로 막연하게 생각하고 있습니다만, 자원 좀 더 쓰고 이정도야 뭐.. 크게 상관 없습니다. 다만, 그 과정에서 안정성이 떨어질까봐 기왕이면 조금이라도 더 안정적인 방법으로 하고 싶습니다.
매번 통신 끊고, 새 통신때마다 다시 연결해주는 것 vs 계속해서 통신을 유지시켜 두는것
이 둘중에 어느것이 나을지 판단하는데 조언 부탁 드립니다.
°¢ ¼ºêÄÄÀº °¢ÀÚ°¡ ÀÚ±â ÀÛ¾÷¸¸ ¼öÇàÇÏ¸é µÇ°ÚÁö¸¸ º»ÄÄ ÀÔÀå, ±×¸®°í ¶ó¿ìÅÍ¿¡µµ ºÎÇÏ°¡ °É¸°´Ù´Âµ¥.. ÃßÈÄ µ¿½Ã¿¡ ¿©·¯´ëÀÇ ¼ºêÄÄÀÌ µ¹¾Æ°¥ °ÍÀ» »óÁ¤Çؼ ¹Ì¸® Á¦´ë·Î Â¥µÎ°í ½Í½À´Ï´Ù