동시성과 특수 상대성 이론

khan·2026년 5월 26일
post-thumbnail

참고 : https://www.microsoft.com/en-us/research/publication/time-clocks-ordering-events-distributed-system/?utm_source=chatgpt.com

“시간”은 정말 절대적일까?

우리는 보통 시간을 절대적인 기준이라고 생각한다.

오전 9시는 모두에게 같은 오전 9시이고,
먼저 일어난 일과 나중에 일어난 일은 명확하다고 느낀다.

그런데 아인슈타인은 말했다.

“그건 관찰자에 따라 달라질 수 있다.”

동시에 일어난 사건도 사람마다 다르게 볼 수 있다고?

특수 상대성 이론에서는
두 사건의 순서가 관찰자마다 달라질 수 있다.

어떤 관찰자는:

  • A 사건이 먼저 발생했다고 보고

다른 관찰자는:

  • B 사건이 먼저 발생했다고 볼 수 있다.

절대적인 “동시”라는 개념이 깨진 것이다.

남는 건 단 하나다.

“영향을 줄 수 있었는가?”

즉, 인과관계(causality)만이 진짜 순서를 결정한다.

그런데 이게 왜 컴퓨터공학이랑 연결될까?

분산 시스템도 똑같은 문제를 겪는다.

서울 서버와 뉴욕 서버는
절대적으로 동일한 시간을 공유하지 못한다.

네트워크 지연은 항상 존재하고,
서버 시계도 미세하게 어긋난다.

그래서 어떤 요청이 “진짜 먼저” 도착했는지를
완벽하게 알 수 없다.

그렇다면 컴퓨터는 순서를 어떻게 판단할까?

여기서 Leslie Lamport가 등장한다.

:contentReference[oaicite:0]{index=0} 는
1978년 논문에서 놀라운 관점을 제시한다.

“실제 시간을 믿지 말자.”

대신:

  • 누가 누구에게 영향을 주었는가
  • 어떤 이벤트가 어떤 이벤트를 발생시켰는가

즉 “인과관계”만 추적하자는 것이다.

Lamport는 왜 이런 생각을 했을까?

흥미롭게도 Lamport는 직접 말한다.

자신은 특수 상대성 이론을 직관적으로 이해하고 있었고,
그 덕분에 분산 시스템 문제의 본질을 바로 이해할 수 있었다고.

그가 깨달은 핵심은 이것이었다.

“사건에는 절대적인 전체 순서(total ordering)가 존재하지 않는다.”

오직:

  • causality
  • partial ordering

만 존재한다.

그래서 탄생한 것이 무엇일까?

이 생각은 이후 현대 분산 시스템의 뿌리가 된다.

  • Logical Clock
  • Vector Clock
  • Distributed Consensus
  • Paxos
  • Raft

같은 개념들이 모두 여기서 시작된다.

오늘날:

  • Kafka
  • Cassandra
  • Google Spanner

같은 거대한 시스템들도
결국은 이 문제와 싸우고 있다.

“시간은 정말 절대적인가?”

그리고 컴퓨터공학은,
생각보다 물리학과 훨씬 가까운 곳에 있었다.

profile
과학과 컴퓨터를 좋아하는

0개의 댓글