빛은 충분히 빠르지 않다.
몇달 전, 철권 네트웍 플레이를 하면서 그런 생각이 들었다. 빛은 1초에 지구를 7.5바퀴 돈다고 알려져 있다. 반대로 말하면, 지구를 한 바퀴 도는데에 약 133.333ms 정도가 걸린다. 클라이언트와 서버가 정확히 지구 반대편에 있다면, 기술이 아무리 발전하더라도 request부터 response까지의 레이턴시를 133.333ms 이하로 줄일 수가 없다. 오버헤드가 0 이고, 지구 전체가 광랜이라고 하더라도.
격투 게임이나 FPS게임들은 1초에 60프레임으로 구성되어 있는데, 한 프레임에 약 16.666ms 정도라고 할 수 있다. 왕복 133.333ms 이면 약 4프레임이 지나간 후에야 첫번째 프레임에 대한 정보가 지구 반대편에 도착하고, 그에 대한 반응이 다시 4프레임 후에 출발지로 돌아온다. 8프레임 정도가 약 133.328ms 인데, 철권에선 4프레임 안에 주먹을 눌러야 초풍신이 나갈 정도로, 8프레임 정도면 인간이 체감할 수도 있는 의미가 있는 시간이다. 그래서 대부분의 게임들은, 각 지역별로 서버를 운영해서 물리적인 거리를 줄이는 것으로 타협을 한다. 그래도 latency가 1프레임 이하로 떨어지긴 현실적으로 어렵다. 통신매체로 빛을 사용하더라도 그렇다. 물론, 서로 다른 대륙의 플레이어가 FPS같은 것을 같이 하기란 매우 어렵다. 상당한 렉을 경험할 것이다.
미래에 이것이 개선될 수 있을까? 빛보다 빠른 이론적인 가상의 물질로 타키온(tachyon)이라는 것이 있다. 2011년 9월 22일에 CERN(유럽 입자 물리 연구소)은 빛보다 빠른 중성미자를 발견했다고 했으나, 이는 장비 오류였던 것으로 밝혀졌다. 만약, (아직 존재가 입증되지 않은) 타키온이 실존한다고 치자. 133.333ms 이하로 통신을 하려면 빛보다 빠른 타키온을 이용해야 한다. 빛보다 빠르다. 상대성이론에 따라서 패킷이 과거로 가는건가? 잘 모르겠지만, 그렇다고 치자. request를 보내지 않았는데 response가 먼저 돌아오는건가? 그럼, 난 이미 response를 받았으니깐 request를 안 보내도 되나? 그럼 request가 없었으니 response가 존재하지 않는건가? 이런걸 time paradox라고 한다. 빛보다 빠르면 시간이 거꾸로 가는 것이 맞는지 아닌지도 헷갈리긴 하지만, 어쨌든간에, 타키온 이론에서도 타키온이 존재하더라도 정보를 전송할 수는 없다고 한다. 안타깝게도, 빛보다 빠른 이론적인 물질을 통해서도 통신은 불가능하다.
기술이 충분히 발전한 먼 미래에도, 지구 반대편과의 network latency를 133.333ms 이하로 줄일 수는 없을 것이다. bandwidth는 늘어나겠지만 latency를 줄일 수는 없다. 그리고 이 물리적인 latency 제한은 소프트웨어 엔지니어들에게 영원한 짐이 될 것이다. 이게 다 빛이 충분히 빠르지 않기 때문이다.