ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스마트폰에서의 쿼드코어 싸움. 과연 코어 수가 많다고 해서 속도가 엄청나게 빨라지는 것일까?
    Mobile topics 2012. 3. 14. 08:30
    반응형

    왼쪽부터 옵티머스 4X, One X, 어센드D HD, Era

    이번 MWC 2012에서는 쿼드코어 스마트폰이 4종이 나왔다고 한다. HTC의 One X와 LG의 옵티머스 4X, ZTE의 ZTE Era, 화웨이의 어센드 D 쿼드 등 4개의 쿼드코어 스마트폰이 MWC 2012를 통해서 데뷔를 했으며 재미난 것은 HTC, LG, ZTE는 엔비디아의 테그라3를 탑재했고 화웨이는 자체적으로 개발한 K3V2를 탑재했다는 것이다. 늘 그렇듯 엔비디아와 퀄컴의 AP 코어 싸움에서는 늘 엔비디아가 앞서는 듯 싶기는 하다. 그리고 무엇보다도 화웨이가 자체적으로 개발한 K3V2도 놀랍다. 중국 제품의 경우 주로 부품을 사와서 조립만 하는 경우가 많은데(뭐 대부분의 제조업체들이 다 그렇지만) 화웨이는 스마트폰의 핵심이라 여겨지는 AP(어플리케이션 프로세서. 모바일 CPU라고 보면 됨)를 직접 제작했다는 점에서 이제 단순한 제조만을 하는 것이 아닌 본격적인 핵심 기술을 갖춘 제조업체로 거듭나고 있다는 점에서 더 이상 단가가 낮은 저가형 단말기 제조업체로만 볼 수 없다고 할 수 있을 듯 싶다. 퀄컴, Ti, 엔비디아 말고 AP를 제작하는 업체에서 삼성과 함께 화웨이도 추가되는 듯한 모습이다. 어찌되었던 MWC 2012에서는 쿼드코어 경쟁이 나름 치열했다는 생각이 든다.

    그런데 쿼드코어 AP들이 계속 나오고 있으며 지금까지는 듀얼코어가 표준처럼 여겨지듯 쿼드코어도 스마트폰의 표준처럼 될 터인데 과연 그들이 열심히 광고한대로 쿼드코어 AP를 탑재하면 스마트폰의 속도나 만족감이 지금보다 2배 이상으로 나아질까? PC의 경우 이제야 쿼드코어가 PC의 표준처럼 자리 잡고 있지만 모바일은 생각보다 빨리 쿼드코어가 자리를 잡을 듯 보인다. 하지만 PC의 경우도 쿼드코어를 잘 활용하는가 하면 그것도 아니다.

    보통 싱글코어(1개의 CPU)와 멀티코어(2개 이상의 CPU)의 차이점을 설명한다고 하면 이렇게 설명한다. 예를 들어 6개의 어플리케이션이 동시에 실행된다고 할 때(이른 바 멀티태스킹으로 작업 될 때) 싱글코어인 경우엔느 6개의 어플리케이션을 1개의 CPU에서 다 처리해야만 한다. 그렇게 하기 위해서 CPU는 각 어플리케이션에 자기의 작업양을 할당해야 하는데 6개에 맞춰서 할당하다보니 시간당 작업 빈도가 낮아질 수 밖에 없다. 즉, 어플리케이션 1개당 100의 작업을 처리해야 하며 1 CPU는 1초에 100의 작업을 할 수 있다고 할 때 6개의 어플리케이션이 실행되기 위해서는 CPU는 600의 작업양이 필요하며 6초가 걸린다. 6초에 맞춰서 6개의 어플리케이션들이 동시에 실행된다는 것이다. 어플리케이션들이 많아지면 많아질수록 CPU의 작업양이 늘어나기 때문에 실행속도는 느려질 수 밖에 없다.

    멀티코어의 경우는 어떨까? 위의 예를 다시 들어서 얘기해본다면 6개의 어플리케이션을 듀얼코어, 즉 2 CPU로 작업을 한다고 할 때 3개씩 나눠서 작업할 수 있다. 즉 1 CPU는 300의 작업만 하면 된다는 얘기며 3초의 시간이 걸린다는 얘기다. 듀얼코어인 경우라면 3초의 속도로 일을 처리할 수 있다. 쿼드코어의 경우에는 약간 다르겠지만 6개의 어플리케이션 중 4개를 각기 CPU에서 맡아서 처리하고 나머지 2개는  2개의 CPU가 알아서 나눠서 처리할 것이다. 즉, 최대 2초의 시간이 걸린다는 얘기다. 즉, 코어 수가 많으면 많을 수록 나눠서 처리할 수 있는 힘이 있기 때문에 속도가 빨라진다고 할 수 있을 것이다. 속도도 빨라지고 CPU에서 받는 부담도 줄어드니 여러모로 좋다고 말할 수는 있을 것이다.

    하지만 위의 예에는 한 가지 함정이 있다. 어플리케이션이 여러개 동시에 실행되는 멀티태스킹 환경에서는 확실히 멀티코어가 유리하다는 것은 당연한 일이다. 하지만 하나의 어플리케이션이 작업하는 양이 많다고 한다면? 지금의 대부분의 모바일 어플리케이션들은 여러 CPU를 동시에 활용해서 처리하는 분산 처리 기법을 사용하지 않고 단일 CPU만을 사용하는 프로그래밍으로 되어 있다고 한다. 즉, 작업 양이 1000인 어플리케이션도 10인 어플리케이션도 하나의 CPU를 이용해서 처리하지 2~4개의 CPU를 동시에 활용해서 처리하지는 않는다는 얘기다. 물론 1000인 어플리케이션에 CPU 하나를 할당하고 나머지 어플리케이션들은 남은 CPU에 돌려가며 할당하는 방식으로 처리한다면 나름 효율적이라고 할 수는 있겠지만 그렇게 하지 않고 1000인 어플리케이션 자체에서 2~4개의 CPU를 동시에 사용해서 작업 양을 줄인다면 속도를 더 빠르게 할 수 있고 효율적으로 사용할 수 있을 것이다. 멀티코어 프로그래밍 기법이 필요한데 아직까지 모바일에서는 이 기법을 이용해서 프로그래밍이 되어있는 어플리케이션이 거의 없다는 것이 현재의 현실이라는 얘기다. 재밌는 것은 PC용 어플리케이션들 중에서도 멀티코어 프로그래밍이 되어있는 어플리케이션이 그렇게 많지는 않다는 것이다. 물론 PC용 어플리케이션의 경우 CPU 외에도 다른 시스템 자원을 끌어다가 사용해서 나름 효과적으로 작업양을 처리할 수 있겠지만 자원 자체가 한정적일 수 밖에 없는 모바일의 경우에는 AP의 파워가 절대적이라고 할 수 있을 것이다.

    물론 모바일에서 멀티코어 프로그래밍이 아주 없는 것은 아니다. 동영상 재생 부분과 게임의 그래픽 처리 부분은 모바일에서 몇 안되는 멀티코어 프로그래밍이 적용된 분야다. 동영상 재생에서는 코덱이 멀티코어를 활용하는 경우가 많은데 코덱의 경우 내부적으로 계산이 많은데 이것을 멀티코어를 이용해서 작업하는 것이 지금은 그런대로 자리를 잡아가고 있기 때문이다. 모바일 게임들 중 일부가 멀티코어 프로그래밍이 되어있기도 하다. 복잡한 그래픽 처리를 위해서다. 하지만 그것도 일부 게임에만 적용되었지 다 적용되어있는 것도 아니며 이것들 이외에는 멀티코어 프로그래밍이 적용된 모바일 앱은 솔직히 손에 꼽을 정도가 아니겠는가 싶다.

    모바일 AP에서의 파워는 아마도 속도일 것이다. 속도가 빠르면 그만큼 단위시간 안에 처리할 수 있는 작업 양이 많으니까 그만큼 어플리케이션 실행 속도를 높일 수 있다. 그렇기 때문에 지금의 모바일 환경이라면 1.4GHz 쿼드코어 AP가 달린 스마트폰보다 2GHz 듀얼코어 AP가 달린 스마트폰이 훨신 체감 상 더 빠르게 느껴질 수 있을 것이다(아직까지 2GHz 듀얼코어 AP는 상용화는 되지 않았지만서도 -.-). 즉, 코어수가 많은 것보다 코어 하나가 갖고 있는 속도가 더 높은 것이 아직까지는 유리하다는 얘기다. 1.4 GHz 듀얼코어보다는 2GHz 싱글코어가 더 빠르게 느껴질 수 있으며 1.2GHz 쿼드코어보다는 1.5GHz 듀얼코어가 더 빠르게 느껴질 수 있다는 얘기다. 즉, 마냥 코어수가 올라갔다고 해서 무조건 빠르다고만 볼 수는 없다는 얘기다.

    지금의 모바일 AP 업체들의 개발 스케쥴을 살펴보면 예전에는 속도 경쟁으로 갔다. 그러다가 어느 순간부터 속도보다 코어수 경쟁으로 가고 있는 듯 싶다. 아무래도 CPU의 클럭 수(속도라고 보면 된다)를 물리적으로 높이는 것에는 한계가 있으니 코어 자체의 수를 늘려서 분산시켜보자고 하는 전략을 취하는 듯 싶다. CPU의 컨트롤 부분만 더 추가해주면 되기 때문에 그렇다. 물론 코어를 많이 넣을 수록 AP 자체의 크기가 커지고 컨트롤러 크기도 커지기 때문에 크기에 민감한 모바일에서는 그만큼 작게 만드는 것도 기술이기에 의미 있는 작업임은 분명하다. 하지만 늘 그렇듯 마케팅의 내용들처럼 듀얼코어보다 쿼드코어가 더 빠르다라고만 할 수는 없다는 점이다. 그 때, 그 때마다 다른 것이 현실인데 말이다.

    이런 글을 쓰게 된 이유는 속도 경쟁에서 코어 경쟁으로 모바일 AP 싸움이 넘어가고 있는 상황에서 제대로 된 정보보다는 마케팅의 우위를 차지하기 위해 오해할 수 있는 내용들이 마케팅 포인트로 잡혀서 나오는 것을 보면서 좀 아쉽다 하는 생각이 들어서다. 즉, 코어 수가 많다고 해서 마냥 빠르다고만 할 수는 없다는 점을 생각하고 스마트폰을 선택할 때 선택 포인트로 잡으면 좀 선택하는데 맘이 편해지지 않을까 싶다. 멀티코어 프로그래밍을 적용한 어플리케이션이 많아진다면? 그 때부터는 코어 수 경쟁이 지금보다 더 의미가 있게 될 것이다.
    반응형

    댓글 14

    • 프로필사진

      올해의 화두는 쿼더코어 같은데 앞으로 어떤 기술이 전개될지 흥미진진합니다.
      잘보고 갑니다.

      2012.03.14 09:02
    • 프로필사진

      안드로이드처럼 백그라운드 서비스가 많이 돌아가는 경우엔 코어수가 늘어나는게 의미있지 않을까요? OS가 적절히 작업을 분산시켜야 하겠지만요.

      2012.03.14 09:38
      • 프로필사진

        네.. 어플리케이션 각각의 분산처리에는 멀티코어가 많은 도움이 되지요..
        제가 포커싱한 부분은 하나의 큰 어플리케이션을 분산처리로 속도 및 처리 볼륨을 늘려보는 것이 의미가 있다는 것이어서.. ^^;

        2012.03.14 09:56 신고
    • 프로필사진

      코어 경쟁만이 능사가 아닌듯 한데 계속해서 내가 최고 라면서 코어수만 늘이는 업체를 보며 답답하긴 합니다.
      그것보단 대다수 안드로이드인데 최적화나 좀 제대로 이루어졌으면 하는데 말이죠...ㅠㅠ
      좋은 글 감사합니다. 늦게나마 구독 콕 찍고 가겠습니다. ^^ 학주니님.

      2012.03.14 10:10
      • 프로필사진

        일단 OS 최적화부터라는 얘기.. 무척이나 공감이 갑니다..
        하드웨어에 맞춰서 OS가 최적화되어야 하는데 출시 일정이 촉박하게 잡히는 경우가 많아서 발적화되는 경우가 다반사라 -.-;

        2012.03.14 11:05 신고
    • 프로필사진

      프로그램만 멀티코어용으로 만들면 되는게 아니라, 처리 데이터도 멀티코어가 필요로한 데이터여야 합니다.
      단순하게 순차적으로 처리하는 데이터는 아무리 많아도 멀티코어의 장점을 살릴수가 없죠. 그래서 대부분의 어플은 멀티코어용 설계가 필요없게 됩니다.
      그래도 윗분 말씀대로 안드로이드폰은 동시에 돌아가는 프로세스가 많아서 도움이 꽤 되리라 봅니다. 듀얼코어폰 나올때도 생각보다 효과가 좋았죠.
      하드웨어 경쟁보다는 소프트웨어 최적화를 더 해줬으면 하는 바램이긴 하지만...

      2012.03.14 10:24
      • 프로필사진

        그렇죠. 처리 데이터들도 멀티코어를 사용할 수 있는 형태여야 하지요. 아마도 어플리케이션 설계 상에서 그런 부분이 감안되어야 할텐데 지금의 모바일 프로그램들이 그런 설계를 미리 감안하고 시작된 것이 얼마나 있을까 하는 생각을 해봅니다.

        재미난 것은 내부적으로 멀티 쓰레딩을 많이 사용하고 있는데 멀티코어를 활용할 수 있는 부분이 분명히 있음에도 불구하고 기존 프로그래밍의 틀을 깨기 싫어서 그대로 유지하는 경우가 많다는 것이죠. 그 부분만이라도 잘 활용할 수 있다면 지금보다는 좀 더 쾌적하지 않을까 싶네요.

        2012.03.14 11:09 신고
    • 프로필사진

      멀티코어 논쟁은 PC에서 처음으로 듀얼코어가 나왔을 때도 지금과 똑같은 반응이었죠. 멀티코어에 치명적인 단점이 없는한 앞으로 코어가 많은게 적은 것 보다 낫다인 점은 확실할 겁니다. 그리고 iOS쪽 보다는 멀티태스킹은 좀 더 유연하게 지원하는 안드로이드쪽에서 효과가 더 클거 같습니다.

      2012.03.14 18:19
      • 프로필사진

        뭐.. 그렇죠.. 같은 클럭수라면 코어가 많은 것이 더 빠르고 유리한 것은 사실입니다..
        하지만 1.5GHz 쿼드코어와 2GHz 듀얼코어 중 뭐가 더 빠른가 라고 말한다면 참 애매할 듯 싶어서 말이죠.

        2012.03.14 22:33 신고
    • 프로필사진

      정말 멀티코어 논쟁은 이렇게 말하긴 뭐하지만.. 유저를 호구로 아는 처사라고 생각합니다.
      멀티코어가 가치가 없다는 것은 아니지만 구조적으로 아직까진 진정한 멀티코어는 없는게 아닐까..
      하는 마음이 있네요.

      그냥 하이브리드 코어정도로 보고 너무 멀티코어 논쟁에 빠지지 말아야 겠다는 생각입니다. ㅎ

      2012.03.14 22:44
    • 프로필사진

      스마트폰 시대가 컴퓨터 발전의 역사의 축소판이라는걸 여실히 느끼는 요즘입니다.
      확실히 이번엔 공정경쟁으로 삼성이 한번 뭔가 터뜨려줬으면 하는데말이죠.(갤3에서 타사AP를 발라버린다면 ㅎㄷㄷ)
      PS.화웨이는 에릭슨과 더불어 핵심통신특허(LTE&WCDMA)를 보유한 통신기지국설비 대기업입니다. 국내통신사도 주요구매처입니다. B2B에서는 슈퍼을로 행사해온 업체이기에 일반소비자에게는 알려져있지 않을뿐이지 삼성이상의 통신기술을 가진 업체이기에 어중간한 ZTE,HTC와는 차원이 다른 강적입니다.
      그리고 기지국장비회사이기에 통신사와 빅딜을 할수 있기에 특히나 조심해야할 상대

      2012.03.15 00:42
      • 프로필사진

        화웨이가 기지국 전문 회사라는 것은 알고 있지만 스마트폰 분야에서만 따졌을 때 이렇다라는 얘기죠 ^^;
        그리고 현재의 멀티코어 AP를 제대로 감당할만한 소프트웨어가 부족한 것도 문제가 되지 않을까 하는 생각이 듭니다.

        2012.03.15 08:51 신고
Designed by Tistory.