어째서 병렬 연산은 어려울까?(사견)
지금의 컴퓨터에게는 지극히 당연한 문제이기는 하지만, 과거의 컴퓨터(한 XT나 286시절?)에게 멀티프로세스라는건 정신나간 이야기나 마찬가지였습니다. 가뜩이나 모자란 자원(특히 이 당시 메모리는 굉장히 비싼 자원이었습니다.)을 여러개로 분산 시켜 사용할 여력도 없었고, 딱히 그런식으로 할 일도 없었다는 점이 그 이유였습니다. 요컨데 지금처럼 게임을 하면서 mp3를 틀어 두고 토런트로 다운을 받는다는건 생각도 할수 없을 정도의 수준의 프로세서와 메모리 뿐이었고 그런거 할 이유도 없었습니다. 음악? 그런거야 라디오나 오디오로 듣는게 당연한 시절이었고, 책은 당연히 종이에 인쇄되어 나온것으로 읽는 것이고, 하나의 프로그램을 작동하다가 다른 프로그램을 작동 시키려면 당연히 프로그램을 종료하고 도스에서 다시 명령을 내리는게 당연한 시절이었지요. 그런데 통신이라는 것을 하면서 처음으로 이러한 생활에 변화가 생기기 시작했습니다. 지금은 상상도 못하겠지만 2400bps(56k조차 아닙니다.)로 파일을 주고 받다 보니 다운 대기 시간이 30분을 넘기는 일이 다반사 였고 다운 받는동안 무슨일을 할수 있느냐 하면 그것도 아니였습니다. 그저 하염없이 이야기의 다운 창이 다 차기만을 하염없이 기다려야 하는 서글픈 인생이었습니다.(그리고 이 시절에 들어서서 처음으로 하드디스크가 모자를 수도 있다는 것을 경험했지요) 그래서 이 시절에 등장한게 컴퓨터를 두대를 사용하는 방식이었는데, 주로 새 컴퓨터를 구입하면서 옛 컴퓨터를 옆에 두고서 다운로드 전용 컴퓨터로 활용하는 방법이었습니다.(이것 역시 지금 보면 정신 나간 짓으로 보이겠지만 홈서버와 데스크탑이라는 형태로 이러한 활용이 계승된 방법도 있기는 합니다.) 서론이 너무 길었는데, 이런식으로 PC의 극 초기부터 사람들은 하나의 컴퓨터로 여러 작업을 동시에 하기를 바랬고 그후 컴퓨터의 성능이 급격히 좋아 지면서 과거 아주 값비싼 컴퓨터에서나 가능한 멀티프로세서(사실 지금은 아무렇게나 쓰는 GP...