기타 업적
레이저 프린터
최초의 레이저 프린터는 제록스 팔로알토 연구소에서 개발되었다. 그 주역은 게리 스타크웨더Gary Starkweather라는 광학 물리학자였다. 하지만 그는 물리학자였으므로 레이저 프린터의 원리를 발명해서 검증하는 데까지 성공했을 뿐이었다. 컴퓨터가 만들어낸 출력 이미지를 레이저 광선 생성기에 실어주는 부분은 컴퓨터 과학자의 몫이었다.
램슨은 신입 엔지니어였던 론 라이더와 함께 RCG(Research Character Generator)라는 기계를 만들었다. 높이가 2미터에 달하는 이 기계가 하는 일은, 컴퓨터가 전달한 이미지를 도트 단위로 한 줄씩 스캐닝해서 레이저 광선 생성기에 넘겨주는 일을 했다.5
스타크웨더가 만든 SLOT(Scanning Laser Output Terminal)이라는 기계는 RCG와 결합하자 비로소 그 위력을 드러냈다. 최초의 레이저 프린터였다.
분산 트랜잭션
제록스 팔로알토 시절에 램슨은 하워드 스터지스와 함께 분산 트랜잭션을 위한 2 단계 커밋 프로토콜two-phase commit protocol을 개발했다.3
네트워크로 컴퓨터들이 연결되어 있는 환경에서 컴퓨터들은 각자 작업을 독립적으로 진행할 가능성이 높다. 이런 상황에서 어떤 컴퓨터에 있는 데이터(예를 들어 파일)가 변경될 때 그 결과를 모든 컴퓨터가 동일하게 인식할 필요가 있다.
램슨은 은행 계좌를 예로 들었다. A라는 컴퓨터에 ‘홍길동’의 계좌 정보가 있고 B라는 컴퓨터에 ‘홍길순’의 계좌 정보가 있다고 가정해 보자. C라는 컴퓨터가 ‘홍길동’의 계좌에서 ‘홍길순’의 계좌로 100원을 송금하는 작업을 수행 중이다. 그렇다면 이 작업이 완료되면 다른 모든 컴퓨터들이 접근했을 때 ‘홍길동’과 ‘홍길순’의 잔액은 새롭게 바뀐 값으로 인식되어야 한다.
그런데 중간에 시스템에 문제가 발생하게 되면 어떻게 될까? ‘홍길동’의 계좌에서 송금 액수만큼 차감한 후에 ‘홍길순’의 계좌에 작업을 하려는 순간 B 컴퓨터가 먹통이 되었다고 하자. 그러면 이 송금 작업은 시작되기 전으로 복구되어야 한다.
램슨이 2단계 커밋 프로토콜을 처음 제안한 것은 아니다. 이미 그런 방법이 제안된 상태였으나 램슨은 이를 실제로 구현해 보고 확산시켰다.
컴퓨터 시스템 설계를 위한 힌트
1983년에 램슨은 <컴퓨터 시스템 설계를 위한 힌트>8라는 논문을 발표했다. 1983년이면 제록스 팔로알토 연구소에 큰 회오리가 몰아치던 때이다. 시스템 컴퓨터 연구실을 이끌던 밥 테일러가 쫓겨나면서 많은 핵심 연구원들이 혼란의 소용돌이가 빠져들었다. 아마도 램슨은 제록스 팔로알토를 떠날 결심을 하고, 그동안의 경험을 정리하고 싶었는지 모르겠다.
그는 두 가지 축으로 이야기를 풀어나갔다. 첫 번째 축은 시스템이 지향해야 하는 목표였다. ‘기능Functionality‘, ‘속도Speed‘, ‘장애허용Fault-tolerance‘이 거기에 해당한다. 그리고 각 목표에 대해서 해야 할 것이 두 번째 축이다. 여기에는 ‘완전함Completeness‘, ‘인터페이스Interface‘, ‘구현Implementation‘이 있다.
램슨은 자신이 개발했던 여러 시스템을 예로 들면서 어떻게 하면 ‘기능’, ‘속도’, ‘장애허용’이라는 목표에 대해 각각 ‘완전함’, ‘인터페이스’, ‘구현’을 수행하면 되는지 설명했다.
SDS 940의 활약
컴퓨터 역사상 유명한 컴퓨터를 든다면, IBM 704, CDC 6600, IBM 360, PDP-11, 알토, Apple II, IBM PC 등을 언급할 수 있을 듯싶다. 이에 비해 SDS 940은 사실 별로 알려지지 않은 컴퓨터이다.
앞에서 언급했듯이 SDS 940은 버클리의 지니 프로젝트에 의해 만들어진 SDS 930 수정 버전이다. SDS 930에 시분할 운영체제를 위한 하드웨어 변경이 추가된 기계이다. 시분할 운영체제라면 MIT의 CTSS, 멀틱스Multics와 BBN의 테넥스Tenex, 그리고 벨연구소의 유닉스Unix를 생각할 수 있다. CTSS는 IBM 기계에서 동작했고, 멀틱스는 GE 기계, 테넥스와 유닉스는 DEC의 PDP 기계에서 동작했다. 유닉스를 제외하고는 모두 널리 확산되지 못했다.
이에 비해 SDS 940은 제조사인 SDC의 비 적극성에도 불구하고 의외의 상업적 성공을 거두었다. SDC는 회사 이름이 의미하는 것처럼 과학계산용 컴퓨터 시장에만 관심이 있었고, 그 시장에서 충분히 이익을 거두고 있었기 때문에 굳이 시분할 시스템을 위한 시장 개척에 적극적이지 않았다.5 하지만 시장에서는 시분할 시스템을 원하는 수요가 있었다.
SDS 940은 더그 엥겔바트의 NLS에 사용되었고 1968년 추계 합동 컴퓨터 학술대회에서 열린 그 유명한 시연 행사에 사용되었다.
ARPANET에 처음 연결된 외부 컴퓨터는 SRI에 있던 SDS 940 컴퓨터였으며9, 최초의 인터넷 게시판이라고 일컬어지는 Community Memory 시스템이 XDS 940 컴퓨터에서 실행되었다.***
SDS 940은 시분할 서비스의 상용화에 중요한 요소가 되었다. 1960년대 후반부터 시분할 서비스를 판매하려는 회사들이 생겨났다. 이들은 사용자에게 계정을 만들어주고 사용 시간에 비례하여 요금을 받는 식의 비즈니스 모델을 도입했다.10 이를 위해서는 시분할 시스템이 필수였고, 당시의 대표적인 회사였던 Tymshare, Comshare 등이 SDS 940 시스템을 대량으로 구매했다.
약간은 까다로운 성격
버틀러 램슨의 업적을 보면 마치 컴퓨터 분야의 레오나르도 다빈치를 보는 듯싶다. 소프트웨어와 하드웨어를 모두 넘나들면서 남긴 족적들이 너무도 뚜렷하다. 그리고 혼자서 한 일보다는 누군가와 함께 한 일이 많다는 점도 흥미롭다. 그는 같이 일하기에 어떤 사람이었을까?
그는 말이 빨랐지만 설득력이 있었다. 그렇지만 뭔가 그럴듯한 아이디어가 떠오르면 생각이 말보다 빨리 앞서가서 말이 꼬이곤 했다. 그 두 가지의 속도가 잘 맞아 떨어지면 그의 생각은 다른 누구보다도 천 배는 더 빠르게 동작하는 듯했다. (웨스 클라크는 “말로 의견을 표현할 때 이론적인 최고 속도는 램슨을 보면 된다”라고 어떤 학술대회에서 말하기도 했다.)5
면도날 같은 지성에다가 당해낼 자가 없는 논쟁 실력을 겸비한 그는, 새로운 아이디어가 웬만한 수준이 아니면 명함도 내밀지 못하게 만들었다. 램슨과 논쟁을 벌여 이기기가 불가능한 것은 아니었지만 그는 심지어 그가 틀렸을 때에도 지는 일이 드물었다.5
램슨은 대단히 똑똑했고 통찰력과 설계 능력이 세밀해서 종종 그가 연습장에 쓱쓱 적어 내려간 것이 PARC 발명품에 없어서는 안 되는 중요한 요소가 되었고 그 횟수가 다른 사람들보다 월등히 많았다. 또한 그는 아주 신경질적이어서 누가 그의 의지를 꺾으려 들거나 반대 입장을 내놓으면 주위에 아랑곳없이 소리를 지르고 화를 냈다. 한 번은 워런 티틀먼이 계속 자극하자 램슨은 유리 재떨이를 그에게 던지기도 했다. 솔직한 성격의 티틀먼은, “버틀러는 사람을 위협하는 경향이 있었습니다. 그보다 생각이 느린 사람이나 똑똑하지 않은 사람들을 아주 힘들게 만들었죠”라고 회상했다.5
- *출처: https://en.wikipedia.org/wiki/Butler_Lampson, CC BY-SA 4.0
- †출처: https://www.youtube.com/watch?v=h33A-KWJKDQ
- ‡1979년에 튜링상을 수상했다. https://knowledgebasin.com/archives/persons/%ec%bc%80%eb%84%a4%ec%8a%a4-%ec%95%84%ec%9d%b4%eb%b2%84%ec%8a%a8
- §자유언론운동(Free Speech Movement)
- ¶이것은 순전히 저자의 추측임을 밝힌다.
- #출처: ETH Library, CC BY-SA 4.0, via Wikimedia Commons
- **Capability에 대한 한국어 번역은 여러 가지가 있다. ‘능력’ 외에도 ‘기능’, ‘권한’ 등이 사용되고 있다.
- ††세계 최초로 인텔의 DRAM을 사용하여 메모리 시스템을 구현했다.
- ‡‡출처: https://en.wikipedia.org/wiki/Xerox_Alto, Public Domain
- §§비슷한 시기에 벨 연구소에서는 BCPL을 개선하여 C언어가 만들어지고 있었다.
- ¶¶파스칼을 개발했던 니클라우스 비르트는 팔로알토 연구소에서 안식년을 보냈고, 이때의 경험으로 파스칼을 개선한 모듈라(Modula)언어를 후에 개발했다.
- ##2022년에 튜링상을 수상했다.
- ***SDS 사는 제록스에 인수되었고, SDS 940은 XDS 940으로 모델명이 바뀌었다.
참고 문헌
- 1.Oral History of Butler Lampson: Interviewed by Alan Kay. Computer History Museum; 2006:1-74.
- 2.An Interview with Butler Lampson: Conducted by Jeffrey R. Yost. Charles Babbage Institute; 2014:1-80.
- 3.Butler W Lampson. A.M. Turing Award Laureate. Accessed October 3, 2023. https://amturing.acm.org/award_winners/lampson_1142421.cfm
- 4.존 매카시 – Page 3 of 6 – 튜링상 수상자 시리즈. 지식함지. Accessed October 3, 2023. https://knowledgebasin.com/archives/persons/%ec%a1%b4-%eb%a7%a4%ec%b9%b4%ec%8b%9c/3
- 5.힐트직 마이클. 저주받은 혁신의 아이콘: 제록스 팔로알토 연구소. 지식함지; 2018.
- 6.Lampson B. Personal distributed computing: the Alto and Ethernet software. Proceedings of the ACM Conference on The history of personal workstations. Published online January 9, 1986. doi:10.1145/12178.12186
- 7.Lampson BW. Protection. SIGOPS Oper Syst Rev. Published online January 1974:18-24. doi:10.1145/775265.775268
- 8.Lampson BW. Hints for computer system design. SIGOPS Oper Syst Rev. Published online October 10, 1983:33-48. doi:10.1145/773379.806614
- 9.해프너 케이티, 라이언 매튜. 아무도 알려주지 않은 인터넷의 기원. 지식함지; 2016.
- 10.캠벨-켈리 마틴. 소프트웨어는 어떻게 밥벌이가 되었나: 소프트웨어 산업의 시작과 발전. 지식함지; 2021.
(c) 이재범, 2024
이 콘텐츠는 대한민국 저작권법의 보호를 받습니다. 작성된 모든 내용의 권리는 저자에게 있으며, 저자의 동의 없는 사용은 금합니다. 본 콘텐츠의 일부 혹은 전체 내용을 무단으로 전재/복제/배포하거나 2차적 저작물로 재편집하는 경우, 법적 책임을 지게 됩니다.
답글 남기기