병렬처리의 한계와 가능성 – Grosch의 법칙과 VLSI

다단일 프로세서의 계산 속도는 물리적인 특성에 의하여 한계점을 가지고 있다. 실리콘 칩 상에 전자 프름의 최대 속도는 및의 속도의 1/10 정도(3*10^7m/sec)이다. 따러서 지름이 3cm인 칩에서 전기 신호의 최대 전송시간은 10^-9sec가 된다. 한 번의 신호 전송에 의해 한 번의 부동소수점 연산이 가능하다고 가정하더라도 그러한 칩으로 만들어진 컴퓨터의 계산 능력은 10^9FLOPS = 1GFLOPS가 된다,. 즉, 초당 10억번의 부동소수점 연산 처리까지만 가능하다. 다만, 최근에는 프로세서 칩 내부에 여러 개의 명령어 실행 유니트들을 두는 슈퍼스칼라 기술을 이용함으로써 프로세서의 처리 속도를 좀 더 높여뒀지만(이미 적용되어 나오는 프로세서들이 대부분임), 명령어-수준 병렬성에 의해 한계를 가진다. 

이러한 물리적인 한계를 극복할 수 있는 기술이 병렬처리이다. 병렬처리 개념이 문헌에 처음 소개된 것은 1920년대였으나, 상당 기간 동안 구체적인 연구와 개발이 이루어지지는 못한 데는 몇 가지 비관적인 예측들이 있었기 때문이다. 이것들을 하나 하나 살펴볼 것이다.

우선 살펴볼 것은 프로세서의 성능이 가격의 제곱에 비례하여 높아질 것으로 예측한 Grosch의 법칙이다. (p.s. 이 이론 자체가 엄청난 고전이지만, 병렬컴퓨터 구조론에 있어서 한번 지나가야 하는 법칙이다.) 이 법칙은 n개의 프로세서들을 사용하면 최대 n배의 성능 향상을 얻을 수 있지만, 루트n배의 비용만 투자해도 n배 더 빠른 프로세서를 개발할 수 있을 것이므로 단일 프로세서의 시스템으로도 같은 수준(n배)의 성능을 얻을 수 있다는 주장이다. 만약 이 법칙이 사실이라면, 굳이 많은 비용을 들여서 다수의 프로세서들을 이용한 병렬처리 시스템을 구성하는 의미가 없어지는 것이다. 그래서 당시의 이러한 논리 때문에, 오래동안 병렬처리 기술은 비용보다도 신뢰도를 더 중요시하는 군사용 또는 항공우주용 컴퓨터에서만 사용되어 왔는데, 병렬처리 구조가 결함 허용을 위한 하드웨어 중복성을 구현하기가 용이하기 때문이었다. (망가져도 다른 코어 쓰면 되니깐)

그러나, VLSI 칩들이 등장하면서 상황이 완전히 바뀌게 되었다. VLSI 기술을 이용하여 개발한 프로세서들은 대량 생산이 가능하기 때문에 가격이 저렴해지고, 따라서 약간의 비용만 추가하면 많은 수의 프로세서들을 포함하는 시스템을 구성할 수 있게 된 것이다. 결과적으로 Grosch의 법칙은 VLSI 기술의 출현과 함께 더 이상 성립되지 않게 된 것이다.

최근에는 가격보다는 처리 속도를 더 중요시하는 경향이 있기 때문에 많은 비용을 투자하면서 더 빠른 프로세서를 개발하고, 그러한 프로세서들을 많이 사용하여 더 높은 성능의 시스템을 개발하고 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.