산에 나무를 심는 가장 똑똑한 방법
아주 큰 민둥산에 나무를 심는 거대한 자원봉사 현장입니다. 수천 명의 사람들이 모였는데, 베이스캠프 한 곳에서 모든 사람에게 정확히 어디를 파야 할지 일일이 무전으로 지시를 내립니다. 당연히 무전 채널이 꽉 막히고 사람들은 지시가 올 때까지 멍하니 서 있게 되죠. 컴퓨터 세상의 네트워크도 비슷합니다. 중심이 되는 컴퓨터 한 대가 수많은 기기에게 일일이 작업을 나눠주려 하면 심각한 병목 현상이 생겨 전체 작업이 뚝 끊기게 됩니다.
그래서 속도를 내기 위해 방식을 바꿨습니다. 현장 조장들이 알아서 근처 빈 땅을 찾아 팀원들을 보내기로 한 겁니다. 근데 새로운 문제가 생겼습니다. 산봉우리 양쪽에 있던 두 조장이 우연히 똑같은 공터로 팀을 보낸 거죠. 좁은 곳에 사람들이 몰려 서로 발을 밟고 흙만 망치게 되었습니다. 기기들이 서로 소통 없이 각자 알아서 일을 처리하는 방식도 이와 같습니다. 우연히 한 기기에 일이 한꺼번에 몰리면 컴퓨터가 그대로 굳어버립니다.
이 문제를 해결하려고 주최 측은 일정 확인 담당자를 새로 두었습니다. 이제 조장들은 출발하기 전에 어디로 갈지 무전으로 미리 계획을 알립니다. 담당자가 지도를 보다가 두 팀이 겹칠 것 같으면, 즉시 한 팀에게 다른 안전한 빈터를 안내해 줍니다. 새로운 컴퓨터 기술의 핵심이 바로 이겁니다. 작업이 시작되기 직전에 모든 기기의 예정된 계획을 미리 살피는 안전장치를 두어, 한 곳에 일이 몰릴 것 같으면 다른 곳으로 방향을 틀어주는 겁니다.
처음에는 산 전체를 담당하는 사람 한 명이 이 확인 작업을 다 했습니다. 겹치는 일은 막았지만, 봉사자가 늘어나자 이 한 명마저 모든 계획을 확인하느라 지쳐버렸죠. 해결책은 산을 여러 계곡으로 나누고 각 구역마다 담당자를 따로 두는 것이었습니다. 구역 담당자들은 팀들이 경계선 근처로 갈 때만 서로 소통하면 충분했습니다. 디지털 세상에서도 이 안전장치를 여러 구역으로 쪼개어 관리하면, 네트워크가 아무리 커져도 시스템이 항상 빠르게 돌아갑니다.
구역별 담당자들 덕분에 이 산은 사람들이 한 곳에 몰리는 일 없이 역대 가장 빠른 시간 안에 나무 심기를 마쳤습니다. 우리가 매일 쓰는 복잡한 디지털 네트워크에서도 이 방식을 쓰면 처리 시간을 절반으로 줄이고 에너지도 훨씬 적게 씁니다. 거대한 작업을 해낼 때 느려터진 중앙 통제나 무질서한 각자도생은 필요 없다는 걸 보여준 셈입니다. 그저 행동을 시작하기 직전, 가볍게 계획을 맞춰보는 것만으로도 충분합니다.