CS 전공/리뷰2012. 6. 11. 08:28

근래 KAIST에서 수행하는 연구 중에는  Hadoop을 이용한 비정형데이터 처리가 있다.

그래서 작게나마 9대의 PC들을 가지고 연구실에서 Hadoop cluster를 구축하였다.

1대는 이미 실험실에 존재하던 서버로 이를 Name node로 설정하였고

나머지 8대는 새로 구입한 것으로 i5 quadcore CPU + 8GB 메모리, 1TB 7200RPM HDD와 256GB SSD를 탑재한 것이다.  이들은 data node로 설정하였다. 그리고 이들 모두를 Gigabit switching hub로 연결하였다.


수행하다보니 꼭 reduce task 에서 임의로 노드들의 eth0 네트워크 인터페이스가 죽어버리는 

현상을 경험하였다. 처음엔 Hadoop 세팅 자체의 문제이거나 ulimit 등의 사소한 문제로 생각하였으나 아니었다. 

 수차례의 닭질 끝에 결국엔 Cent0S에 제공하는 Realtek 네트워크 드라이버가 2.x대로

현재의 8.0대에 비해 현저히 버전이 낮은 상태였고, 옛날 버전의 드라이버가 무언가 문제를 일으킨

것을 찾아내었다.


이것을 파악한 것은 나중의 일이고, 처음엔 이것저것 테스트해보았다. 그중에는 스위칭허브를 100Mbps로 교체해 본 일도 포함되었다. 그런데 교체해보니 느리지만 reduce가 죽어서 100% 완료에 도달못하는 문제는 사라졌다. 

해서 이번에는 네트워크 드라이버들을 모두 업그레이드를 하고,  100Mbps와 1Gigabit switching hub를 교체해서 달아보면서 네트워크 성능이 어떻게 M/R job의 성능에 영향을 미치는지 간단히 측정해 보았다. 물론 이것은 어떠한 데이터를 가지고 어떠한 작업을 수행하느냐에 따라 크게 달라질 것이다.

필자의 데이터는 text 포맷이고, M/R job은 간단히 언급하자면, text에서 유일한 token들을 추리고,

이들이 전체 데이터에서 얼마나 반복되어 나타나는지 count하여, 원 text와 같이 출력하는 일이다.


실험 결과는: 

--------

11GB 데이터 적재 시

1 Gigabit : 222.449s

100Mbps: 1,369.204s 

으로 약 6.15배 차이 


11GB에  M/R 작업 수행 시

1 Gigabit : 3분 48초

100Mbps : 9분 11초

 으로 약 2.41배 차이


를 보여주었다.


이를 Amdahl's law(http://bart7449.tistory.com/244에 대입시켜 보면, 

data loading의 경우 1/( (1-p) + p/10 ) = 6.15 이고

p ~= 0.93 


M/R 작업 수행 시의 경우를 보면,

1 / ( (1-p) + p /10 ) = 2.41 

p ~= 0.65

이라는 결과가 나온다. 


즉, 데이터 로딩의 경우 네트워크가 Hadoop 시스템에서 차지하는 비율이 약 93% 에 이르고, 

M/R 작업의 경우에는 그 비율이 낮아지지만 그래도 과반이 넘는 약 65% 에 이르렀다.


이는 Hadoop 시스템에서 네트워크 성능이 Hadoop 시스템의 전체 성능에 엄청나게 영향을 미치는

요인이라는 얘기가 된다. 우리가 보통 시스템에서  I/O를 얘기를 할 때는 디스크 I/O만을 

크게 고려하는데, Hadoop 시스템에서는 오히려 네트워크 I/O가 더 큰 영향을 미치는 것으로 

판단된다.


네트워크 쪽 하는 사람들은 Hadoop을 network traffic log 등을 분석하는데 이용하는 것으로 아는데, 

bulk data transmission이 많은 이러한 Hadoop 환경에서

네트워크 성능 개선을 통한 Hadoop 시스템 개선이나  또는 Hadoop에 특화된 네트워크 구축 방법이나 개발 등이 좋은 주제가 될 수 있지 않을까?


혹 이와 관련하여 좋은 아이디어 있다면 연락주기를 희망한다.  :) 


 




 

Posted by Bart
인생사2012. 3. 9. 12:30
따로 시간 내서 운동하기는 뭣하고, 헬쓰한답시고 돈 내놓고 안가서 돈 허비하는 것도 마눌님한테 미안하고 했다.
뭔가 일상 생활 패턴에 녹아들어갈 수 있는 운동이면서 좀 재밌는 건 없을까 하다가 갑자기 튀어 나온 것이 자전거 타기.

6-7Km 정도 되는 출근 길을 자전거로 타고 다니면 운동도 되고 요새 뛰는 기름값에도 대응할 수 있지 않을까라는 생각에 점심 먹고 인근 자전거 매장에 들러보았다. 이른바 MTB 전문점이라는 것도 모른채..

처음에는 20만원 정도 되는 생활 자전거(하지만 그 자체로도 이미 일상생활하는데 있어 충분히 좋은 자전거)를 구입하려고 갔었지만, '1층 매장에 전시된 자전거는 45만원부터이고 그 이하는 지하로 내려가야 한다'는 말에 지하로 내려가기 귀찮고 그걸 또 자존심의 스크래치로 느낀 이상한 성격 탓에 한번 1층부터 둘러보다가 고르게 된 좀 비싼 자전거. ㅠ 유압식 디스크 브레이크가 달린 시마노 데오레 급. 조립 브랜드 자체가 국산이라 좀 저렴함. (어차피 부품은 다 외제),
전문으로 타는 분들에게야 입문용 정도에 지나지 않겠지만 나에게는 본체만으로 한달 생활비를 말아먹고도 남은 녀석이다.


암튼 요새 애를 타고 신나게 출퇴근하고 주말에 갑천변에서 운동하고 있다.
하루 왕복 12km, 약 400kcal정도가 소비되는 것으로 보이고 있고, 주말엔 좀더 멀리 타고 동네 어귀 등을  돌아다니고 있다.
틈틈히 자전거 동호회나 자전거 잡지 홈페이지도 읽어보고 있고...

단순 계산으로는 자전거 가격만큼 기름값을 뽑으려면 10달은 넘게 출퇴근을 해야 하지만, 이러한 기회비용 이상으로 자전거 타면서 좋다고 느껴지는 점이 많다.

1. 먼저 몸이 건강해지는 것 같고, 그만큼 피곤을 덜느끼게 되는 것 같다.
2. 걷거나 차로는 구경할 수 없었던 풍경들을 보게 되었다.  동네 오솔길이나 갑천변들의 작은 길들은
 걷기엔 멀고 차로는 들어갈 수 없는 곳들인데 그런 것들을 구경할 수 있다.
3. 근처 맛집을 찾아다닐 수 있다. 운동 뭐빠지게 하고 땀닦으며 식당에 앉아서 밥 먹으면 밥이 
그렇게 맛있을 수가 없다.
4. 출퇴근에 화석연료 대신 체력을 에너지원으로 함으로써 환경보호에 동참할 수 있다(음?)

문제는 자전거를 타다보니 자꾸 장비 욕심이 난다는 거다(이른바 장비병).  좀더 고급 장비, 고급 자전거에 눈이 간다는 거. 무게는 좀더 가벼웠으면 좋겠고, 쇼바가 좀더 튼튼하면 좋겠고, 클릿페달을 해볼까... 등등등.   
더구나 자전거가 자동차처럼 수리나 교체에 장비나 전문 인력이 들어가는게 아니다보니 부품 교체가 상당히 용이하다. 그러다 보니 페달을 바꿔볼까, 안장을 바꿔볼까 휠을, 아니야 프레임부터? 뭐 이런식이 되어간다. 
거기에 중고시장에 부품 교환이 활성화 되어 있다 보니...

헬멧, 복장 등도 맞추는데 돈이 솔찬히 들어간다. 아무래도 부품과 관련용품을 사면서 기름값을 벌 목적이다라고 마눌님한테 핑계되는 것은 저 멀리 안드로메다로 내보내야 겠다.


 

'인생사' 카테고리의 다른 글

2015년을 보내며  (0) 2015.12.07
근황  (2) 2010.08.21
사진없는 iPad 초간단 리뷰(수정)  (0) 2010.05.03
Thanksgiving day  (4) 2009.11.26
소년은 늙기 쉽고...  (3) 2009.10.16
Posted by Bart