월간 마소 연재) R로 하는 멀티코어 병렬프로그래밍

지난달에 휴가 내면서까지 원고 데드라인을 맞췄던 ‘R로 하는 Big Data 분석’ 2회 연재를 월간 마소8월호 출간에 맞춰서 공개한다. 1회는 기말고사에 좀 집중하려고 팀원분에게 부탁을 드려서 잘 해결 되었으나 2회는 역시 kmobile 강연하고 거의 겹치는 바람에 집중을 못하고 있다가 결국 휴가내고 하루 집중해서 해결 했다. doSMP와 Rmpi, 그리고 snowfall이라는 멀티코어 분산처리 패키지를 중심으로 설명을 했고, 인터넷에도 […]

계속 읽기

parallel model tunning with caret

caret에는 최적 모델링 파라메터를 평가해주는 train이라는 함수를 제공하고 있다. 예를 들어 randomForest의 경우에는 mtry라는 변수가 있는데, 이 변수는 트리를 생성할때 랜덤한 몇개의 변수를 후보로 사용해서 분리(split)를 할것인지를 가지고 있어야 한다. 결국 이 ‘몇개’ 라는 이 값이 튜닝 포인트인 것이다. 이를 위해서 10 cross validation 전략으로 각 파라메터 튜닝 값에 대한 10 cross validation 결과를 출력하고자 […]

계속 읽기

데이터는 두뇌이자 도서관이다.

오늘 아주 흥미로운 글 하나를 읽었다. 우연히 Beautiful Data라는 책을 펼쳤는데, 전에 내가 읽지 않았던 부분중에서 Facebook의 데이터 플랫폼을 구축하는 과정을 그리는 Jeff Hammerbacher의 글을 보게 되었다.
읽는 내내 정신을 놓게 하지 않을 정도로 굉장히 흥미로운 글이였다.

계속 읽기

Hadoop 헤게모니 논쟁을 벗어나자!

어제 Hadoop 커뮤니티 모임이 Daum에서 있었다. 그 모임에서 Daum에 계시는걸로 보이는 어떤분이 MPI로도 가능한데 Hadoop으로 꼭히 써야될 필요가 있는가에 대해서 굉장히 열정적으로(?) 조목조목 hadoop의 단점과 문제점에대한 질문을 하셨다. 처음에는 질문이 날카로웠지만 점점 끝나지 않을거 같은 헤게모니 논쟁으로 흘러가는 분위기였다. ㅡㅡ; 솔직히 MPI를 사용해본적은 없고 멀티코어CPU 관련된 프로그래밍 라이브러리 이야기 할때 잠깐 소개를 받은적이 있었다. 메시지 […]

계속 읽기

Disco 0.1 – 얼랭으로 만든 오픈소스 분산 컴퓨팅 프레임웍

8월 마소잡지에 Erlang으로 Map/Reduce 프레임웍을 만드는 예제로 만든적이 있었다. 이 글 이후에 외부 스크립트로 Python을 사용하는 포스팅을 쓴적이 있었다. 사실 위 글은 내가 만든 map/reduce 프레임웍에서 Python 외부 스크립트를 사용하기 위한 방법을 고안하기 위해 했던 작업의 일환이였다. 그러나 내가 생각했던 수준보다 더 많은 고민을 한 오픈소스 프로젝트가 얼마전에 공개되었다. 좀 촌스러운 프로젝트 이름인지 몰라도 Disco […]

계속 읽기

parallel_for와 Matrix 연산

TBB를 사용해서 Matrix연산 퍼포먼스를 측정해 봤다. Matrix Multiply를 해봤는데 그런대로 볼만한 성능향상이 있어서 그 내용에 대해서 올려본다.  Matrix 곱 연산은 N X N  두개의 행렬에 대해서 실행 했을때 O(n^3)이 나오는 복잡한 연산중에 하나이다. 게다가 매트릭스 곱은 행과 열의 관계에 대한 계산을 할때 빈번히 쓰여서 social network를 구현하기 위한 계산을 할때 자주쓰이는 재밋는 수식이다. 이 연산비교를 […]

계속 읽기

Intel Threading Building Blocks

최근 멀티코어 프로그래밍을 좀더 심화시켜 보기 위해 Intel Threading Building Blocks 라는 오라일리에서 나온 책을 보고 있다. 책을 구입한지는 꽤 되었지만 그동안 배경지식이 별로 없어서 덮어두고 있다가 최근 틈틈히 봐서 반 이상은 본거 같다. 이 책을 보면서 느끼는건 저자가 어렵게 쓴 책을 보면서 원망을 많이 했었던 것이 시간이 가면 갈수록 경외감으로 바뀌어 간다는 것이다. 하지만 […]

계속 읽기