https://sunyzero.tistory.com/m/53?category=282954
TOC
이 책의 주제는...
이 책을 읽어야 할 사람은...
이 책의 내용은...
왜 멀티코어 혁명이라고 부를까?
조지아텍에서 공부하고 있던 김민장님(**http://minjang.egloos.com/**)이 책을 출간했습니다. 이미 블로그에 올린 글들과 주제들에 살을 보태서 에세이 형식의 책으로 낸 것이죠. 그리고 고맙게도 김민장님이 증정본을 보내줘서 잘 읽어봤습니다.
1. 이 책의 주제는... 우선 이 책은 프로그래밍 문법이나 활용에 대한 내용을 담고 있는 책은 아닙니다. 문법에 대한 내용은 나오지도 않고, 설명하지도 않습니다. 코드도 거의 없습니다. 대부분 설명만 있습니다. 그렇기에 교과서적인 형식으로 보일 수도 있습니다.
2. 이 책을 읽어야할 사람은... 이 책은 일반적인 프로그래머를 대상으로 하지 않습니다. 하지만 고성능 프로그램을 작성해야 하는 경우에는 이 책이 도움(hint?)을 줄 수 있습니다.
즉 고성능 공학계산, 시뮬레이션, 다중 접속자를 처리하는 네트워크 서버 프로그램의 경우가 대표적입니다. 제가 Intel 세미나를 진행할 때 이 책이 나왔었더라면 정말 많은 분들에게 추천했을텐데 참 아쉽기도 합니다.
3. 이 책의 내용은... 이 책의 제목에는 멀티코어 CPU이야기라고 적혀있지만, 실제로는 CPU자체의 성능향상기법을 두루 이야기 하고 있습니다. 그래서 주요한 몇가지 제목과 내용을 뽑아보면 :
책 내용은 이해를 돕는 그림, 도표도 많고 참고문헌도 꼼꼼하게 적어두고 있습니다. 더군다나 IT서적을 많이 출판해본 출판사라서 깔끔하게 출판했습니다. 종이질도 누리끼리한 게 눈의 피로도를 적게 해줍니다.
과거에는 멀티코어(CMP)가 고가였지만 지금은 저가 CPU조차 멀티코어입니다. 심지어 모바일 기기, 일명 핸드폰에도 멀티코어 CPU가 들어가 있지요. 그런데 문제는 멀티코어를 제대로 사용하지 못하고 있다는 점입니다.
과거에는 프로그래머가 성능이 떨어지는 프로그램을 작성해도 변명거리가 있었습니다. 왜냐하면 시간이 좀 더 흐르면 더 좋은 CPU가 성능 문제를 해결해줬기 때문입니다. 이를 두고 공짜 점심(free lunch)이라고 했었죠.
그래서 결과가 맞다면 성능을 생각하지 않고 만드는 풍토가 있었지요. 심지어 성능을 대폭 희생하더라도 관리가 편리한 프로그래밍이 유행이었습니다. 그런데 최근 몇 년 사이에 CPU의 성능을 높이는데 커다란 기술적 장벽이 발생했고, 그 결과 공짜 점심이 끝나게 된 거죠.
기본적으로 CPU의 개별 성능이 좋아지려면 클럭수, 즉 Hz가 높아져야 합니다. 그리고 과거에는 쉽게 클럭수를 올릴 수 있었지요. 처음 1GHz를 돌파했을때부터 불과 몇 년 사이에 3~4GHz까지 성능이 올라왔습니다.
그런데 이제는 클록을 더 올릴 수 없게 되어 버렸습니다. 약 5GHz정도가 되면 심각하게 많은 전류가 누수되기 때문입니다. 심지어 4GHz만 되어도 누수 전류가 많아집니다.