TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 33 READS

냉전의 비밀 병기, IBM 하베스트가 60년 전 예고한 스트리밍·GPU 아키텍처

냉전의 비밀 병기, IBM 하베스트가 60년 전 예고한 스트리밍·GPU 아키텍처
SOURCE IMAGE · HACKER NEWS

오늘날 GPU가 CPU 옆에 붙어 게임 렌더링과 AI 연산을 도맡고, 데이터 파이프라인이 끊임없이 흘러드는 스트림을 실시간으로 처리하는 구조는 지극히 현대적인 발상처럼 보인다. 그러나 그 원형에 해당하는 기계가 이미 1962년에 존재했다. 미국 국가안보국(NSA)이 IBM에 의뢰해 단 한 대만 제작한 '하베스트(Harvest)', 공식 명칭 IBM 7950이다. 쿠바 미사일 위기 무렵 가동을 시작해 베트남전과 1975년 헬싱키 협정 이후까지 14년간 NSA의 가장 민감한 감청 데이터를 처리했고, 결국 기계의 가동 부품이 마모돼 멈출 때까지 돌아갔다. 존재 자체가 기밀이었던 탓에 세상은 오랫동안 이 컴퓨터를 알지 못했지만, 당대 어떤 컴퓨터보다 최대 200배 빠르게 작업을 수행했다.

범용 메인프레임에 붙인 전용 가속기

하베스트의 앞단은 IBM이 1960년 내놓은 트랜지스터 메인프레임 IBM 7030, 통칭 '스트레치(Stretch)'였다. 스트레치는 오늘날 표준이 된 8비트 바이트 개념을 도입했고, 1961~63년 사이 주로 과학 연구소에 여덟아홉 대가 납품되며 한동안 비기밀 세계에서 가장 빠른 컴퓨터로 통했다. 다만 이전 기종 IBM 704보다 100배 빠르게 만들겠다는 IBM의 목표에는 미치지 못했다. NSA는 여기에 정수·문자 데이터를 걸러내는 전용 보조 프로세서를 얹기를 원했고, 두 차례 제안이 무산된 끝에 1958년 IBM이 계약을 따냈다.

스트레치가 핵무기 설계나 기상 예측 같은 부동소수점 연산에 강했다면, 하베스트의 코프로세서는 정반대였다. 긴 명령어 시퀀스를 실행하는 대신 하나의 고정된 처리 단계를 스쳐 지나가는 모든 문자 쌍에 똑같이 적용하는 스트리밍 방식이었다. 스트레치와 메모리를 공유하며, 스트레치가 스트리밍 모드로 전환하면 스스로를 멈추고 하베스트가 메모리 위 데이터를 초고속으로 훑었다. 이 add-on 설계, 즉 범용 컴퓨터에 특정 작업만 탁월하게 처리하는 전용 보조 장치를 볼트로 붙인 구조는 오늘날 CPU와 GPU의 관계를 60년 앞서 구현한 셈이다.

비트 단위로 흐르는 세 개의 스트림

코프로세서는 메모리에서 P와 Q라는 두 데이터 스트림을 끌어와 병렬로 처리한 뒤 결과를 R이라는 세 번째 스트림으로 되돌렸다. 각 스트림은 1비트에서 8비트까지 폭을 가질 수 있었고, 메모리가 비트 단위로 주소 지정이 가능해 바이트 경계를 무시하고 5비트만 가져오는 식의 처리도 됐다. 데이터가 비교되는 동안 다음 쌍을 미리 메모리에서 가져오는 파이프라인 방식도 채택했다. P와 Q는 두 기능 유닛으로 들어갔는데, 하나는 비트 연산을 수행하는 단순한 로직 유닛이었고, 다른 하나는 두 데이터를 결합해 메모리 주소를 만들어 카운터를 올리거나 저장값을 꺼내는 테이블 룩업 유닛이었다. 후자는 사실상 당대 암호 기계의 로터 휠처럼 값을 치환하는 역할을 했다.

통합 시스템으로서 하베스트는 0.3마이크로초마다 1바이트를 흘려보냈고 약 800킬로바이트의 주소 지정 가능 메모리를 갖췄다. 자기 코어 메모리 여섯 뱅크는 냉각을 위해 기름에 잠겨 있었다. 성능을 실감케 하는 기록도 남아 있다. 35억 문자의 텍스트에서 7,000개 검색어를 찾는 작업을 4시간 이내에 끝냈고, 'Moretown'이라는 암호명의 작업에서는 16년치 감청 1,100만 건을 약 8,000개 검색어와 대조하는 데 약 10시간이 걸렸다.

세계 최초의 자동 테이프 도서관, 그리고 알파 언어

이 처리 능력을 먹여 살리려면 끊이지 않는 데이터 공급이 필요했다. 당시 하드디스크는 걸음마 단계였고 하베스트가 다루는 규모의 작업에는 비용과 면적 모두 비현실적이었다. 그래서 IBM은 IBM 7955 '트랙터(Tractor)'라는 세계 최초의 자동 테이프 도서관을 붙였다. 로봇이 랙에서 원하는 카세트를 집어내는 방식이었다. 카세트 하나는 볼링공만 한 6~7킬로그램에 550미터 테이프로 약 120메가바이트를 담았고, 저장 유닛 하나가 최대 160개를 수용했다. 1962년 가동 당시 세 대의 자동 카트리지 유닛이 각각 두 대의 드라이브를 담당해 온라인 저장 용량이 44기가바이트에 달했는데, 이는 1965년 발표된 IBM 2314 디스크 시스템의 233메가바이트보다 190배 이상 큰 수치였다.

방대한 데이터와 메모리를 다루기 위해 IBM은 알파(Alpha)라는 전용 프로그래밍 언어까지 만들었다. 과학자들이 포트란으로 방정식을 기술하듯, 암호 분석가들이 암호학 문제를 엄밀하게 서술하도록 돕는 언어였다. 이 언어 개발에는 훗날 2006년 튜링상을 받는 프랜시스 앨런이 참여했다. 그는 처음엔 NSA가 예산서상 'Bureau of Ships'라는 암호명으로 불린 탓에 자신이 해군 프로젝트를 하는 줄 알았다고 회고했다. 하베스트의 수석 엔지니어 제임스 포머린은 앞서 폰 노이만과 함께 IAS 컴퓨터를 만든 인물이었고, System/360의 핵심 설계자이자 1999년 튜링상 수상자 프레더릭 브룩스도 하드웨어 공동 설계에 참여했다.

하베스트의 복잡성은 NSA 내부에서도 논쟁거리였다. 견학하던 일부 관계자는 기계를 가리키며 "아름답지만 작동은 안 한다"고 비아냥댔다고 제임스 뱀퍼드의 2001년 저서에 기록돼 있다. 실무자 입장에서 이 이야기가 남기는 함의는 분명하다. 국가안보라는 극단적 요구가 민간 컴퓨팅이 도달하지 못한 아키텍처를 수십 년 앞당겨 실현시켰다는 점, 그리고 그 성과가 단 한 대의 특수 목적 기계로 조용히 만들어졌다가 조용히 은퇴했다는 점이다. 스트리밍 처리, 전용 가속기, 자동화된 대용량 스토리지라는 오늘날의 익숙한 개념들이 냉전이라는 압력 속에서 먼저 태어났다는 사실은, 지금의 하드웨어 발전을 이끄는 동력이 무엇인지 되돌아보게 한다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://spectrum.ieee.org/cold-war-codebreaker-nsa-ibm
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...