잦아든 멀티코어 열풍.. 모바일 열풍..! by 김민장

짧은 글은 거의 구글 플러스에다 쓰는 바람에 블로그 글 쓰기가 요즘 너무 귀찮아졌다. 그래서 구플에서 쓰듯이 아무렇게 써본다. 물론 구플에 이런 긴 글을 쓰자니 벅차서 블로그에다가 쓰는 것.

 

2006년 여름, 유학 관계로 출국을 준비하고 있었는데, 나는 막 출시된 인텔 Core 2 Duo E6400 이라는 ‘듀얼코어’ 프로세서를 구하느라 용산에서 삽질을 하고 있었다. AMD가 이미 듀얼코어 CPU를 내놓았지만 인텔로서는 이 제품이 제대로 된 최초의 멀티코어였다. 이걸로 AMD를 순식간에 역전하고 무엇보다 본격적으로 멀티코어의 시대를 열었다.

이 멀티코어 열풍 덕에 대학원에 오니 연구주제도 멀티코어/병렬처리 분야가 가장 뜨거웠다. 컴퓨터 아키텍처는 멀티코어 이야기를 하면 안 되는 분위기였다. 컴파일러/프로그래밍 언어/소프트웨어 엔지니어링 분야에서도 병렬프로그래밍과 관련된 연구 논문이 쏟아져 나오기 시작했다. 내 분야는 아니지만 시스템이나 알고리즘 분야도 역시 멀티코어/병렬처리 관련 주제는 제일 활발한 분야라고 볼 수 있었다.

이 시절의 핵심 문제는 (1) 어떻게 효율적인 멀티코어 컴퓨터를 만들고 활용할 것인가, (2) 어떻게 하면 어려운 병렬 프로그래밍을 프로그래머가 쉽게 할 수 있도록 도와줄까. 아마 이렇게 축약할 수 있다. 나도 그런 시대의 흐름에 맞춰 병렬 프로그래밍 관련 주제로 어떻게 겨우 졸업을 했다.

대략 6-7년이 지난 요즘은 그 당시 대단했던 멀티코어 열풍은 분명 잦아든 느낌이다. 일단, 언뜻 보기에도 전산/컴퓨터 공학의 주요 학회에서도 멀티코어 자체가 더 이상 버즈워드(buzzword, 유행처럼 자주 남용되는 단어)는 아닌 것 같다(citation needed). 특히 2008년에 버클리가 시작한 패러럴 컴퓨팅 연구소(ParLab)의 프로젝트가 최근 종료 되었다. 마치 ‘멀티코어’ 열풍의 끝을 알리는 사건인 것 같기도 하다.

 

그렇다면 그 자리를 채운 것은? 바로 모바일, 클라우드, 빅데이터이다. 요즘은 정말 이와 관련된 주제가 아닌 논문은 잘 나가는 학회에 출판하기도 어려울 것 같다. 컴퓨터 아키텍처 이야기를 하자면 멀티코어 자체 보다는 모바일/클라우드 환경에 적합한 에너지 효율적인 구조가 핵심이다. 학계 뿐만 아니라 기업체도 그렇다. 인텔이 새롭게 내놓은 Haswell (하스웰/해즈웰) 역시 핵심은 에너지(=배터리 수명) 절약이다. (이것은 이미 최소 3-4년전부터 에너지 절약을 중점적으로 예상하고 연구/개발을 했다는 이야기) 시스템이나 다른 분야로 가면 말할 것도 없다. 웹 관련 분야는 모바일이 촉발한 SNS/빅데이터가 핵심인 것 같다.

나 역시 회사에 와서 이런 버즈워드 속에서 일을 하고 있긴 하다. 모바일/에너지 효율/헤테로지니어스 컴퓨팅이 아마도 지금 내가 하는 일을 대표할 수 있는 버즈워드이다.

 

그런데 따져보면 혁명적으로 새로운 것은 없다. 이렇게 말한다고 해서 지금 뜨는 분야를 결코 무시하는 것이 아니다. 오히려 그 문제의 본질을 보면 결국 근본적인 전산학 문제로 귀결된다. 게다가 그 문제를 푸는 방법론 역시 비슷한 것이 많다.

일단, 지금은 잦아들었다고 말한 멀티코어는 새로운 문제였던가? 아니다. 이미 수퍼 컴퓨터 시절에 있었던 문제가 데스크탑 수준으로 내려온 것이다. 병렬 프로그래밍은 과거에도 있었는데 이제는 일반 프로그래머도 해야 하니 더 관심이 커졌다.

모바일 역시 그러하다. 데스크탑에서 풀던 문제를 이제 모바일 규모로 풀어야 하니 새로운 변수가 추가된 것이다. 과거에는 성능(얼마나 빨리 계산할 수 있는가)이 제 1의 평가 잣대였다면, 이제는 전력/에너지 소비라는 기준이 더해졌다. 클라우드? 분명 과거에는 해보지 않았던 규모이기는 하지만 클라우드 컴퓨팅이 가진 문제 중 상당 수는 효율적인 자원의 배치와 사용인데, 이런 문제는 전산학 역사에서 빠진 적이 없었다. 빅데이터 혹은 머신러닝? 역시 핵심은 수학과 통계에 있다.

컴퓨터 분야는 늘 빠르게 변화하는 곳이라고 말한다. 정말 그렇기는 하다. 대학원 시작할 때와 졸업할 때, 이렇게 유행하는 주제가 확 바뀌었으니. 그런데 말했듯이 그 문제의 본질은 결국 우리가 늘 풀어왔던 문제들이다. 그 응용이 계속 바뀌는 것이지 기본 기술이 바뀐 것은 아니다. 클라우드 서버를 지탱하는 가장 근원적인 운영체제 기술은 30년 전과 다를 바가 없다. 모바일에 들어가는 프로세서 역시 기본구조는 1970년대에 나온 최초의 마이크로프로세서와 맥락을 같이한다. 빅데이터는 내가 문외한이라 말을 하기 겁나는데 수학과 통계에서 회귀분석의 역사는 아마 100년은 되지 않았을까?

또, 멀티코어 열풍이 지나갔다고 말했지만, 이건 어디까지 논문 쓰는 것에 최적화된 학계의 이야기이다. 실제 회사에서는 여전히 이 문제는 중요하다. 모바일/클라우드/빅데이터에도 멀티코어는 어디를 가나 쓰이므로 죽은 문제는 결코 아니다. 다만, 논문 리뷰하는 교수와 친구들이 덜 흥미를 가지고 잘 떨어뜨리겠지. 논문으로 대충 내놓은 결과 말고, 정말 돌아가는 결과물은 이제부터가 시작이라 할 수 있다.

 

무슨 말을 하는지 왔다리 갔다리 하는데, 버즈워드에 대해 너무 쉽게 휘둘리는 것은 경계를 하는 것이 좋다. 물론, 논문이 당장 급한 대학원생들은 그런 시대 흐름을 잘 좇아야 한다 ㅎㅎ 아, 회사는 말할 것도 없고.

90년대 말에는 자바가 가장 뜨거운 키워드였다고 한다. 아마 지금으로부터 3-4년이 지나면 모바일/클라우드/빅데이터 열풍이 분명 수그러 들 것이다. 그냥 늘 있는 문제로 바뀌게 될 것이다. 그 뒤에는 또 무엇이 나오려나? 그러나 그 어떤 열풍이 있어도 여전히 (비교에 기반한) 정렬 문제는 O(nlogn) 보다 빠를 수는 없다.

 

교훈: 응용은 유행을 타지만 문제의 핵심과 방법론은 천천히 움직인다. 나는 버즈워드인 모바일에서 일은 하지만 구닥다리 C++로 최소 15년은 된 것 같은 논문 속의 알고리즘을 보고 있다.


핑백

덧글

  • Bloodlust 2013/06/10 18:43 # 삭제 답글

    "그러나 그 어떤 열풍이 있어도 여전히 (비교에 기반한) 정렬 문제는 O(nlogn) 보다 빠를 수는 없다." 이 구절이 참 마음에 와 닿네요.
  • 김민장 2013/06/11 14:18 #

    여전히 NP-Complete 문제 역시....
  • 오스카 2013/06/10 19:27 # 삭제 답글

    뱀발... 회귀분석의 시초는 갈톤(A. Galton)이라고 보면 100년 좀 넘은 거 같고... 근대 통계학의 기초를 만들었다고 평가받는 피어슨(K. Pearson)과 그 제자 피셔(R.A. Fisher)로 놓고 보면, 100년에서 좀 아슬아슬하네요. ㅎㅎ;;
  • 김민장 2013/06/11 14:17 #

    ㅎㅎㅎ 사실 2005년에 통계학 재수강할 때... 교수님이 "회귀분석 이거 나온지 백년이 다 되어가요" 라는 말씀이 아직도 기억에 남아서....
  • 꿈먹기 2013/06/10 21:09 # 답글

    항상 재미있는 글 잘 읽고 있습니다.
    원래부터 컴퓨터/시스템 아키텍쳐 쪽에 관심이 있었는데, 쓰신 책을 읽고 관련 분야에 흥미가 생겨 대학원 진학 준비중에 있습니다.
    국내에 취업난이 이어지는 가운데, 그나마 전산/ 컴퓨터공학은 취업이 잘 된다고는 하지만, 그와는 별개로 유행에 휘둘리지 않고 꾸준히 좋아하는 일을 할 수 있을까 하는 고민은 쉽게 가시질 않네요.
    아무튼 좋은 글들 고맙습니다. 그리고 구글 플러스도 처음 알게 되었는데, 블로그랑 마찬가지로 스토킹(?) 하겠습니다.
  • 김민장 2013/06/11 14:15 #

    저도 사실 유행을 항상 따라가죠 ㅎㅎ 하지만 그 유행 속에도 변하지 않는, 혹은 천천히 변하는 그 무언가를 알면 좀 나은 것 같더군요. 유행은 반드시 알아야 합니다 ㅎㅎ
  • kane 2013/06/10 23:00 # 삭제 답글

    전산학은 80년대에 이미 완성됐다는 이야기도 있으니까요. :)
  • 김민장 2013/06/11 14:16 #

    전산학이 low-hanging fruits 였던 시절이 부러울 뿐....
  • sloth_ 2013/06/11 22:00 # 삭제 답글

    언급하신 버즈워드인 클라우드, 빅데이터 이쪽에서 먹고살고 있읍니다 ㅎ

    사실 찐빵의 겉은 재끼고 앙꼬만 뽑아서 기술적인 측면에서 보자면 가상화, 분산시스템/분산처리가 전부이죠.. 이 분야 연구도 갱장히 오래전부터 해오는 중이고........

    이 동네에서 화제를 일으켰던 페이퍼들이나 이걸 보고 구현한 오픈 소스 솔루션들도 벌써 열살 정도 되가는 애들도 많고.....
    이제 우후죽순 난립하던 프로젝트/솔루션/서비스/회사 들 정리되가는 분위기 같읍니다

    빅데이터도 데이터 분석의 수학적 방법 자체는 크게 다른게 없읍니다
    옛날에는 샘플링하고, 정형화하고 해서 분석했던걸 이제는 비정형 데이터를 이빠이 쌓아놓고 샘플이 아니라 모집단 전체를 가지고 분석할수도 있게 해주고
    뭐 그런거죠..
    이 동네 요소기술중 유명한 하둡 맵리듀스도 그래프로 모델링한거 풀려면 마치 몸에 안맞는 옷 입은거 마냥 어색하게 여러번 돌거나 해야하고 뭐 그렇읍니다

    쩝.. 저는 학교나 연구소가 아니라 돈 버는 사업체에서 일하느라 깊이가 얕아서 이렇게 생각하는 걸수도 있지만 말임니다 하하

    아.... 클라우드 열풍은 벌써 주머니에서 돈 꺼내들고 덤비던 사람들 많이 사라진 분위기고 빅데이터도 3 ~ 4년은 너무 오래 봐주신것 같읍니다

    올해안에 다시 돈 집어넣고
    돌아서는 사람들 많아질거같으네요





  • 김민장 2013/06/12 08:04 #

    업계 소식 전해주셔서 감사합니다. 빅데이터는 우리나라 정부도 이야기 할 정도니 ㅎㅎ
  • 박상민 2013/06/30 01:36 # 삭제 답글

    모바일은 지금 핫핫핫이죠. 다들 모바일만 하는 느낌.

    클라우드는 좀 수그러든 느낌이긴하지요. 그래도 병렬보다는 훨씬 나은게 인턴을 하면서 이쪽 사람들 연구를 보니 다들 병렬에서 클라우드로 옮겨갔어요. 병렬 아무도 안해요. ㅠ

    빅데이터는 확실히 다들 좋아하는 키워드 맞는거 같구요.

    추가를 하자면 에너지와 보안이죠. 형이 하시는 모바일에도 에너지가 중요하고, 클라우드레벨에서도 엄청 나오고 있구요. 보안은 계속 좋았지만 모바일, 클라우드로 오면서 더 좋아하는거 같아요.
  • 미칸아빠 2013/08/16 14:32 # 답글

    ParLab 패러럴 프로젝트가 종료됬군요. 시작은 거창했으나 결과는 역시 은빛총알을 없구나란 생각이드네요.
    인공지능, 네트웍, 복잡계, 패러럴 등등 모두 처음에는 뭔가 있을것이다 싶지만, 끝은 너무 복잡해서 GG의 느낌으로 끝나버리네요.
    전산학에서 더이상 low-hanging fruits은 남아있을리가 없겠죠.
    빅데이터도 위의 계보라고 생각되는데, 결말이 어떻게 될까요? 저는 좀 회의적인 입장인데..
    btw 다음 키워드가 뭐가 될까도 좀 궁금하네요. 미리미리 한쪽발을 담구어 놔야겠죠.
  • 청정 2013/08/18 01:12 # 삭제 답글

    빅데이터의 의미가 너무 포괄적이라서 몇번의 검색을 해보고 조금 어렴풋이 알게되었습니다.
    빅데이터의 목적은 여러분야에서 일련의 과정을 줄이고 데이터마이닝을 해서 필요한 정보의 I/O인 것 같고
    광고가 포함 되긴하지만 빅데이터를 구현한 예로 네이버나 다음 포털사이트를 떠올리는게 맞나요?
  • Ya펭귄 2013/09/12 10:37 # 답글

    뭐 모바일쪽의 붐도 이제 슬슬 정점은 지난 추세이지요..... 사실 상승속도가 빨랐던 만큼 하강속도도 좀 빠를 듯도 싶고요...

    아마 AArch64가 본격 적용되는 시점이 지나가면 그냥 이쪽 시장도 점진적으로 올라가는 그런 재미없는 시장이 될 듯....
댓글 입력 영역