장바구니 담기 close

장바구니에 상품을 담았습니다.

R 병렬 프로그래밍

R 병렬 프로그래밍

  • 사이먼 채플
  • |
  • 에이콘출판
  • |
  • 2017-02-07 출간
  • |
  • 292페이지
  • |
  • 188 X 234 X 23 mm /964g
  • |
  • ISBN 9788960779747
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 이 책에서 다루는 내용 ★

■ R의 내장 병렬 패키지를 사용한 로드밸런싱된 병렬 연산의 효율적인 구축
■ AWS에서 동작하는 하둡의 분산화된 연산 실행을 포함한 R에서 클라우드 기반 병렬 인프라 배치 및 활용
■ RMPI, pbdMPI, SPRINT 패키지를 사용한 메시지 전달 인터페이스(MPI)로 복잡한 병렬 처리 알고리즘 개발
■사용자의 MPI 기반 루틴으로 병렬 R 패키지(SPRINT)의 생성 및 확장
■ OpenCL로 그래픽 프로세싱 유닛(GPU)의 벡터 처리 능력을 활용한 R에서 가속화된 수치 함수 구현
■ 데드락 및 수치적 불안정성과 같은 병렬 프로그래밍의 함정과 처리 및 회피 방법
■ 마스터-워커 과제 농장, 공간 그리드, 하이브리드 병렬 R 프로그램 만들기

★ 이 책의 대상 독자 ★

장시간 실행되는 연산 및 대량의 데이터 분석을 위해 병렬 컴퓨팅 파워의 활용법을 배우고자 하는 중급에서 고급 수준의 프로그래머를 대상으로 한다. R 프로그래밍에 대한 적절한 지식과 이해가 요구된다. C나 C++와 같은 낮은 수준 언어를 읽고 이해할 수 있으며 코드 컴파일 프로세스에 익숙할 정도로 충분한 능력의 프로그래머야 한다. 독자는 스스로 숙련된 프로그래머이자 수학자인 새로운 유형의 데이터 과학자라고 여겨야 한다.

★ 이 책의 구성 ★

1장, 'R에서의 간단한 병렬화'에서는 R의 병렬화된 핵심 버전인 lapply()를 사용해 노트북의 멀티코어 프로세싱 능력을 어떻게 활용할 수 있는지 빠르게 알아본다. 또한 아마존 웹 서비스를 통해 클라우드의 막대한 컴퓨팅 능력에 대해 간단히 살펴본다.
2장, '메시지 전달 소개'에서는 고급 병렬 알고리즘 구현에 핵심적인 기술인 MPI를 다룬다. 두 가지의 R MPI 패키지인 Rmpi 및 pbdMPI와 함께 해당 통신 서브시스템의 OpenMPI을 구현한다.
3장, '고급 메시지 전달'에서는 구체적인 Rmpi 예제를 개발하고 비차단 통신과 프로세스 간 메시지 교환의 지역화 패턴을 설명하며 MPI 학습을 마무리한다. 이를 위해 공간 그리드 병렬화를 구현한다.
4장, '슈퍼컴퓨터용 MPI 기반 R 패키지: SPRINT 개발'에서는 실제 슈퍼컴퓨터에서 병렬 코드를 실행하는 경험을 소개한다. 또한 슈퍼컴퓨터는 물론 노트북에서도 실행할 수 있는 C로 작성된 병렬 컴퓨팅 R 패키지인 SPRINT 개발에 대해 상세히 설명한다. 그리고 직접 작성한 고성능의 병렬 알고리즘으로 어떻게 이 패키지를 확장할 수 있는지, 어떻게 이를 R에서 접근할 수 있는지 보여준다.
5장, '노트북 안의 슈퍼컴퓨터'에서는 여러분의 노트북에 내장된 그래픽스 프로세싱 유닛(GPU, Graphics Processing Unit)의 엄청난 병렬 및 벡터 프로세싱 능력을 R에서 어떻게 드러낼 수 있는지 보여준다. 이를 위해 공개 컴퓨팅 언어(OpenCL, Open Computing Language)의 R 래퍼(wrapper)인 ROpenCL 패키지를 사용한다.
6장, '병렬 컴퓨팅의 예술'에서는 병렬 프로그래밍 및 그 성능 이면의 기초 과학과 잠재적인 함정을 강조한다. 모범 사례의 기술을 제공하고, 병렬 컴퓨팅 시스템의 미래를 살펴봄으로써 끝맺는다.

★ 지은이의 말 ★

우리는 현재 폭발적으로 급증하고 있는 정보의 한가운데 있다. 우리 삶의 모든 것은 자신의 생명 활동에서 세계 환경에 이르기까지 사물 인터넷(IoT, Internet of Things)을 통해 실시간으로 측정되며 연결돼 있다. 일부 지표에 따르면 2020년에는 세계의 정보량이 오늘날로부터 10배 증가해 믿기 어려운 규모인 44제타 바이트(1제타 바이트는 2,500억 개 DVD와 같은 규모다)에 이를 것으로 전망되고 있다. 이러한 규모와 속도의 빅데이터를 처리하기 위해 막대한 규모의 계산력, 메모리, 디스크 자원이 필요하며, 이를 위해서는 병렬화가 필요하다.
오픈소스 통계 프로그래밍 언어인 R은 만들어진 햇수에도 불구하고 데이터 분석에 주춧돌과 같은 기술 중 하나로 인기를 얻고 있다. 그리고 계속 확장되고 있는 커뮤니티이면서 장담하건대 현재 인기 있는 명칭인 ‘데이터 과학자’에 의해 쓰이고 있다.
물론 데이터 과학자가 빅데이터라는 야수를 길들이기 위해 도입할 수 있는 도구는 여러 가지가 있다. 어쩌면 여러분은 파이썬(Python), SAS, SPSS 아니면 MATLAB의 고수일 수도 있다. 그러나 1997년 이후로 기나긴 오픈소스의 유산과 함께한 R은 그사이 20년 동안 개발돼 온 CRAN 호스팅의 매우 다양한 플러그인 라이브러리 패키지와 함께 널리 보급되고 있으며, 작은 숫자 행렬에서부터 생체 분자 DNA와 같은 극히 대규모의 기호로 된 데이터셋에 이르기까지 대부분의 데이터 형태를 다룰 수 있다. 물론 우리는 R이 매우 다양한 형태의 데이터에 관련된 상당히 복잡한 분석 과정을 조율할 수 있는, 사실상 데이터 과학 스크립팅 언어로 자리매김하고 있다는 것을 제시하기 위해 가능한 한 깊게 들어가고자 한다.
R 자체는 항상 싱글 스레드(single thread)로 구현됐으며, 언어 근본 자체 내에서 병렬화를 사용하지 않도록 디자인됐다. 대신 특정 가속화된 함수를 위한 병렬화 수립과 병렬 처리 프레임워크를 사용할 수 있게 하려고 특별히 구현된 외부 패키지 라이브러리에 의존한다. 다양한 기술 분야에서 병렬 알고리즘을 개발할 수 있게 하는 가장 좋은 대표적 구현 방법을 몇 가지 살펴본다.
이 책에서는 R의 자체 멀티코어 능력을 활용하는 parallel 패키지와 메시지 전달 인터페이스(MPI, Message Passing Interface) 표준을 사용하는 메시지 전달법, OpenCL을 통한 범용 목적의 GPU(GPGPU) 기반 병렬화를 비롯해 단일 프로그램 복수 데이터(SPMD, Single Program Multiple Data)에서 단일 명령 복수 데이터(SIMD, Single Instruction Multiple Data)에 이르기까지 병렬화의 여러 다른 면을 살펴본다. 또한 과제 파밍(farming)을 통한 로드밸런싱에서 그리드를 통한 공간 처리에 이르기까지 프레임워크 병렬화 접근 방법의 차이점을 살펴본다. 그리고 클라우드에서 하둡을 통한 일반적인 목적의 배치 데이터(batch-data) 처리, 그리고 보너스로 클러스터 컴퓨팅에서 최근 인기 있는 새로운 기술이면서 대규모의 실시간 데이터 처리에 더 적합한 아파치 스파크에 대해 간단히 언급한다. 게다가 수백만 파운드짜리 슈퍼컴퓨터의 사용법을 살펴본다. 이를 어떻게 사용하는지, 어느 정도의 성능을 달성할 수 있는지 보도록 한다. 여러분이 사는 지역의 슈퍼컴퓨터 센터에 들이닥친 후, 여러분이 발견한 새로운 지식으로 엄청난 규모의 병렬 컴퓨팅을 해볼 수 있게 될지 누가 알겠는가?
이 책에 나온 모든 코딩 예제는 직접 작성한 것이며, 일부 예제는 같은 분야의 다른 책에서 만날 수 있을 법한 종류의 예제와 겹치지 않게 선택했다. 우리는 평범한 것과 다소 다른 무언가로 독자 여러분을 사로잡을 수 있게 예제들을 선택했다. 우리는 여러분이 이제 막 시작하는 R에서의 병렬 프로그래밍 완성 과정을 즐기기를 기대한다.

★ 옮긴이의 말★

21세기 들어 IT업계에서 가장 인기 있는 화두 중 하나는 바로 '데이터’가 아닐까 한다. 소프트웨어 없이 지속 가능한 산업이 전무하다고 할 수 있는 지금 비단 IT뿐만 아니라 모든 업계에서 데이터의 중요성을 외치고 있다. 저성장으로 인해 양적 팽창이 어려워지면서 데이터는 모든 분야에서 생산성을 조금이라도 키우기 위한 핵심적인 수단이 되고 있다.
데이터 분석에서 파이썬(Python)이 비교적 최근에 주목을 받고 있다면 R은 풍부한 라이브러리 생태계를 기반으로 한 전통의 강자라 할 수 있다. 통계학, 생물학, 의학, 사회과학 등 폭넓은 분야의 연구자가 R에서 쓸 수 있는 다양한 라이브러리를 개발해놓은 덕분에 데이터 분석가는 자신이 직접 분석 도구를 개발할 필요 없이 기존 라이브러리를 쉽게 가져다 쓸 수 있다. 이러한 개방성이 R을 인기 있는 데이터 분석 언어로 만들어 준 가장 중요한 원동력이라 할 수 있을 것이다.
모든 프로그래밍 언어에서 하드웨어가 발전하면서 CPU, GPU의 멀티코어를 잘 활용할 수 있는 능력이 더욱 중요해지고 있다. R도 예외가 될 수는 없다. R 자체는 싱글 스레드로 구현돼 있으므로 병렬 연산을 위해서는 별도의 라이브러리를 사용해야 한다. 이 책에서 이러한 라이브러리를 이해하고 다루는 방법을 체계적으로 배울 수 있다.
이 책은 R 병렬 처리를 위한 핵심 패키지인 parallel에서 시작해 클라우드 기반 라이브러리, 고급 MPI, 그리드 병렬화, OpenCL을 이용한 GPU 기반 병렬화 등 기술적으로 깊은 내용까지 다룬다. 또한 R에서 효율적인 병렬 코드를 작성하는 방법 및 피해야 할 문제에 대해 자세히 배울 수 있다. 마음 급하신 분들은 2장만 읽어본 후, 기존에 개발해놓은 R코드에 병렬화를 적용한다면 빠르게 실행 시간을 단축할 수 있을 것이다. 이 책이 R에서의 병렬화에 대한 기초는 물론 고급 기술을 접하는 데 좋은 디딤돌이 될 수 있기를 기대한다.

저자소개

저자 사이먼 채플(Simon R. Chapple)은 고도로 숙련된 솔루션 아키텍트이자 선임 소프트웨어 엔지니어다. 데이터 분석과 헬스케어 정보학에 대한 혁신적인 솔루션 및 애플리케이션 개발에 25년이 넘는 경력을 쌓았다. 또한 슈퍼컴퓨터 HPC(High Performance Computing)와 빅데이터 프로세싱 전문가다.
데이터리틱스 테크놀로지 사(Datalytics Technology Ltd)의 CTO이자 경영 파트너다. 기존 IT 운영 환경에서 쉽게 배포할 수 있게 캡슐화된 차세대의 대규모 데이터 분석 플랫폼 개발을 위한 팀 구성을 이끌고 있다. 이 플랫폼은 커스터마이징이 가능한 고성능 도구, 프레임워크, 시스템으로 구성돼 있으며, 데이터 수집과 분석, 시각화에 이르기까지 실시간 분석을 위한 데이터 분석의 전체 생명주기를 가능케 한다.
아리디아 인포매틱스(Aridhria Informatics)의 제품 혁신 이사였으며, 스코틀랜드의 의료 공급자를 위한 다수의 독창적인 시스템을 구축했다. 그가 구축한 통합 환자 추적 경로 시스템은 18주(週) 위탁 진료와 암 환자 관리 모두를 위한 10개의 개별 데이터 시스템 통합에 쓰였으며, 스코틀랜드의 의료 공급자가 환자 대기 시간을 최대한 낮출 수 있게 했다. 또한 호주에서 임상실험으로 진행된 화학 요법 환자를 위한 공공 클라우드로 호스팅되는 독특한 모바일 기반 실시간 모니터링 시스템을 구축했다. 이 시스템은 간호사와 환자로부터 “마치 거실에 간호사가 있는 것 같다. 언젠간 모든 화학 요법 환자가 안전은 물론 24시간 내내 자신만의 천사가 함께 하는 편안함을 알게 되길 바란다.”라는 찬사를 받았다.
또한 오픈소스 패키지인 ROpenCL의 공동 작성자다. 이 패키지는 R로 작성된 통계 프로그램이 그래픽 가속 칩으로 병렬 계산을 할 수 있게 해준다.

도서소개

[R 병렬 프로그래밍]은 R에서의 병렬 처리를 위한 핵심 패키지 parallel에서 시작해 클라우드 기반 패키지, 고급 MPI, GPU 기반 병렬화 등에 관해 기술적으로 깊이 다룬다. R에서 효율적인 병렬 코드를 작성할 수 있는 방법 및 피해야 할 문제에 대해 깊이 있게 배울 수 있다. R 병렬 프로그래밍을 간단하게 구현하는 방법은 물론, 고차원의 병렬화 기술을 접하는 데 좋은 길잡이가 될 것이다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.