현재 여러대의 컴퓨터를 네트워크로 연결 해서
일을 나눠주고 처리하는 분산처리시스템을 개발중이다.
오늘 프로젝트 미팅중에
이 시스템의 성능저하의 원인에 대해 이야기를 나눴다.
분산처리시스템은 크게 두가지로 나눌 수 있다.
Master(일을 나눠 주는 컴퓨터)
Worker(일을 받아서 일을 하는 컴퓨터)
Worker는 Master에게 일을 받아서
받은 일을 처리하기 위해 일에 착수해야 하는데
그 착수하기 까지가 시간이 오래걸리는 것이었다.
나는 단순히 네트워크 문제일 것이라고 생각했다.
Master와 Worker가 데이터를 주고받는 길 자체에 문제가 있을거라 생각 한 것이다.
그치만, 단순 그 문제가 아니었다.
사실은 Worker가 많이 아팠던 것이다.
Worker의 여력이 부족해서 (컴퓨터의 자원이 부족해서..
마스터와 연결하는 그 길 마저도 내어 줄 여력이 없었던 것이다. (소켓을 열어주는데 과부하가..
그래서 그 길을 열고자 이곳에서 저곳에서 힘을 끌어모아 (캐쉬 관리, 프로세스 스케쥴링을 거쳐..
겨우 길을 내어주었던 것이다. (Master와의 네트워크 연결
때로는 그 길 마저도 내주지 못하고 죽어버리는 컴퓨터들도 있었다.
누군가가 내게 오는 길 열어줄 수 없는 사람
누군가에게 가는 길 한발자국 뗄 힘이 없는 사람
시름시름 앓다가 특이점이 온 컴퓨터들 에게 애도를 표하며
나도 많이 아팠다.
'das Leben' 카테고리의 다른 글
10년의 시간 (4) | 2016.09.04 |
---|---|
Everybody's Got To Learn Sometime (6) | 2016.08.22 |
2016년 8월 3일의 이야기 (0) | 2016.08.11 |
휴가 - (2) | 2016.07.29 |
모두가 영재 (0) | 2016.07.14 |