분산 시스템 고전 논문 10편 목록이 해커뉴스에 올라와, Lamport가 그중 5편을 씀
- 1978년 Lamport의 Time, Clocks, and the Ordering of Events부터 2014년 Raft(In Search of an Understandable Consensus Algorithm)까지 분산 시스템 고전 논문 10편을 연도순으로 정리한 목록임
- 10편 중 Leslie Lamport가 단독 또는 공저로 5편(Time and Clocks, Byzantine Generals, Distributed Snapshots, The Part-Time Parliament, Paxos Made Simple)을 씀
- 댓글에서 Joe Armstrong의 2003년 박사논문 Making reliable distributed systems in the presence of software errors가 빠졌다는 지적이 나옴. 295페이지라 평균 15페이지인 다른 논문과 달리 교재 성격이어서 목록에 없는 것 같다는 반론도 붙음
- 댓글에서 RFC 677(The Maintenance of Duplicate Databases), Chain Replication, Brewer's Conjecture(CAP 형식화), Paxos Made Live, Practical Byzantine Fault Tolerance를 추가 후보로 제안함
- Lamport가 자기 사이트에 논문별 해설을 모아뒀고, Time Clocks 논문이 RFC 677에서 시작했다고 직접 밝혔다는 댓글이 달림. 논리 시계 논문에 상태 머신 내용이 있다는 걸 아는 사람이 거의 없다는 Lamport의 푸념도 인용됨
Hacker News opinions
이런 목록엔 항상 Joe Armstrong의 박사논문 Making reliable distributed systems in the presence of software errors가 빠져 있더라.
Armstrong 논문은 295페이지라 그냥 교재에 가깝고, 여기 실린 논문들은 평균 15페이지쯤이라 일부러 안 넣은 걸 수도 있음.
Erlang이나 Elixir 아직 쓰는 사람 있나?
분산 시스템 첫 수업이 resilience라는 말에 공감함. 실험실에서 GPU 24시간 돌리다 보면 서버가 타는 것도 심심찮게 봄.
Lamport가 여기 실린 논문 절반 넘게 썼다는 게 제일 놀라움. 그것도 LaTeX까지 만들고.
Knuth나 Lamport, Carmack 같은 사람들은 뭘 먹고 사는지 궁금함. 논문 쓰고 수업하고 학회 가면서 어떻게 그걸 다 함?
좀 덜 주류인 것도 추천할게. RFC 677은 논리 시계의 기원이고, Chain Replication은 클라우드 규모 복제에서 엄청 많이 쓰임.
Brewer's Conjecture는 CAP를 형식화한 고전인데, Availability를 괴상하게 정의해서 그 후 10년간 이상한 트레이드오프 사고를 퍼뜨렸음.
Paxos Made Live는 이론이던 논의에 엔지니어링 관점을 넣었고, PBFT는 비잔틴 장애 논의를 크게 밀어줬음.
Lamport 자기 사이트에 논문 해설을 다 모아놨더라. Time Clocks가 RFC 677에서 시작했다고 직접 써놨음.
논리 시계 논문에 상태 머신 얘기가 있다는 걸 아는 사람이 거의 없다고 Lamport가 푸념한 것도 인상적임.
최근에 CAP 배운 CS 졸업생인데, Availability를 괴상하게 정의했다는 게 무슨 뜻임?
분산 시스템에서 절대적 순서보다 이벤트 사이 관계가 더 근본적이라는 생각이 상대성이론이랑 닮았다고 봄.
근데 실제 시스템에선 순서가 더 중요함. 지정된 관찰자가 받은 순서대로 직렬화하는 게 훨씬 다루기 쉬움.
절대 순서 맞추려면 정밀 시간 동기화가 필요하고, 이미 일어난 이벤트를 다 받았는지 아는 것도 어려움. 관찰자가 하나 골라서 첫 번째로 본 걸 고르면 대충 됨.
뜨거운 의견 하나 던져보면, CS는 수학이 아니라 이론물리학의 한 갈래임. 람다 계산법도 결국 물리 법칙에서 온 속도 제한을 품고 있음.