ILLIAC IV

ILLIAC IV
ILLIAC IV 병렬 컴퓨터의 CU

ILLIAC IV는 최초의 대규모 병렬 [1]컴퓨터였다.이 시스템은 원래 256개의 64비트 부동소수점 유닛(FPU)과 [2]4개의 중앙처리 유닛(CPU)으로 초당 10억 개의 작업을 처리할 수 있도록 설계되었습니다.예산상의 제약으로 인해 64개의 FPU와 단일 CPU를 갖춘 단일 "쿼드런트"만 구축되었습니다.모든 FPU가 동일한 명령을 처리해야 했기 때문에 –ADD,SUBetc – 현대 용어에서 설계는 단일 명령, 다중 데이터 또는 SIMD[3]간주됩니다.

1952년 IAS 기계에서 프로그래머로 일하는 동안 Daniel Slotnick은 프로세서 어레이를 사용하여 컴퓨터를 만드는 개념을 얻었습니다.정식 디자인은 1960년 슬롯닉이 웨스팅하우스 일렉트릭에서 근무하면서 미국 공군 계약에 따라 개발 자금을 마련하기 전까지는 시작되지 않았다.1964년에 자금 지원이 종료되었을 때, Slotnick은 일리노이 대학으로 옮겨 Illinois Automatic Computer(Illiac) 에 합류했습니다.ARPA(Advanced Research Projects Agency)의 자금 지원을 받아 1,024개의 1비트 프로세서를 사용한 원래 개념이 아닌 256개의 64비트 프로세서를 사용한 새로운 개념의 설계를 시작했습니다.

기계가 Burroughs에서 만들어지고 있는 동안, 대학은 그것을 수용하기 위한 새로운 시설을 짓기 시작했다.미국 국방부의 자금 지원에 대한 정치적 긴장은 ARPA와 대학으로 하여금 기계의 안전을 걱정하게 만들었다.이 기계의 첫 64프로세서 사분면이 1972년에 완성되었을 때, 그것은 캘리포니아에 있는 NASA 에임스 연구 센터로 보내졌다.ILLIAC IV는 다양한 결함을 수정하기 위해 3년간 철저한 수정을 거친 후 1975년 11월 분산 사용을 위해 ARPANET에 연결되었으며, 거의 12개월 차이로 Cray-1을 제치고 최초의 네트워크 사용 가능한 슈퍼 컴퓨터가 되었습니다.

설계 속도의 절반으로 작동하는 1쿼드런트 ILIAC IV는 50MBLOP 피크를 제공하여 [4]당시 세계에서 가장 빠른 컴퓨터가 되었습니다.또한 백만 개 이상의 [5]게이트를 가진 지금까지 만들어진 가장 복잡한 컴퓨터일 뿐만 아니라 솔리드 스테이트 메모리를 사용한 최초의 대형 컴퓨터이기도 하다.일반적으로 대규모 예산 [5][6]초과로 인한 실패로 간주되는 이 설계는 병렬 시스템을 프로그래밍하기 위한 새로운 기술과 시스템의 개발에 중요한 역할을 했습니다.1980년대에는 ILLIAC IV 개념에 기반한 여러 기계가 성공적으로 제공되었습니다.

역사

오리진스

1952년 6월, Daniel Slotnick은 프린스턴 [7]대학Institute for Advanced Study(IAS)에서 IAS 기계 작업을 시작했습니다.IAS 기계는 40비트 [8]단어로 작동하는 비트 병렬 연산 단위를 특징으로 했습니다.원래는 Williams 튜브 메모리를 장착했으며, 후에 Engineering Research Associates의 마그네틱 드럼이 추가되었다.이 드럼은 80개의 트랙을 가지고 있어서 한 번에 두 단어를 읽을 수 있었고, 각 트랙은 1,024비트를 [9]저장했습니다.

드럼의 메커니즘을 고민하는 동안, Slotnik은 그것이 컴퓨터를 만드는 올바른 방법인지 의심하기 시작했다.단어의 비트가 40개의 트랙에서 병렬로 작성되는 것이 아니라 단일 트랙에 직렬로 작성되는 경우, 데이터는 드럼에서 직접 비트 직렬 컴퓨터로 공급될 수 있습니다.드럼은 여전히 여러 트랙과 헤드를 가지고 있지만, 단어를 모아서 하나의 ALU로 보내는 대신, 이 개념에서는 각 트랙의 데이터를 한 번에 조금씩 읽고 병렬 ALU로 보냅니다.이것은 워드패럴 비트시리얼 [7]컴퓨터입니다

Slotnick은 IAS에서 아이디어를 제기했지만 John von Neumann은 "너무 많은 [7]튜브를 필요로 한다"고 일축했다.Slotnick은 1954년 2월 IAS를 떠나 박사학위를 받기 위해 학교로 돌아갔고 그 문제는 [7]잊혀졌다.

솔로몬

박사과정과 박사후 과정을 마친 후, Slotnick은 IBM에 입학하게 되었습니다.적어도 과학적 계산을 위해 튜브와 드럼은 트랜지스터와 코어 메모리로 대체되었습니다.병렬 프로세서가 드럼의 서로 다른 데이터 스트림에서 작동한다는 생각은 더 이상 다른 매력을 가지고 있지 않습니다.그럼에도 불구하고 더 많은 검토 결과, 병렬 기계가 일부 애플리케이션에서 여전히 상당한 성능을 제공할 수 있는 것으로 나타났습니다. Slotnick과 동료인 John Cocke는 1958년에 [10]이 개념에 대한 논문을 썼습니다.

IBM과 에어론카 항공에서 잠시 근무한 후, 슬롯닉은 레이더와 유사한 [11]시스템을 다루는 웨스팅하우스의 Air Arm 사업부에서 일하게 되었습니다.Slotnik은 미 공군RADC와의 계약에 따라 "프로세서 요소" 또는 PE로 알려진 1,024비트 직렬 ALU로 시스템을 설계하는 팀을 구성할 수 있었습니다.이 도안은 솔로몬 왕의 이름을 따서 붙여졌다. 솔로몬은 매우 현명하고 1,000명의 [12]아내를 두었다.

PE는 단일 마스터 중앙 처리 장치(CPU), "제어 장치" 또는 CU로부터 명령을 공급받습니다. SOLOMON의 CU는 메모리에서 명령을 읽고 디코딩한 다음 처리를 위해 PE에 전달합니다.각 PE에는 오퍼랜드와 결과를 유지하기 위한 자체 메모리, 즉 PE 메모리모듈(PEM)이 있습니다.CU는 전용 메모리 버스를 통해 전체 메모리에 액세스할 수 있는 반면, PE는 자신의 [13]PEM에만 액세스할 수 있었습니다.1개의 PE로부터의 결과를 다른 PE의 입력으로 사용할 수 있도록 하기 위해서, 다른 네트워크가 각 PE를 가장 가까운8개의 인접 [14]라우터에 접속했습니다.

3x3(9 PE) 시스템과 단순화된 PE를 갖춘 10x10 모델을 포함한 여러 테스트베드 시스템이 구축되었습니다.이 기간 동안 보다 복잡한 PE 설계에 대한 검토가 이루어졌고, 이는 256x32 배열로 구성되는 24비트 병렬 시스템이 되었습니다.이 설계를 사용한 단일 PE는 1963년에 구축되었습니다.설계 작업이 계속되면서 미 국방부 내 주요 후원자가 사고로 사망했고 더 이상의 자금 지원은 제공되지 [15]않았다.

개발을 계속하기 위해 Slotnik은 당시 슈퍼컴퓨터 구매의 선두주자였던 Livermore에게 접근했다.그들은 설계에 매우 관심이 있었지만, 현재 설계의 고정 소수점 연산 단위를 실제 부동 소수점으로 업그레이드하도록 설득했고, 그 결과 SOLOMON.2 [16]설계가 탄생했습니다.

리버모어는 개발 자금을 마련하지 않고 기계가 완성되면 임대하는 계약을 제안했다.웨스팅하우스 경영진은 너무 위험하다고 생각했고 팀을 폐쇄했다.Slotnik은 프로젝트를 계속하기 위해 벤처캐피털을 찾으려고 웨스팅하우스를 떠났지만 실패했다.Livermore는 나중에 CDC STAR-100을 이 역할에 선택하게 되는데, CDC는 개발 [17]비용을 기꺼이 부담할 것이기 때문입니다.

ILLIAC IV

SOLOMON이 끝난 후, Slotnick은 일리노이 대학교 Urbana-Champaign의 Illinois Automatic Computer Design(ILIAC) 팀에 합류했습니다.일리노이주는 1949년부터 미국 국방부와 고등연구계획국(ARPA)을 위해 대형 컴퓨터를 설계하고 제작해 왔다.1964년 대학은 ARPA와 계약을 맺고 ILLIAC IV로 알려지게 되었는데, 이는 대학에서 설계되고 만들어진 네 번째 컴퓨터였기 때문입니다.1965년에 개발이 시작되어 [18]1966년에 퍼스트 패스 설계가 완성되었다.

SOLOMON의 비트 직렬 개념과는 달리 ILLIAC IV에서는 PE가 12,000개의 게이트와 2048 워드의 박막 [19]메모리를 사용하여 완전한 64비트(비트 병렬) 프로세서로 업그레이드되었습니다.PE에는 각각 특별한 목적을 가진5개의 64비트 레지스터가 있습니다.그 중 하나인 RGR은 인접 PE에 데이터를 통신하기 위해 사용되며 클럭 사이클당 1개의 "홉"을 이동했습니다.또 다른 레지스터인 RGD는 해당 PE가 현재 활성화되었는지 여부를 나타냅니다.「비액티브」 PE는 메모리에 액세스 할 수 없었지만, [14]RGR 를 사용해 인접 PE 에 결과를 전달합니다.PE는 단일 64비트 FPU, 2개의 32비트 반정밀 FPU 또는 8비트 고정 소수점 프로세서로 [19]작동하도록 설계되었습니다.

1,024개의 PE와 단일 CU 대신, 새로운 설계에서는 총 256개의 PE가 4개의 64-PE "사분원"으로 배열되었으며, 각 PE는 자체 CU를 가지고 있습니다.CU는 64비트 레지스터와 4개의 64비트 어큐뮬레이터를 갖춘 64비트 설계이기도 했다.시스템은 4대의 개별 64-PE 머신, 2대의 128-PE 머신 또는 1대의 256-PE 머신으로 동작할 수 있습니다.이것에 의해, 256-PE [19]어레이 전체를 요구하기에는 데이터가 너무 작을 경우, 시스템은 다양한 문제에 대처할 수 있었습니다.

256-PE가 모두 1개의 프로그램으로 동작하는 25MHz 클럭을 기반으로 한 이 기계는 초당 10억 개의 부동소수점 연산(오늘날의 용어로는 1 GFLOPS)[20]을 제공하도록 설계되었습니다.이것에 의해, 현재의 CDC 7600의 클럭 사이클은 27.5 나노초(36 MIPS)[21][22][a]로, 일반적으로 10 MIPS에 가까운 퍼포먼스를 얻을 수 있었습니다.

이 기계를 지원하기 위해 Digital Computer Laboratory 건물로 증축되었습니다.[23][24]대학에서의 샘플 작업은 주로 PE에 데이터를 효율적으로 채우는 방법을 목표로 하고 있으며, 이에 따라 컴퓨터 개발에서 첫 번째 "스트레스 테스트"를 실시했습니다.이를 최대한 쉽게 하기 위해 몇 가지 새로운 컴퓨터 언어가 생성되었습니다. IVTRAN과 NELITH는 FORTRAN의 병렬화된 버전이고, Glipnir는 ALGOL의 유사한 변환 버전입니다. 일반적으로 이러한 언어들은 PE를 병렬로 실행하는 데이터 배열 로딩에 대한 지원을 제공했으며, 일부는 풀기까지 지원했습니다.f는 어레이 [25]동작에 루프합니다.

시공, 문제

1966년 초, 대학교는 설계 구축에 관심이 있는 산업 파트너를 찾는 제안서를 발송했습니다.7월에 17건의 회답이 접수되어 7건의 회답이 있어, 이 3건의 회답 중에서 [26]뽑혔다.Control Data를 포함한 응답 중 몇 개는 벡터 프로세서 설계에 관심을 가지려고 했지만 이미 설계되어 있었기 때문에 팀은 다른 프로세서 설계에 관심이 없었습니다.1966년 [b]8월,[19] RCA, Burroughs, Univac기계 제작에 입찰하는 8개월 계약이 제안되었습니다.

버로스는 결국 텍사스 인스트루먼트(TI)와 팀을 이루어 계약을 따냈다.두 회사 모두 새로운 기술적 진보를 제안해 입찰에 가장 관심을 끌었다.Burroughs는 성능을 향상시킬 수 있는 박막 메모리의 새롭고 훨씬 더 빠른 버전을 만들겠다고 제안하고 있었다.TI는 각각 [c]20개의 논리 게이트를 갖춘 64핀 이미터 결합 논리(ECL) 집적회로(IC)를 구축하는 것을 제안하고 있었습니다.당시 대부분의 IC는 16핀 패키지를 사용했으며 게이트는 4개에서 7개 사이였습니다.TI의 IC를 사용하면 시스템을 훨씬 [19]더 작게 만들 수 있습니다.

Burroughs는 전용 디스크 드라이브도 공급했습니다.이 드라이브는 트랙마다 별도의 고정 헤드를 갖추고 있으며 최대 500Mbit/s의 속도를 제공하며 36인치 디스크당 약 80MB의 용량을 저장할 수 있습니다.또한 Burroughs B6500 메인프레임을 제공하여 2차 스토리지에서 데이터를 로드하고 기타 하우스키핑 작업을 수행합니다.B6500에는 서드파티제 레이저 광기록매체가 연결되어 있어 회전 드럼에 의해 운반되는 폴리에스테르 시트 위에 코팅된 얇은 금속 필름에 최대 1 Tbit를 저장할 수 있습니다.새로운 디자인의 건설은 Burroughs의 Great Valley [13]Lab에서 시작되었다.그 당시 이 기계는 [27]1970년 초에 납품될 것으로 추정되었다.

1년간의 IC 작업 후, TI는 64핀 디자인을 만드는 데 실패했다고 발표했다.내부 배선이 복잡해짐에 따라 회로에 크로스톡이 발생하였고, 문제를 해결하기 위해 1년 더 걸릴 것을 요청하였습니다.대신, ILIAC 팀은 사용 가능한 16핀 IC를 기반으로 기계를 재설계하기로 선택했습니다.이를 위해서는 원래 [28]25MHz가 아닌 16MHz 클럭을 사용하여 시스템을 더 느리게 실행해야 했습니다.64핀에서 16핀으로의 변경은 이 프로젝트에 약 2년, 그리고 수백만 달러의 비용이 들었다.TI는 64핀 디자인을 1년여 만에 사용할 수 있게 되었고, ILIAC가 [28]완성되기 전에 시장에 내놓기 시작했습니다.

이 변화에 따라 각 PC 보드는 약 1인치(2.5cm) 정사각형에서 약 6x10인치(15cm×25cm)로 커졌습니다.이제 메모리가 디자인의 캐비닛 안에 들어갈 공간이 더 이상 없었기 때문에 기계를 위한 박막 메모리를 생산하려는 Burroughs의 노력은 실패로 돌아갔다.메모리 공간을 확보하기 위해 캐비닛 크기를 늘리려고 하면 신호 전파에 [29]심각한 문제가 발생했습니다.Slotnick은 교체 가능성을 조사하고 Fairchild Semiconductor에서 반도체 메모리를 선택했는데, Burroughs가 너무 반대했기 때문에 ARPA에 의한 전면적인 검토가 [19]뒤따랐습니다.

1969년, 이러한 문제와 지연으로 인한 비용 초과로 인해 64-PE [19]쿼드런트를 하나만 구축하기로 결정함으로써 기계의 속도는 약 200 MFLOPS로 [30]제한되었습니다.이러한 변경으로 인해 프로젝트에는 3년 동안 600만 [19]달러의 비용이 들었습니다.1969년까지 이 프로젝트는 매달 1백만 달러를 지출하고 있었고,[31] 프로젝트에 대한 반대 목소리가 점점 커지고 있는 원래의 ILIAC 팀으로부터 분리되어야만 했다.

Ames로 이동

1970년까지, 기계는 마침내 합리적인 속도로 만들어졌고 약 1년 후에 배달될 준비를 하고 있었다.1970년 1월 6일, 학생 신문 데일리 일리니는 컴퓨터가 핵무기를 [32]설계하는데 사용될 것이라고 주장했다.지난 5월에는 켄트주 총기난사 사건이 발생했고, 대학 [31]캠퍼스에서 반전 폭력이 일어났다.

Slotnick은 기밀 연구에 기계를 사용하는 것에 반대하게 되었고, 대학 내에 있는 한 기계에서 수행된 모든 처리가 공개될 것이라고 발표했습니다.그는 또한는 것에 점점 더 기계는 더 급진적인 학생들에게 공격의 대상이 될 것을 우려하고 성장했다.후에 국내 학생들에게 이중"Illiaction의 날"[33]한다고 선언하면서 9도 될까 1970년 전국 학생 파업과 관련된 수학과 건물의 대학 Wisconsin–에서 특히 8월 24일 폭격에 가입하는 현명한 것 같[31일] 지위입니다.매디슨.[34]

1971년 1월, 실리콘 밸리가 되고 있는 NASA 에임스 연구 센터의 소장인 Hans Mark의 도움으로, 그 기계를 대학이 아닌 에임스에게 인도하기로 결정했다.현역해군 기지에 위치하고 있고 미 해병대들에 의해 보호되고 있기 때문에, 보안은 더 이상 문제가 되지 않을 것입니다.이 기계는 1972년 4월에 마침내 Ames에 인도되어 N-233빌딩의 [35]중앙 컴퓨터 시설에 설치되었다.이 시점까지, 그것은 몇 년 늦었고 총 3천100만 달러의 가격으로 예산을 훨씬 초과했습니다.이것은 256-PE [31][2][d][e]기계 전체의 당초 예상액인 8백만 달러의 거의 4배에 달하는 금액입니다.

NASA는 또한 B6500 프론트 엔드 머신을 PDP-10으로 교체하기로 결정했는데, 이는 Ames에서 일반적으로 사용되었으며 ARPnet에 [36]연결하는 것을 훨씬 쉽게 할 것이다.이를 위해서는 PDP-10에서 새로운 소프트웨어, 특히 컴파일러의 개발이 필요했습니다.이로 인해 기계를 온라인으로 [31]전환하는 데 더 많은 지연이 발생했습니다.

Illiac IV는 최근 대기업인 Lear Siegler Corporation에 인수된 MI 사우스필드에 본사를 둔 Timesharing and Remote Job Entry(RJE) 회사 ACT Computing Corporation과 계약을 체결했습니다.국방부는 ACTS와 비용+10% 계약을 체결했습니다.이 이례적인 합의는 어떤 공무원도 의회 직원보다 더 많은 임금을 받을 수 없다는 제약과 많은 일리악 4세 직원들이 그 한도 이상을 벌었기 때문이다.캘리포니아 버클리 대학과 버클리 컴퓨터 회사(BCC) 출신 멜 퍼틀 박사는 일리악 IV의 이사로 고용되었다.

기능하게 하다

ILLIAC IV 프로세싱 유닛은 컴퓨터 역사 박물관에 전시되어 있습니다.

그 기계는 처음 도착했을 때 작동이 되지 않았다.PCB의 균열, 저항 불량, 습기에 매우 민감한 TI IC의 패키징 등 모든 문제에 시달렸습니다.이러한 문제는 서서히 해결되었고, 1973년 여름까지는 결과가 매우 의심스러웠지만 시스템에서 첫 번째 프로그램을 실행할 수 있었다.1975년 6월부터, 11만 개의 저항기 교체, 전파 지연 문제를 수정하기 위한 부품 배선, 전원 장치의 필터링 개선, 13 MHz로 클럭 속도를 더욱 줄이는 등, 특히 필요한 4개월간의 노력이 시작되었습니다.이 프로세스의 마지막에, 시스템은 마침내 정상적으로 [31][2]동작하고 있었습니다.

이후 시스템은 월요일 오전부터 금요일 오후까지 가동되어 사용자에게 60시간의 업타임을 제공하지만 예정된 [2]다운타임이 44시간 소요되었습니다.그럼에도 불구하고, NASA 프로그래머들이 복잡한 시스템에서 성능을 얻는 방법을 배우면서, 그것은 점점 더 많이 사용되고 있다.처음에는 CDC 7600[37]평균의 약 3배인 약 15MFLOPS로 대부분의 프로그램을 실행하는 등 성능이 형편없었습니다.시간이 지남에 따라 특히 Ames 프로그래머가 FORTRAN, CFD의 독자적인 버전을 작성하고 제한된 PEM에 I/O를 병렬화하는 방법을 배운 후 이 기능은 개선되었습니다. 병렬화할 수 있는 문제에서는 여전히 세계에서 가장 빨랐으며 CDC 7600을 2배에서 6배 이상 앞섰으며 일반적으로 이 기계는 Wor에서 가장 빠른 기계로 인정받고 있습니다.1981년까지.[31]

1981년 9월 7일, 거의 10년간의 운용 끝에 ILIAC IV가 [38]꺼졌다.이 기계는 1982년에 공식적으로 해체되었고, NASA의 고급 컴퓨팅 부문은 이것으로 끝이 났습니다.머신의 제어 유닛과 프로세싱 엘리먼트 섀시는 현재 운영 사이트에서 [39]1마일도 떨어지지 않은 마운틴 뷰의 컴퓨터 역사 박물관에 전시되어 있습니다.

여파

ILLIAC는 매우 늦었고, 매우 비쌌으며, 1 GFLOP를 생산한다는 목표를 달성하지 못했다.그것은 심지어 그것을 연구한 사람들에 의해서도 실패라고 널리 여겨졌다; 한 사람은 단순히 "공정한 관찰자는 일리악 4세를 기술적인 [40]의미에서 실패자로 간주해야 한다"고 말했다.프로젝트 관리 측면에서는 비용 견적을 4배 이상 초과하고, 이를 실현하기 위해 수년간의 개선 노력이 필요한 것으로 널리 인식되고 있습니다.Slotnik 자신이 나중에 말했듯이:

나는 몹시 실망했고, 매우 기뻤다...기쁘고 당황스러웠습니다.전체적인 목적이 잘 나온 것 같아서 기뻤다.비용이 너무 많이 들고, 시간이 너무 오래 걸리고, 충분한 작업도 하지 못하고,[41] 사람들이 충분히 사용하지 않는 것에 실망했습니다.

그러나, 이후의 분석에 의하면, 이 프로젝트는 의도적이든 [42]의도적이든 의도적이지 않든 컴퓨터 시장 전체에 몇 가지 장기적인 영향을 미쳤다고 합니다.

간접적인 영향으로는 일리악 프로젝트 이후 반도체 메모리의 빠른 업데이트가 있었다.Slotnick은 메모리 IC를 생산하기 위해 Fairchild Semiconductor를 선택했을 때 많은 비판을 받았습니다. 당시 생산 라인은 빈 방이었고 디자인은 [43]종이 위에만 존재했습니다.하지만 3개월간의 노력 끝에 페어차일드는 작업 디자인을 대량으로 제작했다.슬롯닉이 나중에 언급했듯이, "페어차일드는 우리의 밤을 불 속에서 끌어내는 훌륭한 일을 해냈다.Fairchild의 기억은 훌륭했고, 오늘날까지 그 신뢰성은 믿을 수 없을 정도로 [29]뛰어납니다."일리악은 코어 메모리[29]박막과 같은 관련 시스템에 치명타를 가한 것으로 평가된다.

또 다른 간접적인 영향은 프린트 회로 기판(PCB) 또는 모듈의 복잡성에 기인했습니다.당초의 25 MHz 설계 속도에서는, 접지 배선의 임피던스가 심각한 문제가 되어, PCB를 가능한 한 작게 할 필요가 있었습니다.PCB의 복잡성이 커짐에 따라 PCB는 더 많은 계층을 추가해야 했습니다.결국, 그들은 15층 깊이에 도달했고, 이것은 제도사의 능력 밖이라는 것이 증명되었다.이 설계는 하청업체가 제공한 새로운 자동 설계 도구를 사용하여 최종적으로 완성되었으며, 완전한 설계에는 Burroughs 메인프레임에서 2년의 컴퓨터 시간이 소요되었습니다.이것은 컴퓨터 지원 설계의 큰 진전이었고 1970년대 중반에는 이러한 도구가 [44]보편화되었습니다.

ILLIAC는 또한 광범위한 영향을 미치는 병렬 처리 주제에 대한 주요 연구를 이끌었다.1980년대 무어의 법칙에 따라 마이크로프로세서 가격이 떨어지면서 많은 기업들이 병렬 머신을 더 많이 구축하기 위해 MIMD(Multiple Instruction, Multiple Data)를 개발했으며, 병렬을 더 잘 활용할 수 있는 컴파일러를 사용했습니다.Thinking Machines CM-5는 MIMD 개념의 훌륭한 예입니다.이러한 설계를 활용할 수 있는 컴파일러와 프로그램을 개선한 것은 ILIAC에서의 병렬 처리에 대한 이해가 향상되었기 때문입니다.한 ILIAC 프로그래머가 말했듯이, "만약 누군가가 많은 마이크로프로세서로 빠른 컴퓨터를 만든다면, ILIAC IV는 광범위한 [45]구조에서 제 몫을 했을 것입니다."

그 시대의 대부분의 슈퍼컴퓨터는 하나의 초고속 벡터 프로세서를 사용하여 고성능에 대한 또 다른 접근방식을 취했습니다.어떤 면에서는 ILIAC와 마찬가지로 이러한 프로세서 설계에서는 많은 데이터 요소가 하나의 커스텀 프로세서에 로딩되어 있습니다.단, 다수의 데이터 요소가 전용 프로세서가 아닙니다.이 설계의 전형적인 예는 ILIAC와 유사한 성능을 가진 Cray-1입니다.그 결과 ILLIAC 설계에 대한 "백래시"가 적지 않았고, 슈퍼컴퓨터 시장은 한동안 대규모 병렬 설계를 경멸하며 바라보았습니다. 심지어 성공적이라 하더라도 말입니다.시모어 크레이는 유명한 농담처럼 "만약 당신이 밭을 갈고 있다면, 어느 쪽을 사용하겠습니까?강한 황소 두 마리냐,[46] 아니면 닭 1024마리냐?

묘사

물리적 배치

기계의 각 사분면은 높이가 10피트(3m), 깊이가 8피트(2.4m), 길이가 [47]50피트(15m)였습니다.쿼드런트 옆에 배치된 디스크 시스템이 2.5 GiB를 저장하고 초당 10억 비트로 데이터를 읽고 쓸 수 있는 입출력(I/O) 시스템과 동일한 1,024비트 폭의 인터페이스를 통해 시스템에 연결된 B6700 컴퓨터입니다.[48]

이 기계는 다수의 소형 모듈을 탑재한 일련의 캐리어 섀시로 구성되어 있습니다.이들 대부분은 PU(Processing Unit), PEM 및 주소 변환과 I/O를 처리하는 메모리 로직 유닛을 포함하고 있습니다.PU는 동일하기 때문에 [49]필요에 따라 교환 또는 재주문할 수 있습니다.

프로세서의 상세

각 CU에는 약 30-40,000개의 [50]게이트가 있었다.CU는 16개의 64비트 레지스터와 64비트 슬롯의 "스크래치패드"인 LDB를 가지고 있었다.AC0~AC3, 프로그램카운터 ILR, 각종 제어 레지스터 등 4개의 어큐뮬레이터가 있었습니다.이 시스템은 짧은 명령 파이프라인을 가지고 있으며 [51]미리 명령을 실행했습니다.

체육관에는 약 12,000개의 [50]관문이 있었다.어큐뮬레이터 A, 오퍼랜드 버퍼 B 및 2차 스크래치 패드 S를 사용하는 4개의 64비트 레지스터를 포함하고 있습니다.네 번째 R은 다른 [52]PE로부터의 데이터 브로드캐스트 또는 수신에 사용되었습니다.PE는 반송 예측 가산기, 부울 연산을 위한 선도적인 검출기배럴 시프터를 사용했다. 64비트 추가에는 약 200ns, 곱셈에는 약 400ns가 걸렸다.PE는 2,048개의 64비트 워드를 보유한 개인 메모리 뱅크인 PEM에 연결되었습니다.액세스 시간은 약 250ns였습니다[53].PE는 로드/[54]스토어 아키텍처를 사용했습니다.

명령 세트(ISA)에는 CU(또는 그 안에 있는 장치, ADVAST)용과 PE용 두 개의 개별 명령 세트가 포함되어 있습니다.PE 의 명령은 디코딩 되지 않고, 대신에 FINST 레지스터에 직접 송신되어 PE 에 송신되어 처리됩니다.ADVAST 명령이 디코딩되어 CU의 처리 [55]파이프라인에 입력되었습니다.

논리적 배치

각 사분면에는 64개의 PE와 1개의 CU가 포함되어 있었다.CU는 전체 I/O 버스에 액세스할 수 있으며 머신의 모든 메모리를 처리할 수 있습니다.PE는 2,048 64비트 워드의 로컬스토어인 PEM에만 접근할 수 있었습니다.PE와 CU 모두 로드 및 저장 작업을 사용하여 디스크 [48]시스템에 액세스할 수 있습니다.

캐비닛은 너무 커서 신호가 한쪽 끝에서 다른 쪽 끝으로 이동하는데 240 ns가 필요했습니다.이러한 이유로 CU는 액션을 조정하는데 사용할 수 없었습니다.대신 시스템 전체가 PE 내의 모든 조작과 클럭 동기화되어 피연산자가 어떤 것이든 동일한 시간이 소요됩니다.그렇게 함으로써 CU는 결과나 상태 [47]코드를 기다릴 필요 없이 작업이 완료되었음을 확인할 수 있었다.

1개의 PE 결과의 출력을 다른 PE로의 입력으로 사용해야 하는 조작의 퍼포먼스를 향상시키기 위해서, PE는 인접 PE와 8 스텝 떨어진 PE에 직접 접속했습니다.예를 들어 PE1은 PE0 및 PE2에 직접 접속되어 있습니다.8개의 어웨이 접속을 통해 데이터를 더 멀리 있는 [48]PE 간에 전송해야 할 때 더 빠르게 전송할 수 있었습니다.데이터의 각 이동은 125ns의 단일 클럭 [47]사이클에서 64단어를 이동했습니다.

시스템은 하나의 주소 형식을 사용했습니다.이 형식에는 오퍼랜드 중 하나의 주소가 포함되어 있고 다른 오퍼랜드는 PE의 어큐뮬레이터(A 레지스터)에 있습니다.주소는 별도의 "방송" 버스를 통해 체육관 앞으로 전송되었습니다.명령에 따라 버스 상의 값은 PE의 PEM 내의 메모리 위치, PE 레지스터 중 하나의 값 또는 수치 [56]상수를 나타낼 수 있습니다.

각 PE에는 자체 메모리가 있고 명령 형식과 CU는 주소 공간 전체를 볼 수 있었기 때문에 시스템은 기본 주소를 상쇄하기 위해 인덱스 레지스터(X)를 포함했습니다.이를 통해 예를 들어, 동일한 명령 스트림이 다른 PE의 동일한 위치에 정렬되지 않은 데이터에서 작동할 수 있습니다.일반적인 예로는 PEM 내의 다른 위치에 로드된 데이터 배열을 들 수 있습니다.이 배열을 다른 [56]PE로 인덱스를 설정하면 데이터를 균일하게 할 수 있습니다.

나뭇가지

기존의 컴퓨터 설계에서는 명령이 메모리에서 읽힐 때 CPU에 한 번에 하나씩 로드됩니다.통상, CPU가 명령의 처리를 완료하면, 프로그램 카운터(PC)가 1 워드씩 증가해, 다음의 명령이 읽힌다.이 프로세스는 브랜치에 의해 중단됩니다.이것에 의해, 특정의 메모리 주소가 제로 이외의 값을 보관 유지하고 있는지 어떤지 등, 테스트에 의해서 PC가 2개의 장소 중 하나로 점프합니다.ILLIAC 설계에서는 각 PE는 이 테스트를 다른 값에 적용하므로 결과가 달라집니다.이러한 값은 PE에 대해서는 비공개이기 때문에 PE만이 알고 [57]있는 값에 근거해 다음의 순서를 로드할 필요가 있습니다.

PE 명령의 새로고침으로 인해 발생하는 지연을 피하기 위해 ILIAC는 브랜치 양쪽에 명령을 사용하여 PEM을 로드했습니다.논리 테스트는 PC를 변경하지 않고 대신 PE에 다음 산술 명령 실행 여부를 알려주는 "모드 비트"를 설정합니다.이 시스템을 사용하기 위해 프로그램은 두 가지 가능한 명령 스트림 중 하나가 테스트를 따르도록 작성되고 비트를 반전시키는 명령으로 종료됩니다.다음으로 두 번째 분기의 코드가 이어지며 모든 비트를 [57]1로 설정하는 명령으로 끝납니다.

테스트에서 "첫 번째" 분기를 선택한 경우 해당 PE는 정상적으로 계속됩니다.이 코드의 끝에 도달하면 모드 오퍼레이터 명령은 모드 비트를 플립하고 이후 PE는 더 이상의 명령을 무시합니다.이것은, 2번째 브랜치의 코드의 마지막에 도달할 때까지 계속됩니다.여기서 모드 리셋 명령이 PE를 다시 켭니다.특정 PE 테스트 결과 두 번째 분기가 실행되면 첫 번째 분기의 끝에 도달할 때까지 더 이상의 명령을 무시하도록 모드비트를 설정합니다.여기서 모드 오퍼레이터는 비트를 플립하여 두 번째 분기의 처리를 시작하고 그 [57]분기의 끝에서 다시 모든 비트를 켭니다.

PE는 64비트, 32비트 및 8비트모드로 동작할 수 있기 때문에 모드플래그는 여러 비트로 구성되어 있어 개개의 워드를 켜거나 끌 수 있습니다.예를 들어 PE가 32비트모드로 동작하고 있는 경우, PE의 「측」에서는 테스트가 true로 되어 있는 반면, 다른 한쪽에서는 [57]false가 되어 있는 경우가 있습니다.

용어.

  • CU: 컨트롤 유닛
  • CPU: 중앙 처리 장치
  • ISA: 명령 집합 아키텍처
  • MAC: 곱셈 및 누적
  • PC: 프로그램 카운터
  • PE: 처리 요소
  • PEM: 처리 요소 메모리 모듈
  • PU: 처리 장치

「 」를 참조해 주세요.

  • 병렬 컴퓨터의 성능 향상에는 한계가 있음을 나타내는 Amdahl의 법칙
  • ILLIAC III는 ILLIAC IV와 비슷한 시기에 제작된 특수 목적의 SIMD 기계입니다.
  • Parallel Element Processing Ensemble은 대규모 병렬 Burroughs 기계로 Bell Labs에서 설계입니다.

메모들

  1. ^ 이때 "FLOP"라는 용어는 널리 사용되지 않았으며 MIPS와 FLOPS는 동의어였습니다.
  2. ^ 첸이 [26]7월이라고 해요.
  3. ^ 나중에 중규모 통합으로 알려짐.
  4. ^ 슬롯닉과 다른 사람들은 당초 8백만 달러의 추정치는 클레이-리스톤 [2]싸움의 지갑과 같은 임시 숫자였다고 주장했다.
  5. ^ 이는 역사적으로 높은 물가상승률 기간 동안 개발되었으며, 적어도 가격 상승의 일부는 [2]이러한 상승에 기인한다.

레퍼런스

인용문

  1. ^ 1982년, 페이지 1
  2. ^ a b c d e f 1982년 호드, 페이지 14
  3. ^ 1982년, 페이지 5
  4. ^ Hockney & Jesshope 1988, 24페이지
  5. ^ a b 1982년, 페이지 8
  6. ^ 호크니 & 제스호프 1988, 25페이지
  7. ^ a b c d 슬롯닉 1982, 페이지 20
  8. ^ Ware, W.H. (10 March 1953). History and Development of the IAS Computer (PDF) (Technical report). Rand.
  9. ^ 맥켄지 1998, 295페이지
  10. ^ 슬롯닉 1982, 페이지 21
  11. ^ 슬롯닉 1982, 페이지 21-22
  12. ^ 맥켄지 1998, 105페이지
  13. ^ a b Bouknight et al. 1972, 371페이지
  14. ^ a b 슬롯닉 1982, 페이지 23
  15. ^ 슬롯닉 1982, 페이지 24
  16. ^ 맥켄지 1998, 페이지 118
  17. ^ 맥켄지 1998, 페이지 119
  18. ^ 슬롯닉 1982, 페이지 25
  19. ^ a b c d e f g h 슬롯닉 1982, 페이지 26
  20. ^ 반즈 1968페이지 746
  21. ^ Levesque, John; Williamson, Joel (2014). A Guidebook to Fortran on Supercomputers. Academic Press. p. 14.
  22. ^ Parkinson, Dennis (17 June 1976). "Computers by the thousand". New Scientist. p. 626.
  23. ^ 1982년, 페이지 9
  24. ^ Leetaru, Kalev (2010). "Digital Computer Laboratory". UI Histories/University of Illinois. {{cite web}}:누락 또는 비어 있음 url=(도움말)
  25. ^ 1982년, 페이지 15
  26. ^ a b 1967, 페이지 3
  27. ^ 반즈 1968, 페이지 747
  28. ^ a b 1982년 호드, 페이지 11
  29. ^ a b c Falk 1976, 67페이지
  30. ^ 버로우즈 1974, 페이지 3
  31. ^ a b c d e f g 슬롯닉 1982, 페이지 27
  32. ^ Falk 1976, 페이지 65
  33. ^ "Byte of History: Computing at the University of Illinois". University of Illinois. March 1997. Archived from the original on 10 June 2007.
  34. ^ "Sterling Hall Bombing of 1970". University of Wisconsin–Madison.
  35. ^ "Scientific Information Bulletin" (PDF). Office of Naval Research Asian Office. December 1993. p. 51. Archived (PDF) from the original on September 24, 2015. Retrieved 25 September 2014.
  36. ^ 1982년 호드, 7페이지
  37. ^ Falk 1976, 페이지 69
  38. ^ '역사 속의 오늘: 9월 7일', 컴퓨터 역사 박물관
  39. ^ "ILLIAC IV control unit". Computer History Museum.
  40. ^ Falk 1976, 페이지 68
  41. ^ 호드 1990, 페이지 9
  42. ^ 호드 1990, 페이지 10
  43. ^ 1990년 호드, 12페이지
  44. ^ 1990년 호드, 13페이지
  45. ^ Falk 1976, 페이지 66
  46. ^ Robbins, Kay; Robbins, Steven (2003). UNIX Systems Programming: Communication, Concurrency, and Threads. Prentice Hall. p. 582. ISBN 9780130424112.
  47. ^ a b c 1974년 버로우즈, 5페이지
  48. ^ a b c 버로우즈 1974, 페이지 4
  49. ^ Burroughs 1974, 페이지 11~12.
  50. ^ a b 1967, 9페이지
  51. ^ 기술 1968, 페이지 2.10.
  52. ^ 기술 1968, 2.7페이지
  53. ^ 기술 1968, 2.8페이지
  54. ^ 기술 1968, 2.11페이지
  55. ^ 기술 1968, 2.12페이지.
  56. ^ a b 1974년 버로우즈, 7페이지
  57. ^ a b c d 버로우즈 1974, 페이지 6

참고 문헌

추가 정보

외부 링크