이전

리뷰 (11)

한줄평
평점 분포
  • 리뷰 총점10 36%
  • 리뷰 총점8 45%
  • 리뷰 총점6 18%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 0.0
  • 40대 8.0
  • 50대 8.0

포토/동영상 (1)

리뷰 총점 종이책
멀티코어 애플리케이션 프로그래밍
"멀티코어 애플리케이션 프로그래밍" 내용보기
멀티코어 애플리케이션 프로그래밍소프트웨어 개발자라면 누구나 성능을 올리기위해 많은 고심을 하게 됩니다. 저 역시 개발을 해오면서 성능에 대한 이슈는 항상 고민하게 되는 문제점이기도 하구요. 특히나 저같이 모바일 개발자라면 고성능에 대해서는 굉장히 민감한 부분이라고 생각합니다.프로세스의 성능을 최대한 끌어 올려 성능을 극대화 하고 싶다면 이책 "멀티코어 애플리케이
"멀티코어 애플리케이션 프로그래밍" 내용보기


멀티코어 애플리케이션 프로그래밍


소프트웨어 개발자라면 누구나 성능을 올리기위해 많은 고심을 하게 됩니다. 저 역시 개발을 해오면서 성능에 대한 이슈는 항상 고민하게 되는 문제점이기도 하구요. 특히나 저같이 모바일 개발자라면 고성능에 대해서는 굉장히 민감한 부분이라고 생각합니다.

프로세스의 성능을 최대한 끌어 올려 성능을 극대화 하고 싶다면 이책 "멀티코어 애플리케이션 프로그래밍" 책을 강력히 추천 합니다.

다소 어려운 내용이기는 하지만 인내심을 가지고 끝까지 읽어 나간다면 충분히 만족할 만한 성과를 얻으실거라 믿어 의심치 않습니다.



멀티코어 애플리케이션 프로그래밍?


이책은 총 11장으로 이루어져 있으며 병렬화 방법에 대해 여러 방법을 두루 설명해 주고 있습니다.

특정 플랫폼만이 아닌 여러 종류의 운영체제와 프로세서에 대해서도 다루고 있기도 하죠.


1장 - 하드웨어와 소프트웨어의 개념 소개

2장 - 애플리케이션 최적화

3장 - 멀티코어 시스템의 활용방법

4장 - 멀티 쓰레드의 안전한 데이터 공유

5장 - POSIX 쓰레드를 이용한 병렬 애플리케이션 개발 방법

6장 - WINDOW 환경에서 네이티브 쓰레드 개발방법

7장 - OpenMP등 컴파일러에 의해 제공되는 자동화된 병렬화 기능

8장 - 개발자가 책임지는 고수준 최적화 쓰레드 개발 방법

9장 - 최적의 쓰레드 성능 발휘 방법론

10장 - 병렬 프로그래밍의 새로운 기술들

11장 - 전체 내용정리



멀티코어 애플리케이션 프로그래밍 이러한 장점이 있다.



1. 멀티 플랫폼에서 적용이 가능하다.

책의 제목처럼 이 책에서 설명하는 내용들은 멀티코어 애플리케이션을 개발하는 방법에 대해서 설명해 주고 있는 책입니다. 윈도우 기반의 PC뿐만 아니라 리눅스나 유닉스에서도 실행 가능한 프로그램을 만들때 필요한 기술들 까지 모두 설명해 주고 있어서 많은 도움이 됩니다.

                                                                                                                                        

2. 충분한 설명과 예제 코드를 통해 이해도가 높다.

대부분의 이론서들은 책에 글자를 통한 설명을 주로 하고 있습니다. 물론 약간의 코드를 통해 설명하고 있지만 실무에 직접적으로 적용하기에는 무리가 있죠. 하지만 이 책은 설명 뿐만 아니라 최적화를 위해 추가적으로 작성된 코드들이 실제로 접목가능한 내용들이 많아 굉장히 많은 도움이 됩니다.


3. 충분한 삽화를 통해 이해도를 높여준다.

프로그램을 공부해 보신 분들은 아실겁니다. 백줄의 글보다 하나의 그림이 엄청난 이해도를 높여준다는 사실을....

이 책은 다양한 그림과 그래프, 사진등을 통해 다소 어려운 내용을 이해하는데 있어서 아주 많은 도움이 되고 있습니다.


4. 설명이 상세하다.

이 책은 다소 어려운 내용이지만 충분한 설명과 다소 쉬운 용어들을 사용하여 이해도를 높였습니다.

번역된 책임에도 불구하고 책을 읽어 나감에 있어서 불편한점이 거의 없을 정도로 잘되어 있습니다.


5. 레퍼런스용 책

개인적으로 이책에 대한 내용이 필요할때마다 찾아보기에 좋을 정도로 잘 정리된 책이라 생각됩니다.

책상 한켠에 꽂아 두고 필요할 때마다 찾아보다도 좋을 만큼 좋은 내용들이 많으며 레퍼런스 용으로 충분하리라 생각됩니다.


개인적으로 아쉬운 점들


1. 초보자를 위한 책은 아니다.

최소한 C나 C++에 대한 기본적인 개념들에 대해 알고 계셔야 하며 프로세스와 쓰레드의 구별이 가능해야 합니다. 멀티스레드 관련 개발 경험이 있으시다면 더더욱 이해하시는데 많은 도움이 되실 겁니다. 책의 전반부에서 쓰레드와 프로세스에 대한 개념들을 설명하고는 있으나 그 내용만으로는 책의 전체적인 내용을 이해하시는데는 무리가 있어 보입니다.


2. 사진과 삽화가 흑백이다.

개인적인 생각입니다. 그냥 칼라였으면 어떨까? 하고 생각해 보았지요. 그러면 가격이 비싸지겠지요?

특별히 적을것이 없어서 적어 보았습니다.


마무리



고성능을 끌어 올리고자 한다면! 멀티프로세스에 대해 많은 고민을 한다면 이 책을 강력히 추천합니다. 병렬 프로그래밍이라는 커다른 틀에서 하나하나의 개별 모듈을 모두 아우르는 아주 일반적인 내용 위주로 잘 정리되어 있답니다. 멀티프로그래밍, 병렬 프로그래밍을 적용하여 성능을 극대화 하는 기법들을 배우고자 하신다면 이 책은 여러분에게 아주 많은 도움을 줄것입니다.

s********r 2012.07.26. 신고 공감 0 댓글 0
리뷰 총점 종이책
[Book] multicore application programming(한빛미디어)
"[Book] multicore application programming(한빛미디어)" 내용보기
[Book]  multicore application programming(한빛미디어)  멀티 코어를 고려한 애플리케이션 방법과 실재를 설명해 준 책이다. 하지만, 병렬 프로그램의 빙산의 일각만 보여 주지 않고 물 밑에 깔려 있는 큰 덩어리를 조목 조목 알려 주고 있다. 하드웨어, 소프트웨어를 넘나들고 posix의 X계열에서 윈도우로 소프트웨어 의존적인 부분도 다루고 있다. 과거에 나온 책들
"[Book] multicore application programming(한빛미디어)" 내용보기

[Book]  multicore application programming(한빛미디어)




 멀티 코어를 고려한 애플리케이션 방법과 실재를 설명해 준 책이다. 하지만, 병렬 프로그램의 빙산의 일각만 보여 주지 않고 물 밑에 깔려 있는 큰 덩어리를 조목 조목 알려 주고 있다.

하드웨어, 소프트웨어를 넘나들고 posix의 X계열에서 윈도우로 소프트웨어 의존적인 부분도 다루고 있다. 과거에 나온 책들은 API 위주이며 표준이 만들어지고 있을 때 작성한 책들이어서 사용법이 깔끔하지 않았다. 이제 어느 정도 정리가 되어 지금 쯤 정리된 책을 보는 것은 모든 내용을 한 큐로 이어 보는 즐거움이 있을 것이다. 하드웨어 스레드인 strands를 설명할때는 참 빠짐 없이 설명하려 했구나, 하지만 참 쉽게 무리 없이 언급하고 있구나 감탄하게 되었다. 병렬 프로그램을 한다는 것은 생명을 하진 여러 프로세스/ 스레드들이 서로 어떻게 데이터를 주고 받고 이 데이터를 순서에 맞게 공유하는 것일 것이다. 이 것을 하기 위한 동기화 장치(뮤텍스, 크리티컬 리전, 스핀 락, 세마포어, 리더즈-라이터 락, 배리어, 아토믹 조작과 락-프리 코드)와 통신 방법(메모리 맵, 시그널, 메시지 큐, 파이프, 네트워크)을 잘 설명하고 있다. 또한 posix 스레드 설명을 예제 별로 쉽게 설명하고 있어서 금방 이해하고 따라 할 수 있다.  거의 모든 컴퓨터 프로그램이 병렬화 프로그램을 만든다. 한 마디로 스레드 사용하는 것이 우습다. 하지만, 알고 제대로 만들어 사용하는 사람은 드물다. 병렬 내용이 계속 변해 왔으며 재대로 정립된지도 오래지 않아서 그럴 것이다. 과거의 프로세스의 IPC 개념으로 접근하여 어느 정도 작동되게 프로그램을 짜는 것일 것이다. 이 책을 읽게 되면 그런 실수할 수 있고 그냥 작동되지만 위험한 코드를 만드는 것을 막을 수 있을 것이다. 내가 올해 읽은 책 중 꼭 한 권만 꼽으라면 난 서슴 없이 이 책을 읽을 것이다. 단, 용어를 한글화 한 부분이 조금 어색한 경우가 있다. 하지만 너무 심하지는 앟다.예를 들어 아토믹이라는 용어를 쓰는 부분이 조금 그렇다. 이 책을 읽으며 감탄을 자아 냈다. 꼭 알아야 할 부분이지만 국내에서는 잘 다루지 않는 분야를 참 쉽게 잘 설명했다는 느낌이었다. 무었보다 많이 알고 있다는 느낌이 들었다. 엄청난 내공이 있어야 이렇게 딱 잘라 설명할 수 있고 이해 시킬 수 있기 때문이다. 컴퓨터 쪽에 종사하는 누구라도 꼭 병렬 프로그램을 다루지 않는 사람이라도 꼭 이 책은 읽기를 바란다. 이렇게 좋은 책이 화자 되지 않고, 나 또한 책에 대해 모니터링 하는데 이 책을 이제야 발견한 것이 조금 아쉽다. 




Multicore Application Programming: For Windows, Linux, and Solaris : http://kangcom.com/sub/view.asp?sku=2010F1107470&mcd=571

Solaris Application Programming : 

멀티코어 애플리케이션 프로그래밍(성능을 100% 끌어내는) : http://kangcom.com/sub/view.asp?sku=201206290006

 

 

http://www.hanb.co.kr/book/look.html?isbn=978-89-7914-928-9

 

h***j 2013.12.02. 신고 공감 0 댓글 0
리뷰 총점 종이책
멀티코어 애플리케이션 프로그래밍
"멀티코어 애플리케이션 프로그래밍" 내용보기
이제는 멀티코어가 아닌 CPU를 찾아보기 어려울 정도로 멀티코어CPU가 일반화되었습니다. 우리들에게 가장 친숙한 전자기기인 핸드폰조차도 멀티코어인 경우가 상당히 많습니다. 하지만, 이렇게 발전된 리소스들을 제대로 활용하는 방법은 의외로 별로 알려지지 않았다고생각되어질 정도로 관련 서적들은 찾아보기 어려운 것이 현실입니다. 그나마 외국 서적들이 몇권 눈에 띄기는 합니
"멀티코어 애플리케이션 프로그래밍" 내용보기

 이제는 멀티코어가 아닌 CPU를 찾아보기 어려울 정도로 멀티코어CPU가 일반화되었습니다.

 우리들에게 가장 친숙한 전자기기인 핸드폰조차도 멀티코어인 경우가 상당히 많습니다.

 하지만, 이렇게 발전된 리소스들을 제대로 활용하는 방법은 의외로 별로 알려지지 않았다고

생각되어질 정도로 관련 서적들은 찾아보기 어려운 것이 현실입니다.


 그나마 외국 서적들이 몇권 눈에 띄기는 합니다만, 영어와의 싸움을 하기엔 너무나도 초라한 자신의 모습에

어느새 다른 방법을 모색하는 자신을 볼 수 있었습니다.


 이러한 어려움을 조금이나마 해결해주기 위하여 나온 책이 이 멀티코어 애플리케이션 프로그래밍입니다.


 이 책은 CPU가 어째서 멀티코어의 길로 가게 되었는가부터 최적화 방법, 병렬화 기법등을 설명하며

멀티코어 프로그래밍을 위하여 알아야할 지식들을 설명하고 있습니다.


 오라클 수석 엔지니어의 저술서답게 여러방면의 지식으로 기술되어 있으며 또한 몇 권의 저술서를 보유하고 있는

저자답게 상당히 깔끔하게 서술되어 있습니다.


 다만, 그 내용이 상당히 깊고 여러 방면의 지식들이 동원되어있으므로, 이 책에서는 그러한 부분을 이해하지 못하는

독자를 위하여 설명을 하고 있습니다만, 그 내용조차 상당 수준의 지식을 요구하는 내용으로 생각됩니다.


 예제 소스의 내용은 간단하게 되어있지만, 이를 컴파일 하였을 때의 어셈블리소스의 구조가 어떻게 되는지등을 예로 들며 설명하면서

어떤 방법으로 빌드를 하는 것이 좋은 방법인지를 설명하는 과정등에서는 솔찍히 저자의 대단함에 혀를 내둘지 않을 수 없다고 느꼈습니다.


 이 글을 쓰고 있는 저도 스스로 개발을 하면서 필요에 따라 멀티 쓰레딩을 돌려서 연산을 했었지만, 

그 내용은 거의 프로그래밍 서적에 나온 내용을 거의 그대로 쓴 것에 불과하였고, 왜 이렇게 해야하는지 의문을 갖기 보다는,

그렇게 작성하는 것이 공식이다시피 생각했었기에, 이 책을 읽는 동안 많은 부끄러움을 느끼지 않을 수 없었습니다.


 이제 점점 멀티 코어의 활용이 당연시되고 있습니다.

 이러한 자원들을 활용하기 위하여 시대에 뒤쳐지지 않기위하여 공부하실 분들에게 이 책을 추천드립니다.


l******e 2012.08.20. 신고 공감 0 댓글 0
리뷰 총점 종이책
멀티코어 프로그램의 중요성
"멀티코어 프로그램의 중요성" 내용보기
싱글코어를 지나 듀얼코어, 트리플코어, 쿼드코어, 헥사코어, 옥타코어까지... 모든 PC의 핵심인 CPU가 점점 많아지는 추세이다. 인텔과 AMD가 한 창 클럭스피드 올리기에 혈안이 되어 있던 시절이 있었지만 결국 속도를 더 높이고 싶어도 발열과 안정성에서 한계점에 다다랐고 인텔은 코어 갯수를 늘리면서 코어당 효율성을 강조하고 AMD는 인텔보다 코어 갯수를 더 많이 늘려서
"멀티코어 프로그램의 중요성" 내용보기

싱글코어를 지나

듀얼코어, 트리플코어, 쿼드코어, 헥사코어, 옥타코어까지...

모든 PC의 핵심인 CPU가 점점 많아지는 추세이다.

인텔과 AMD가 한 창 클럭스피드 올리기에 혈안이 되어 있던 시절이 있었지만

결국 속도를 더 높이고 싶어도 발열과 안정성에서 한계점에 다다랐고

인텔은 코어 갯수를 늘리면서 코어당 효율성을 강조하고

AMD는 인텔보다 코어 갯수를 더 많이 늘려서 판매를 시도 했지만

결국 현재까지의 승자는 인텔이다.


여기서 중요한건 두 가지라고 본다.

첫 번째는 코어가 아무리 많아도 코어당 성능이 좋지 못하면

코어 두 마리가 달라 붙어도 성능 좋은 코어 한 마리를 이기지 못한다.

두 번째는 성능 좋은 코어가 대기하고 있어도 그 코어 들을 동시에 쓸 수 있는

프로그램이 없다면 그냥 싱글이나 듀얼코어나 다름없다.


바로 프로그래머가 해야할 일이 두 번째 일이라고 생각한다.

예전에 수업시간에 배운 내용이 갑자기 생각이 나는데

코딩을 하다보면 어떤 시점의 라인에서 현재의 연산이 끝나야 다음 연산이 가능한

구조로 설계된 코드의 경우 멀티코어에서는 적합하지 않고 오히려 클럭스피드가 높은

싱글코어에게 밀리는 현상도 발생한다고..


물론 최근에는 각각의 기능을 가질 모듈 단위로 코딩을 해서

이러한 단점을 많이 극복을 했지만 중요한 인자값을 공유하는 프로그램 구조에서는

아직도 이런 순차적인 부분을 에러없이 설계하는 것이 쉬운일이 아니다.

싱글코어의 단점인 데드락 문제를 해결하기 위해서 멀티코어라는 것이 튀어나오긴 했지만

이러한 멀티코어도 특정 프로그램에서는

어느 한 시점에서는 다시 한 곳으로 모이게 되는 단점도 보인다는 것이다.


다중 프로그램을 설계할 때 또 조심해야 할 것이 메모리 관리이다.

이 책에서도 그 부분을 언급하고 있지만 함수 호출에 따라 메모리를 공유하고 해제하는 시점과

개발 환경마다 다른 메모리 크기 단위 등 멀티코어 프로그램을 설계함에 있어서

조심해야할 부분들을 잘 지적하면서 동시에 해결책도 제시해주고 있어서

이해과 응용하는데 있어서 많은 도움을 준다.


CPU 리소스를 할당 받기 위한 우선 순위의 경우

상황에 따라 0순위의 스레드가 5순위나 6순위 등으로 내려갈 수도 있기 때문에

스레드의 우선 순위를 결정해서 프로그램이 현재 수행하는 목적에 맞게

실시간으로 CPU 리소스 우선순위를 관리할 수 있는 프로그램 설계가 정말 중요하다.


이 책을 보면서 이러한 여러 가지 놓치면 안 될 부분들을 다시 볼 수 있게 되었고

오래 전에 했던 디스크 스케쥴링에서의 입력 값에 따른 헤더의 탐색 방법이라던지

데이터를 정렬하고 검색하는 정렬 프로그램과 같이 멀티프로그램을 설계할 때

중요한 핵심 개념들과 예제 소스를 함께 제공하고 있어서

다소 딱딱하고 어려운 이론 부분을 쉽게 이해할 수 있도록

책을 완성시킨 배려가 보인다.


모든 코어를 100% 활용할 수 있는 프로그램이 있다면

아무리 성능 좋은 싱글 코어라도 절대 멀티코어를 이길 수가 없을 것이다.

전반적인 책 내용의 수준이 초급 수준은 아니며 중, 고급 수준으로

다루고 있고 뒷부분은 특히 좀 더 난이도가 높은 내용 들이 다뤄져 있지만

차근차근 읽어보고 소스 코드 구조를 보면 대략적인 흐름을

파악할 수 있기 때문에 이 책 한 권 정도는 필수로 사서

읽어봐야 할 가치는 충분하다고 생각한다.


 

 

m*****s 2012.07.27. 신고 공감 0 댓글 0
리뷰 총점 종이책
멀티코어 애플리케이션 프로그래밍
"멀티코어 애플리케이션 프로그래밍" 내용보기
멀티코어 프로세서가 대중화된 지 이미 오래 지났지만이를 충분히 이용하는 멀티코어 프로그램을 문제없이 구현할 수 있는 소프트웨어 엔지니어들은 아직 많지 않다.멀티코어 프로그램은 신경써야 할 것이 너무 많고성능 지향 멀티코어 프로그램으로 구현했다가 자칫 다른 더 큰 사이드 이펙트가 야기될 수 있기 때문이다. 아마 대부분의 프로그래머들은 이것을 원하지 않을 것이다.이 책
"멀티코어 애플리케이션 프로그래밍" 내용보기

멀티코어 프로세서가 대중화된 지 이미 오래 지났지만

이를 충분히 이용하는 멀티코어 프로그램을 문제없이 구현할 수 있는 소프트웨어 엔지니어들은 아직 많지 않다.


멀티코어 프로그램은 신경써야 할 것이 너무 많고

성능 지향 멀티코어 프로그램으로 구현했다가 자칫 다른 더 큰 사이드 이펙트가 야기될 수 있기 때문이다. 아마 대부분의 프로그래머들은 이것을 원하지 않을 것이다.


이 책은 고기잡는 법을 알려주고자 많은 노력을 했다.


이 책은 하드웨어와 멀티코어 프로세서 구조 설명부터 상세하게 시작한다.

그래서 명령어가 어떻게 처리되는지 멀티코어 프로세서에서 프로세스를 어떻게 처리하는지 설명하고 있다.

이는 단순히 공식에 대입하듯이 프로그램을 병렬화 시키거나 아무 생각없이 기계적으로 처리한 프로그램이 아니라 프로세스 처리를 이해하여 그때그때 그에 맞게 프로그래밍할 수 있도록 하는데 필수적인 도움이 된다.


중간중간의 어셈블리어 코드 때문에 어떤 사람들은 당혹스럽게 느낄 수도 있겠지만 SPARC, x86 어셈블리어 코드가 각각 수시로 등장함에도 설명과 함께 이해하는데는 별로 어려움은 없다. 인라인 어셈블리어에 어느 정도 익숙하고 커널 어셈블리어 코드를 분석한 오래전 경험이 있었지만 나도 보면서 다시 이해했다.


저자가 컴파일러 엔지니어이기 때문인지 컴파일러 엔지니어들이 많이 참조하는 성능 분석에 대한 설명과 컴파일러에 대한 설명도 있어서 흥미롭다.


병렬화 가능한 코드 탐색은 병렬화에 대한 이해와 병렬화 전환, 병렬화 설계를 위한 기본이다. 이런 내용들과 앞서 설명한 내용들이 이 책의 완성도를 높여준다. 무작정 병렬화 시키기, 일단 만들고보는 멀티코어 프로그래밍, 아예 고기 잡아주는 방식이 아니라 내가 어떻게 접근하고 어떻게 시작해야 할 지를 많이 알게 되었다.


그리고 본격적으로 멀티코어 프로그래밍에 필요한 내용들과 여러가지 실전적인 코드 설명들이 시작되는데 각 챕터에서 다양한 내용을 다루고 있어 궁금했던 내용들을 많이 찾아볼 수 있었다. 실제로 예제를 응용해보기도 하면서 많은 경험이 되었다. 나중에 써먹어 볼 만한 내용들을 건진 것이 많다.

몇 챕터는 읽어보지 않았다. 당장 크게 도움되지 않는 내용이고 별로 관심없는 내용도 있다. 책이 얇아서인지 좀 더 깊이 있게 다뤘으면 하는 부분도 있다.


어떤 부분은 아주 자세히 읽어가며 예제도 만들어보고 테스트도 해가며 분석적으로 이해하면서 읽고 어떤 부분은 대충 훑어보기도 하면서 읽어보았다. 앞으로 멀티코어 프로그래밍을 하는데 있어 많은 도움이 되었을 것은 분명하다. 책 내용 구성이 아주 재미있는 것도 이 책의 장점이다.


이 책과 함께 반드시 읽어야 할 책으로 같은 출판사에서 출간된 [프로그래머가 몰랐던 멀티코어 CPU 이야기]를 꼽는다. 이 책 또한 멀티코어 프로세서를 이해하고 멀티코어 프로그래밍을 하는데 반드시 필요한 책이고 두 책을 같이 보는 것이 크게 도움이 된다.

k******2 2012.08.31. 신고 공감 0 댓글 0
리뷰 총점 종이책
멀티코어 프로그래밍을 배우다.
"멀티코어 프로그래밍을 배우다." 내용보기
요즘 나오는 CPU들은 대부분 여러개의 코어를 가지고 있습니다. 인텔의 ATOM CPU와 같은 저전력 CPU 조차도 듀얼코어를 가지고 있을 정도니까요. 이렇게 하드웨어는 비약적으로 발전하고 있지만, 소프트웨어 기술은 그에 미치지 못하고 있는 현실입니다. 어플리케이션을 개발할 때도 마찬가지입니다. 일반적인 어플리케이션을 개발할 때에는 멀티코어를 충분히 활용하여 성능을 최적화
"멀티코어 프로그래밍을 배우다." 내용보기

요즘 나오는 CPU들은 대부분 여러개의 코어를 가지고 있습니다. 인텔의 ATOM CPU와 같은 저전력 CPU 조차도 듀얼코어를 가지고 있을 정도니까요.

이렇게 하드웨어는 비약적으로 발전하고 있지만, 소프트웨어 기술은 그에 미치지 못하고 있는 현실입니다.

어플리케이션을 개발할 때도 마찬가지입니다. 일반적인 어플리케이션을 개발할 때에는 멀티코어를 충분히 활용하여 성능을 최적화하는 부분에 대한 고려가 부족합니다. 물론 멀티쓰레드 등을 이용하여 성능을 높이는 방법은 많이 쓰이고 있지만, 이를 멀티코어로까지 확장하는 기술은 다소 생소한 분야입니다.

그만큼 해당 분야의 도서도 부족하고 기술을 습득하는데도 어려움이 많았습니다.

 

이 책은 이러한 갈증을 해소해주는 단비와 같은 책입니다.

개념과 예제, 삽화를 통해 이해를 도와주고 있으며, 다양한 환경에서 병렬 프로그래밍을 하는 방법을 잘 기술하고 있습니다. 또한, GPU 기반 컴퓨팅이나 클러스터링 기술과 같은 병렬화 기술에 대해서도 간략히 소개하여 다양한 기술들을 소개해 주고 있습니다.

다만, 개념 자체가 쉬운 개념은 아니기 때문에 초보자가 공부하기엔 좀 어렵다고 느낄 수 있습니다. 초보자들은 C/C++을 먼저 충분히 공부하시고, 쓰레드 개념도 어느 정도 익힌 후에 보시면 도움이 되실 것 같습니다.

 

s******8 2012.08.31. 신고 공감 0 댓글 0
리뷰 총점 종이책
한층 높은 프로그래밍 지식을 향하여
"한층 높은 프로그래밍 지식을 향하여" 내용보기
책의 내용에 대해서는 많은 리뷰어 분들께서 이미 상세히 잘 설명해 주신 듯하여 저는조금 다른 내용을 담아보겠습니다.얼마전 블로그에서 읽은 글이 떠오릅니다.그 글의 내용이야 어째건 글이 주는 교훈은 이 책의 필요성을 역설하고 있었다.내용인 즉슨 한 글로벌 기업의 각 지사별 업무 효율에 대한 이야기였다.같은 업무에 대하여A지사의 경우 업무 프로세스를 무시하고 빠르게 업무
"한층 높은 프로그래밍 지식을 향하여" 내용보기

책의 내용에 대해서는 많은 리뷰어 분들께서 이미 상세히 잘 설명해 주신 듯하여 저는


조금 다른 내용을 담아보겠습니다.





얼마전 블로그에서 읽은 글이 떠오릅니다.




그 글의 내용이야 어째건 글이 주는 교훈은 이 책의 필요성을 역설하고 있었다.


내용인 즉슨 한 글로벌 기업의 각 지사별 업무 효율에 대한 이야기였다.


같은 업무에 대하여


A지사의 경우 업무 프로세스를 무시하고 빠르게 업무를 진행하기로 정평이 났고


B지사의 경우 업무 프로세스를 중시하여 A지사보다 몇배는 느리게 업무를 진행하였다고 한다.


본사는 A지사의 빠른 업무 능력 때문에 업무 프로세스를 준수하지 않는 것에 대해서는 그다지 질타를 하지 않았다고 한다.


하지만 시간이 흐른 후 유지보수를 하는 시간에


업무 프로세스를 잘 준수했던 B 지사의 경우 7명이 해당 프로젝트를 관리하고 있으며


업무 프로세스를 무시했던 A 지사는 70명이 해당 프로젝트를 관리하고 있으나


B 지사보다 효율이 낮다고 한다.





물론 이 이야기는 약간 이 책의 내용과는 조금 동떨어진 내용일지도 모른다.


하지만 이 이야기에서 전해지는 교훈은 어느 정도 들어 맞지 않을까 싶다.


업무 프로세스를 멀티 코어 CPU의 동작 원리로 생각해보면


멀티 코어의 CPU와 관련한 부분을 무시하고 개발을 진행한다면 물론


빠른 시간에 개발은 완료할 수 있으나 하드웨어에 걸맞는 좋은 성능을 기대하기는


어렵지 않을까 싶습니다




이 책은 간략하게 소개하자면 PC는 물론 태블릿, 핸드폰, 게임기 등


수 많은 전자기기에 이제는 기본적으로 탑재 되고 있는 멀티코어


CPU의 활용하는 방법에 대해 소개하고 있습니다.


특정 운영체제를 기반으로 하지 않고 하드웨어의 동작 원리와 더블어


설명하고 있어 윈도우는 물론 리눅스, 솔라리스 등등


UNIX 게열의 운영체제에서의 개발을 함께 설명하고 있으며


물론 저자의 다양한 프로그래밍 경험과 하드웨어 지식을 통하여


CUDA, C++/CLI, OpenMp등 다양한 언어로 하고 있습니다.


우리는 책을 통해 간단한 어셈블리를 접하게 되며


초보자에게는 다소 어렵지만 언젠가는 넘어야할 하나의 장벽을 무너트리는


좋은 책이 아닐까 싶습니다.




독자는 이 책을 통하여 한층 더 넓고 풍성한 프로그래밍 지식을 가지게 될 것입니다.



s*****o 2012.08.30. 신고 공감 0 댓글 0
리뷰 총점 종이책
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍
"성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍" 내용보기
이 책은 어떤 한 분야에 대해 기술보다는 운영체제 관점에서 어떻게 효율적으로 프로그래밍 할 것인가를 알려주는 책입니다. 초보자가 보기에는 다소 어려운 점이 있을 듯 합니다. 자료구조, 운영체제에 대한 지식이 있어야 이 책에서 전달하는 바를 100% 이해할 수 있을 것입니다. 시중에는 프로그래밍이나, 운영체제, 자료구조 등을 알려주는 책이 많이 있습니다만 이렇게 최적의 성능
"성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍" 내용보기

이 책은 어떤 한 분야에 대해 기술보다는 운영체제 관점에서 어떻게 효율적으로 프로그래밍 할 것인가를 알려주는 책입니다. 초보자가 보기에는 다소 어려운 점이 있을 듯 합니다. 자료구조, 운영체제에 대한 지식이 있어야 이 책에서 전달하는 바를 100% 이해할 수 있을 것입니다. 시중에는 프로그래밍이나, 운영체제, 자료구조 등을 알려주는 책이 많이 있습니다만 이렇게 최적의 성능을 끌어내는 노하우를 알려주는 책은 그리 많지 않습니다. 이 책은 현업 개발자가 자신이 알고있는 지식에서 한 단계 더 나아갈 수 있는 계기를 만들어 줄 듯합니다.

k*****p 2012.08.08. 신고 공감 0 댓글 0
리뷰 총점 종이책
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍
"성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍" 내용보기
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍   이 책은 제목 그대로 멀티코어 CPU가 있는 컴퓨터에서 작동하는  애플리케이션을  개발하는 방법에 대해서 설명하는 책입니다. 약간 거칠게 말하자면 요즘 시중에서 판매중인 신형 PC라면 거의 모두 해당될 거 같습니다. 최근에 구매한 PC에서 혹은 리눅스나 유닉스에서 동작하는 프로그램을 만드는데 필요한 기
"성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍" 내용보기


성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍

 

이 책은

제목 그대로 멀티코어 CPU가 있는

컴퓨터에서 작동하는  애플리케이션을  개발하는

방법에 대해서 설명하는 책입니다.

약간 거칠게 말하자면

요즘 시중에서 판매중인 신형 PC라면 거의 모두 해당될 거 같습니다.

최근에 구매한 PC에서

혹은 리눅스나 유닉스에서 동작하는

프로그램을 만드는데 필요한 기술을 알려주기 위한 내용이 들어 있습니다.


이 책은

멀티코어 혹은 병렬화와 관련있는

특정 기술에 치우치기 보다는

약간 일반적인 내용을 알려주고 있습니다.

학문적인 이론서와 실용서,

그 중간쯤에 있다고 볼 수 있습니다.


또한 이 책은 초보자를 위한 책은 아닙니다.

C와 C++에 대한 사용경험이 있는 개발자와

프로세스와 스레드를 구별할 수 있고

멀티스레드에 대한 개발 경험이 있는 개발자들이

병렬 프로그래밍을 수행해야할 때

알아야할 사항들이 들어 있습니다.  


특히, 프로세스와 스레드 및 멀티스레드에 대해서

개념을 명확히 한 상태에서  들어가야만 고생을 덜 할거 같습니다.

앞 부분에서  개략적인 내용을 소개해 주기는 하지만,

그것만으로 책을 보기에는 부족한듯 합니다.


기존에  CUDA, TBB, 혹은 OpenMP 와 같은

병렬프로그래밍관련 라이브러리를 사용해 보신 분들이라면

좀 더 쉽게 보실 수 있습니다.

CUDA, TBB, 혹은 OpenMP와 같은 것들은

각각의 분야별로 많은 양의 기능과 정보들을 가지고 있습니다.

이 책에서는 개별 모듈에 대한 사용법보다는

병렬 프로그래밍 이라는 큰 틀에서 개별 모듈을 아우르는

일반적인 내용 위주로 정리되어 있습니다.


병렬 프로그래밍을 적용하는 방법에 대한 일반적인 기법들을

확인하는데 도움을 줄 것이라고 생각합니다.

 

 

YES마니아 : 골드 m*********u 2012.07.26. 신고 공감 0 댓글 0
리뷰 총점 종이책
멀티코어 애플리케이션 프로그래밍
"멀티코어 애플리케이션 프로그래밍" 내용보기
기존의 병렬프로그래밍 관련 책들에 비해서 상당히 책이 얇습니다.병렬프로그래밍의 특정한 내용에 대해서 심도있게 다루는 책은 아닙니다.입문서 정도로 생각을 하면서 읽어 본다면 아주 좋은 책인것 같습니다.기본적인 스레드에 대한 지식들을 다시한번 되집어 주면서, 스레드를 이용한 프로그래밍시에 주의해야 할 점들에 대해서도 다시한번 상기를 시켜주면서, 최신 병렬프로그래밍에
"멀티코어 애플리케이션 프로그래밍" 내용보기

기존의 병렬프로그래밍 관련 책들에 비해서 상당히 책이 얇습니다.
병렬프로그래밍의 특정한 내용에 대해서 심도있게 다루는 책은 아닙니다.
입문서 정도로 생각을 하면서 읽어 본다면 아주 좋은 책인것 같습니다.
기본적인 스레드에 대한 지식들을 다시한번 되집어 주면서, 스레드를 이용한 프로그래밍시에 주의해야 할 점들에 대해서도 다시한번 상기를 시켜주면서, 최신 병렬프로그래밍에 대한 내용들까지 잘 집어 주고 있습니다.

 

이책은 기존에 C/C++에 대해서는 기본적으로 잘 알고 있으며, 스레드 프로그래밍에 대한 경험이 있다라고 한다면, 아무 무리 없이 읽을 수 있을것 같습니다.

 

r***f 2012.08.31. 신고 공감 0 댓글 0