Erlang으로 구현한 분산처리 플랫폼 : PDF 공개

금번 8월 월간 마소에 올렸던 Erlang관련 기고문을 공개한다.   한달정도 지나면 공개해도 된다는 말씀을 기자 분에게 들었었고 게다가 저작권이 본인과 월간 마소에 있어서 큰 문제가 없다고 생각한다.   글을 쓰면서 지면 여건상 많은 내용을 넣지 못한것이 조금 아쉬웠다. 11장으로 집약하기에는 부족한 감이 없지않아 있지만 초보분들에게는 좋은 시작점이 될 수 있을거란 생각을 해본다. 추가적으로 리서치가 되는 […]

계속 읽기

얼랭(Erlang)과 Map/Reduce

마소 기고문 쓰다가 발견한 자료다.얼랭언어에 대한 간략한 소개 후에 간단한 Map/Reduce 알고리즘을 구현/설명을 하고 있다. Exploring Erlang with Map/Reduce 블로그에 올린 공짜글 치고는 정말 좋은 글이다.

계속 읽기

Erlang으로 구현해본 멀티 코어 CPU용 MapReduce

사실 대부분 코드의 본체는 Programming Erlang 의 예제코드에서 얻었고 간단하게 멀티 코어용 MapReduce 모듈을 구현한것을 보고 감동을 받아서 조금 고쳐 봤다. 책에서는 Reducer 하나만을 생성해서 결과를 combine 했는데 이 모듈에서는 Reducer 갯수를 조절할 수 있게 해놓았고, Hadoop과 유사하게 Key, Values 쌍으로 소팅해서 결과를 가져오게 했다.Hadoop처럼 대용량 파일을 모두 메모리에 올릴 수 없어 파일로 쓸수 밖에 […]

계속 읽기

netflix prize에 도전하고 있습니다.

netflix prize라는 해당 사용자가 보지 않은 영화의 점수를 예측하는 시스템을 만드는 대회이다. 상금이 무려 100만달러에 육박한다…@.@ 이것을 접하게된 계기는 hadoop mapreduce를 이용한 canopy clustering에 대한 자료를 찾다가 이 숙제 데이터셋을 보고 알게 되었다. netflix prize사이트에 가면 많은 설명이 되어 있고, 이 블로그에 가면 쉽게 정리된 자료를 볼 수 있다. 아무래도 서비스를 위한 빠른 알고리즘을 원하기 […]

계속 읽기

구글이 20 petabyte의 데이터를 얼마만에 처리할까?

구글이 MapReduce를 어떻게 사용하는지 상당히 구체적으로 제시한 재미있는 글이다. 20,000 테라바이트의 웹데이터를 하루하루 처리한다는데 엄청나구나. 그것을 처리하기 위해 100,000 개의 MapReduce jobs를 이용한다고 하고 말이다. 이 논문에도 나와 있는데 ACM에 접근해서 받아보기 힘들어서 첨부한다. XEuFb8k3ap.pdf 2004년도 이전 논문에 비하면 비슷하지만 내용상의 최신 내용이 조금 있는거 같다. 위의 내용도  약간 초록에 나와 있다. Yahoo의 Hadoop 클러스터 […]

계속 읽기

Google의 MapReduce 와 Hadoop

오늘 businessweek지에서 상당히 흥미로운 기사를 봐서 포스팅 해본다. The Two Flavors of Google 이라는 글인데, 요즘(?) MapReduce기술을 기반으로 각광 받고 있는 cloud computing 분야에서 두가지 기술적인 조류를 이루고 있는 Google의 mapreduce와 Hadoop에 대해서 이야기 하고 있다. 이 글을 보고 Hadoop이 구글의 기술을 99% 배껴서 만들어 졌다는 편견을 말끔히 해소할 수 있었다. 구글에서 Hadoop에 컨트리뷰트 하고 […]

계속 읽기

Machine Learning과 MapReduce는 천생연분

일반적으로 많은 데이터를 학습 시킬때 메모리나 프로세서의 부족으로 학습에 많은 시간이 걸리는 고질적인 문제가 있다. 학습 데이터의 차원이 늘어날 때마다 필요한 메모리는 기하급수적으로 늘어나기 때문인데,  코드 레벨에서나 알고리즘 레벨에서 복잡도를 줄이는건 새로운 알고리즘을 창안하지 않는이상 거의 불가능 하다.(뭔 약간의 코드 핫스팟을 찾아서 최적화를 시켜주는건 가능하겠지만.) 그래서 분산처리를 사용해 시간(전체) 복잡도를 줄이고자 하는 논문이 스텐포드에서 나왔다. […]

계속 읽기

주말에 고민해본 Distribute Spam sniping.

전에 포스팅에서 구글 엔지니어에게 Map&Reduce가 어디에 쓰이는지 여쭈어 본적이 있었다고 글을 썼다. 오늘 스팸 처리 알고리즘 모듈을 생각하다가, 이거 스팸처리 하는 확률을 계산하는데, complexity가 상당히 높게 나오고, 스팸 리포팅들어오면 거의 모든 텀의 스팸 확률을 재계산 해야 한다는 그런 어려움(?) 생길거 같다는 생각을 해보다가, 결국 MapReduce로 분산처리를 해볼수 있을거라는 생각을 해봤다. 만일 스팸처리 자체가 텀의 독립성 […]

계속 읽기

Distribute Indexing과 MapReduce

오늘 커널 공부하다가 지루한 나머지 Distribute Indexing에 대한 공부를 좀 해봤다. (역시나 지루한 코드를 보는것보다 이런 개념 학습이 더 재미난다. ^^) 예전에 MapReduce에 대한 개념을 설명할 때가 있었다. 이때 내가 느낀것은 단 한가지 였다. MapReduce는 큰일을 작은 일로 분산시켜서 처리할때 굉장히 심플한 처리 공정을 보여 준다는 것이다.  그럼 여기서 Distribute Indexing을 하는 이유는 무엇인가? 1. 웹 […]

계속 읽기

MapReduce와 GFS

GFS의 구조를 단적으로 보여주는 그림이다. Master서버에 거의 부하가 가지 않는 그런 구조로 되어 있고, 여러 replics를 두어서 chunk 서버 하나가 다운이 되도 그대로 수행이 가능하게끔 구성이 되어 있다. 64MB의 크기로 chunk가 나뉘어져 있어서 chunk 인덱스를 계산하기가 편하게 되어 있고, 네임 스페이스 검색은 Trie 구조로 되어 있다는것을 그림으로 살짝 엿볼 수 있다. 이런 구조의 가장 큰 […]

계속 읽기