지난 달에는 한빛 미디어에서 “프로그래머가 몰랐던 멀티코어 CPU 이야기”를 받았다.
나 역시 한동안 멀티코어 프로그래밍에 푹 빠졌던 경험도 있는 관계로 책에 대한 기대가 남달랐다. 아하… 그런데 책을 펼쳐 드는 순간 학교에서 “컴퓨터 구조”를 배우던 생각이 마구들었다. 사실 나로서는 컴퓨터 공학쪽 성적이 99% 다 좋았는데, 이 컴퓨터 구조가 가장 좋지 않은 아픈 경험이 있었다. 하지만 그나마 그 덕분에 책을 빠르게 읽어 나갈 수 있었던거 같다.
사실 책 내용 자체는 블로그에 쓴 글을 보는 것만큼이나 경괘했으며, 책을 보는 내내 저자의 이 분야에 대한 공력을 엿볼 수 있었다.
지금까지 나로서는 멀티코어 프로그래밍을 단순하게 프로그래밍 방법론 적으로 접근을 해왔는데, 이 책을 보면서 좀더 하드웨어에 가까운 멀티코어 프로그래밍 배경에 대해서 알 수 있었던 좋은 기회가 되었다. 하지만…. 읽으면서 내가 좀 멀리 왔나 싶기도 하다. 왜냐면 프로그래머로서 데이터를 다루는 엔지니어로서 이 밖에 더 흥미로운것들이 많고 고민들이 더 많기 때문이다.
하지만 그럼에도 불구하고 나는 모델빌드라든지 데이터 처리를 하는 프로세스를 수행하면서 항상 htop명령어를 띄워 놓고 코어들이 일하는 모습을 지켜본다. 그러다 1개의 코어만 일을 하는 모습을 보인다든지…하면 이 부분에 대해서 병렬로 수행할 수 없을까 하는 고민을 하곤 한다. 지금 글을 쓰는 이 순간에도 분명 그런 부분이 있다는 확신을 하고 있고 구체적으로 어떤 부분인지도 감이 온다.
이 책을 보는 프로그래머의 가장 좋은 관점은 바로 내가 생각하는 정도의 성능개선에 대한 의지나 배경지식을 쌓는 정도가 아닐까 하는 생각을 해본다. 물론 직접 코딩하고 실험해보고 하면서 그 뒤에 이 책을 더 자세히 봐도 될것이다.
이젠 멀티코어는 프로그래머와 땔래야 땔 수 없는 관계가 되어 버렸다. 무조건 돌아가기만 하면 되는 프로그램 보다는 좀더 빨리 결과를 볼 수 있는프로그램을 누구나 만들고 싶어한다. 아마도 그 돌파구는 멀티코어에 대한 이해를 기반으로 되는게 아닐까 한다.
이 책은 이런 이해를 200% 충족시켜줄 몇 안되는 책이라 생각한다.
프로그래머가 몰랐던 멀티코어 CPU 이야기 – 서평 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.