일리악 IV | 1965
ILLIAC IV는 최초의 대규모 병렬 컴퓨터로, 256개의 64비트 부동소수점 유닛(FPU)과 4개의 중앙처리장치(CPU)를 갖춘 시스템으로 설계되었다. 이 시스템은 초당 10억 회의 연산을 처리할 수 있도록 기획되었으나, 예산 문제로 결국 64개의 FPU와 1개의 CPU가 탑재된 단일 "쿼드런트"만이 제작되었다. 모든 FPU가 동일한 명령, 예를 들어 덧셈(ADD), 뺄셈(SUB) 등을 처리하도록 설계된 이 시스템은 현대의 용어로는 단일 명령어, 다중 데이터(SIMD) 방식으로 분류될 수 있다.
이 컴퓨터를 만들자는 구상은 다니엘 슬롯닉이 1952년 IAS 기계에서 프로그래머로 일하던 중 떠오른 아이디어에서 출발했다. 본격적인 설계는 1960년에 시작되었으며, 이때 슬롯닉은 웨스팅하우스 전자에서 근무하면서 미 공군의 지원을 받아 개발 자금을 확보했다. 그러나 1964년에 자금 지원이 종료되자, 슬롯닉은 일리노이 대학교 어바나-샴페인 캠퍼스로 이동하여 ILLIAC 팀에 합류했다. 이후 미국 방위고등연구계획국(ARPA)의 지원을 받아 1,024개의 1비트 프로세서를 사용하는 원래의 설계 대신, 256개의 64비트 프로세서를 갖춘 새로운 구상으로 개발이 시작되었다.
기계가 조립되는 동안, 대학교는 이를 수용할 새로운 시설을 짓기 시작했다. 그러나 미 국방부의 자금 지원을 둘러싼 정치적 긴장으로 인해 ARPA와 대학교는 기계의 안전성에 대한 우려를 품게 되었다. 결국, 1972년 첫 번째 64프로세서 쿼드런트가 완성되었을 때, 이 기계는 NASA 에임스 연구센터로 보내졌다. 그곳에서 3년 간의 수정 작업을 거쳐 다양한 결함을 고친 후, 1975년 11월에 ILLIAC IV는 ARPANET에 연결되어 분산 사용이 가능해졌다. 이로써 ILLIAC IV는 크레이-1을 거의 12개월 앞서 첫 번째 네트워크 연결 슈퍼컴퓨터가 되었다.
설계 속도의 절반으로 운영되었지만, 64프로세서 쿼드런트로 이루어진 ILLIAC IV는 초당 50 MFLOP의 성능을 낼 수 있었고, 그 당시에는 세계에서 가장 빠른 컴퓨터로 기록되었다. 또한, 이 컴퓨터는 반도체 메모리를 사용한 첫 번째 대형 컴퓨터로도 알려져 있으며, 100만 개가 넘는 게이트를 가진 가장 복잡한 컴퓨터로 평가되었다. 예산 초과로 인해 일반적으로 실패작으로 간주되기도 했지만, ILLIAC IV의 설계는 병렬 시스템을 위한 새로운 프로그래밍 기법과 시스템 개발에 중요한 역할을 했다. 1980년대에 이 ILLIAC IV의 개념을 바탕으로 성공적으로 납품된 여러 기계들이 등장하게 되었다.
1952년 6월, 다니엘 슬롯닉은 프린스턴 대학교의 고급연구소(IAS)에서 IAS 기계 작업을 시작했다. IAS 기계는 40비트 단어를 처리하는 비트 병렬 수학 유닛을 특징으로 했다. 원래는 윌리엄스 튜브 메모리를 탑재하고 있었으나, 나중에 엔지니어링 리서치 어소시에이츠(ERA)의 자기 드럼이 추가되었다. 이 드럼은 80개의 트랙을 가지고 있어 한 번에 두 개의 단어를 읽을 수 있었고, 각 트랙에는 1,024 비트가 저장되어 있었다.
슬롯닉은 이 드럼 메커니즘을 생각하던 중, 컴퓨터를 만드는 올바른 방식에 대해 의문을 품게 되었다. 만약 단어의 비트가 40개의 트랙에 병렬로 기록되는 대신, 단일 트랙에 직렬로 기록된다면 데이터를 드럼에서 비트 단위로 직접 읽어들여 비트-직렬 컴퓨터에서 처리할 수 있을 것이라고 생각했다. 이 드럼은 여전히 여러 트랙과 헤드를 가질 것이지만, 각 트랙에서 비트를 하나씩 읽고 이를 병렬 ALU(산술논리연산기)에 전달하는 방식이었다. 이렇게 하면, 이 시스템은 단어 병렬, 비트 직렬 컴퓨터가 된다.
슬롯닉은 이 아이디어를 IAS에서 제안했지만, 존 폰 노이만은 "너무 많은 튜브가 필요하다"며 이를 무시했다. 슬롯닉은 1954년 2월 IAS를 떠나 박사 과정을 위해 학교로 돌아갔고, 이 문제는 잊혀졌다.
박사 후 연구를 마친 슬롯닉은 IBM에 입사했다. 당시 과학 계산을 위한 기술은 튜브와 드럼에서 트랜지스터와 자기 코어 메모리로 교체되었으며, 드럼에서 데이터를 병렬 처리하는 개념은 더 이상 명확한 매력을 느끼지 못했다. 그러나 병렬 처리 시스템은 여전히 일부 응용 프로그램에서 큰 성능을 낼 수 있음을 깨달은 슬롯닉은 동료인 존 콕(후에 RISC의 발명자로 유명)과 함께 1958년에 병렬 처리 시스템에 관한 논문을 작성했다.
IBM에서 짧은 시간을 보낸 후, 슬롯닉은 에어로카 항공사에 잠시 근무했고, 그 후 웨스팅하우스의 공군 부서에 합류했다. 거기서 그는 미 공군의 RADC 계약을 통해 1,024개의 비트-직렬 ALU(처리 요소, PE)를 사용하는 시스템 설계를 담당하게 되었다. 이 설계는 "SOLOMON"이라는 이름을 붙였고, 이는 지혜롭고 1,000명의 아내를 둔 왕 솔로몬에서 유래했다.
SOLOMON 시스템은 하나의 마스터 CPU(제어 장치, CU)에서 명령을 받아 이를 PE에 전달하여 처리하는 방식으로 설계되었다. 각 PE는 피연산자와 결과를 저장할 수 있는 독자적인 메모리 모듈을 가졌으며, PE 간의 결과를 서로 연결하기 위해 별도의 네트워크를 구성했다. 초기 테스트 시스템은 3x3(9 PE)와 10x10 모델로 구성되었고, 더 복잡한 설계도 고려되었으나, 미 공군의 주요 후원자가 사고로 사망하며 추가 자금 지원이 끊어져 개발은 중단되었다.
SOLOMON 프로젝트가 종료된 후, 슬롯닉은 일리노이 대학교 어바나-샴페인 캠퍼스의 ILLIAC 팀에 합류했다. 이 학교는 1949년부터 미 국방부와 ARPA의 지원을 받아 대형 컴퓨터를 설계하고 제작해왔다. 1964년, 일리노이 대학교는 ARPA와 계약을 체결하고, ILLIAC IV라는 새로운 컴퓨터 설계를 시작했다. ILLIAC IV는 대학에서 네 번째로 개발된 컴퓨터였으며, 개발은 1965년에 시작되어 1966년에 첫 번째 설계가 완료되었다.
SOLOMON의 비트-직렬 개념과 달리, ILLIAC IV의 PE는 64비트 병렬 프로세서로 업그레이드되었고, 12,000개의 게이트와 2048개의 박막 메모리를 탑재했다. 각 PE는 5개의 64비트 레지스터를 가졌고, 이를 통해 데이터를 이웃 PE로 전달하는 등의 작업을 수행할 수 있었다. 1,024개의 PE 대신, 새로운 설계는 256개의 PE를 4개의 64-PE 쿼드런트로 나누어 각각 독립적인 제어 장치(CU)를 배치했다.
25 MHz 클럭을 기준으로 256개의 PE가 단일 프로그램에서 실행되는 시스템은 초당 10억 번의 부동소수점 연산(오늘날의 용어로는 1 GFLOPS)을 처리할 수 있도록 설계되었으며, 이는 당시 세계에서 가장 빠른 컴퓨터였다.
1966년 초, 일리노이 대학교는 ILLIAC IV 설계를 제작할 산업 파트너를 모집하기 위해 제안서를 보냈다. 17개의 응답이 있었고, 그 중 7곳이 답변했으며, 3곳이 최종적으로 선정되었다. 최종적으로, 버로우스는 텍사스 인스트루먼트와 협력하여 설계 제작을 맡게 되었고, TI는 64핀 ECL(Emitter Coupled Logic) 집적 회로(IC)를 사용하여 시스템을 작게 만들었다.
그러나 TI는 64핀 설계를 성공적으로 제작할 수 없었고, 이로 인해 시스템의 속도는 25 MHz에서 16 MHz로 낮아졌다. 이로 인해 프로젝트는 약 2년의 지연과 수백만 달러의 비용이 증가했다. 또한, 메모리 문제와 관련하여 시스템 설계 변경이 이루어졌고, 결국 64-PE 쿼드런트로 제한되어 기계 속도는 약 200 MFLOPS로 축소되었다.
1970년, ILLIAC IV는 원래의 설계에서 벗어나 캘리포니아의 NASA 에임스 연구센터로 옮겨졌다. 이는 학생 운동과 정치적 긴장 상황에서 기계의 안전을 보장하기 위한 결정이었다. 에임스 연구센터에서 설치된 ILLIAC IV는 1972년에 완료되었고, 이때까지 프로젝트는 총 3년의 지연과 6백만 달러의 예산 초과를 겪었다.
ILLIAC IV는 나중에 ARPANET에 연결되어 최초의 네트워크 연결 슈퍼컴퓨터로 기능하게 되었으며, 이러한 기계가 발전하는 데 중요한 역할을 했다.

