컴퓨터 과학자로서의 삶
제임스 하디 윌킨슨(James Hardy Wilkinson)은 1919년 9월 27일 영국 스트루드에서 태어났다. 작은 낙농업을 하는 집안에서 다섯 형제 중 셋째였던 그는 어려서부터 수학에 재능을 보였고 11살 때 조셉 윌리엄슨 수학 학교에 장학금을 받고 입학했다. 그는 당시 영국에서 수학의 메카로 불리던 케임브리지 트리니티 대학을 16살에 입학했다.
케임브리지 대학에 입학했을 때 나이가 좀 어린 편이었습니다. 사실 2학년이 되었을 때도 내가 여전히 케임브리지에서 가장 나이가 어렸습니다… 나는 항상 뭔가 실제로 벌어지는 것을 좋아했습니다. 전에도 종종 말한 바와 같이 나는 자전거라든가 뭐 그런 비슷한 것들이 고장 나면 직접 고쳤습니다… 하지만 수학 3학년 과정을 들을 때쯤에는 주로 순수 수학에 빠져 있었습니다. 저도 의외였습니다.2
1학년 때 최우수 신입생 상을 받았던 그는 뛰어난 성적으로 졸업했고 대학원에 진학하여 정통 수학자의 길을 차곡차곡 밟아나갔다. 하지만 제2차 세계대전이 발발하면서 그는 학업을 계속하기 어려운 상황이 되었다. 현역 복무의 대안으로 영국 조달부Ministry of Supply의 연구 기관 근무를 택한 그는, 케임브리지 대학교의 수학적 연구소Mathematical Lab‡에서 3년 반 정도를 일하다가 포트 할스테드Fort Halstead§에 있던 무기 연구소Armament Research로 자리를 옮겼고 이곳에서 폭약, 미사일 등 열역학과 관련된 일을 했다.2
전쟁이 끝난 후 그는 진로에 대해 고민했다. 다시 대학으로 돌아갈 생각도 했지만, 마침 국립물리연구소에 수학 관련 부서가 생겼다는 소식을 듣게 된다. 그는 1946년에 국립물리연구소에 입사했고 수학부Mathematics Division에서 일하기 시작했다.
나는 케임브리지로 돌아갈 생각을 상당히 진지하게 했습니다. 그러다가 전자식 컴퓨터에 관한 소문을 듣게 되었죠. 전자식 컴퓨터가 있으면 편미분 방정식을 제대로 풀 수 있을 것 같았습니다… 얼마 후 나는 국립물리연구소에 수학부가 생겼다는 소식을 듣게 되었습니다. 그래서 케임브리지의 수학적 연구소에서 일할 때 동료였던 굿윈에게 연락했습니다. 그는 이미 그 부서에서 일하고 있었습니다. 그는 한번 보자며 나를 연구소로 불렀고 거기서 앨런 튜링을 만났습니다. 좀 별난 사람이라는 평판이 있음을 이미 알고 있었습니다. 튜링과 나는 오랜 시간 이야기를 나눴고 나는 아주 깊은 인상을 받았습니다. 그가 나에게 혹시 연구소에 입사하게 되면 같이 일하자고 말한 것으로 보아 그도 나에게 꽤 만족했었던 것 같습니다. 그래서 대학으로 돌아가는 대신에, 6년 반의 정부 기관 근무를 정리하고 국립물리연구소에 입사했습니다. 그때만 해도 오래 다닐 줄은 몰랐어요.3
윌킨슨이 속한 수학부는 두 개의 부속 조직을 가지고 있었다. 수치계산을 중점적으로 하는 계산과Computing Section와, ACE 컴퓨터 설계를 담당하는 ACE과ACE Section가 있었다. ACE 컴퓨터는 국립물리연구소가 의욕적으로 추진하던 사업이었지만 실제로 이 일을 하는 사람은 앨런 튜링 혼자였다. 양쪽 모두 윌킨슨을 필요로 했으므로 윌킨슨은 근무 시간의 절반씩 양쪽 부서에서 일하기로 했다.
앨런과 나는, 수학과를 위해 국립물리연구소가 임시로 사용하고 있던 오래된 가옥의 맨 위층에 있는 아주 작은 방에서 몇 달 동안 함께 일했습니다…. 튜링은 자신의 제국을 만들려는 사람이 아니었습니다. 그는 천천히 사람을 모았고, 이렇게 모은 사람들과는 비교적 살갑게 일했습니다. 일 년 후에는 두 명이 더 있었는데 마이크 우드거와 해리 허스키였습니다.¶
앨런 튜링은 자신만의 방법으로 컴퓨터를 설계했고 대용량의 메모리를 가지는 시스템을 만들고 싶어했다. 결국 의견 차이로 연구소 간부들과 갈등을 빚다가 맨체스터 대학교로 떠나고 만다. 그러자 ACE 컴퓨터 제작은 윌킨슨의 선택에 맡겨졌다. 윌킨슨은 과감히 그 책임을 떠맡았다. 그는 앨런 튜링의 설계를 축소하여 Pilot ACE라는 시스템을 설계했고 다른 부서와 긴밀히 협조하여 1950년에 마침내 완성했다.
Pilot ACE는 메모리 용량이 320워드word 밖에 되지 않는 작은 시스템이었지만 결과는 예상을 뛰어넘었다. 성능에 중점을 두었던, 앨런 튜링의 설계 덕분에 뛰어난 성능을 보였고, 후에 DEUCE라는 상용 시스템으로 판매되었다.
윌킨슨은 ACE를 설계하면서 ACE에서 사용할 프로그램도 동시에 직접 개발했다. 수치해석에 경험이 많았던 그는 ACE에서 사용되는 선형대수용 라이브러리를 개발하는 과정에서 오차 해석Error Analysis에 관심을 가지게 되었다.
나는 이미 부동소수점floating point 계산 루틴의 첫 버전을 만들어 보았던 상태였습니다. 그리고 1947년에 도널드 데이비스, 마이크 우드거, 제랄드 알웨이, 빌리 커티스, 존 노튼 등이 모두 함께 그 루틴을 다듬었습니다. 그런데 우리가 사용할 수 있는 컴퓨터가 없었죠…. 튜링의 기계는 옵티멈 코딩optimum coding 이라는 방식 덕분에 부동 소수점 연산 (그리고 2배 길이double-length 연산 같은 다른 중요한 연산들)이 다른 경쟁 기계들에 비해 훨씬 빨랐습니다… 마침내 Pilot ACE를 완성한 후에 우리는 전에 만들어 두었던 루틴을 다시 꺼내서 좀 더 다듬어 사용했습니다. 당시 기준으로는 정말 빨랐습니다. 덕분에 우리는 다른 곳에서 부동소수점 계산이 실용화되기 전에 부동소수점 계산에 관한 광범위한 경험을 할 수 있었습니다. 국립물리연구소가 부동소수점 오차 해석에서 앞서 나갔던 이유가 여기에 있다고 확신합니다.3
1950년대 초반에 ACE를 통해 다양한 선형대수 계산을 해 본 그는 의외로 결과값에 오차가 크게 발생하지 않음을 반복적으로 확인하게 되었고 그 이유를 파고들었다. 그는 역방향 오차해석Backward error analysis이라는 방법을 통해서 컴퓨터의 반올림 오차roundoff error가 수치계산 결과에 큰 오류를 야기하지 않음을 보여주었다.4
크기가 큰 행렬 문제들을 실제로 풀어본 결과, 나는 내가 사용하는 알고리듬이 사람들의 예상보다 훨씬 안정적임을 알게 되었습니다. 자연스럽게 나는 이유가 궁금해지기 시작했습니다. 그래서 반올림 오차해석을 시작했습니다. 맨 처음에는 다항식에 관한 분석을 했습니다. 1955-56년 쯤에 선형대수 관련 분석으로 넘어갔습니다.3
또한 그는 컴퓨터를 이용한 고유값Eigenvalue 계산에서도 큰 성과를 남겼다.
1980년에 은퇴할 때까지 영국 국립물리연구소에서 재직한 그는 석사나 박사 학위를 받지는 않았지만 영국왕립협회의 회원이 되었으며 여러 유명 대학교에서 강의를 했다. 그는 국립물리연구소가 있는 영국 테딩턴에서 1986년 10월 5일에 세상을 떠났다.
답글 남기기