본문 바로가기

Book review

파헤쳐보자 멀티코어 (프로그래머가 몰랐던 멀티코어 CPU 이야기)


두 번째 한빛 리더스 리뷰 도서는 [프로그래머가 몰랐던 멀티코어 CPU 이야기] 였습니다.
저는 사실 개인적으로 기초가 가장 부족한 부분이 하드웨어의 이해 쪽이라고 생각합니다.
학교에서 수업을 들을 때 부터 지금까지 IT 분야에서 하드웨어는 제게는 관심이 별로 안가는
분야였었거든요. 늘상 소프트웨어 공학과 관리 ... 뭐 이런쪽에만 관심이 많았던 아이였습니다.

덕분에 실제적으로 프로그래밍을 하고 있는 지금 순간에는 이러한 저희 지식 편식의 습관이
하드웨어 맹의 상태를 만들어 버리고 말았지요. 그 덕분에 하드웨어 특성에 맞추는 퍼포먼스 
높은 프로그램을 만들지 못하고 있습니다. 그래서 이번에는 TDD 같은 것이 아닌 제가 부족한
부분을 채우는 리딩을 해보자 라는 생각으로 이 책을 선택하였습니다.


사실 선택하고 책을 받은 후 후회 많이 했습니다. ㅎ 정말 어려웠었거든요. 다 읽은 지금에서도
내용에 대한 이해도를 퍼센트로 나타낸다면 30%가 조금 넘는 정도 인 것 같습니다. 물론 저자이신 
김민장님께서는 쉽게 이해시켜주시려 노력하신 흔적이 문장에 녹아납니다만, 저처럼 태생적(?)
으로 하드웨어 맹 들에게는 책 속에 담겨 있는 수많은 용어들이 잘 모르는 것들이 많았기 때문에
인터넷이든 학교 때 읽었던 컴퓨터 구조론 책이든 찾아보게 만들었었죠.

저는 어쩌면 이 시대를 대변하는 반쪽짜리 개발자 일 수도 있습니다. 아니면 저보다 더 참혹한 상황
이신 분도 있으실꺼구요 ㅋ 하지만 요즘 졸업하는 대다수의 학생들은 저 만큼 기초가 부족한 사람도
꽤나 있다고 생각이 듭니다. 제가 학생일 때도 저처럼 학과에 맞춰가는 공부를 하느라 흥미와 관계
없이 시작한 친구들도 많았었거든요. 이전 세대와 견주어 보면 창피할 정도입니다만 말이죠.. ^^;;
하지만 저와 같은 상황이 아니신 순수하게 개발에 흥미를 가지고 시작하셨던 분들은 기초가 튼튼
하실 테니 이해하시고 이를 활용하는데 무리가 없으실 껍니다. 

내용을 살펴보면 프로세서에 대한 기본적인 이해 부분이 가장 먼저 나옵니다. 그리고 프로세서의 발전에 따라서 발전한 기술들에 대해서 이해하고 멀티코어에 대해 접근하는 점진적 구성으로 되어 
있습니다. 사실 그랬기 때문에 저같은 사람도 이해를 돕기위한 별도의 용어 탐색 작업을 거친 것 
만으로 어느정도 이해가 가능 했던 것 같습니다. 


결국 어렵게 어렵게 끝까지 읽었지만 기억에 남는 내용은 많지 않습니다. 다만 희망을 본 것이 
이제는 더 이상 하드웨어에 대한 막연한 두려움을 가질 필요는 없다는 것을 깨닳은 것입니다. 
그리고 또한 현대의 개발자는 프로세서를 몰라도 프로그램을 만드는데 지장이 없다는 것입니다.
다만 무언가를 좀더 나은 성능을 갖게 하려면 그 기초가 되는 것에 대한 이해를 바탕으로 한다는
것이 얼마나 큰 무기인가에 대해서는 이해할 필요가 있다는 것입니다. 그리고 그 것이 우리가 사용하는 PC의 가장 근본인 프로세서라는 것을 말씀드리고 싶습니다. 

어려웠지만 좋은 책이었습니다. 다시 한번, 또 한번 읽다보면 저도 좀 더 나아질 수 있을 것이고, 
이 책이 그 도우미 역할을 톡톡히 해줄 수 있으리라 봅니다.