<div>출처: http://gamma0burst.tistory.com/567</div><div>왜 엑시노스 5 옥타가 '좋은가' 에 대해서 이해를 잘 못하는 분들이 많이 있는 것 같아 올립니다.</div><div><br></div><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">최근 커뮤니티에서의 반응을 보면 빅리틀의 유용성에 대해 제대로 인식하지 못하고 있다는 느낌을 받습니다.</span><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><br style="margin: 0px; padding: 0px; border: 0px;">왜 빅리틀이라는 기술이 나왔으며 왜 빅리틀이 유용한지에 대한 설명이 부족했기때문이지 않나 싶습니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(이렇게 말하면 마치 내 글이 대단한 영향력이라도 있는 것으로 생각하는 것처럼 보일까봐 좀 그렇지만...)</span></span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">엑시노스5 옥타의 소비전력에 대한 논란도 그런 측면에서 비롯된 것이겠지요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">그래서 이번에는 빅리틀의 목적과 유용성에 대해 다뤄보겠습니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><br></span></p><p><br></p><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/bb4c52c72c34bf2b193419f453ecd024.png" class="txc-image" style="clear:none;float:none;"></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><br></span></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="font-size: 10pt;">빅리틀의 목적은 간단합니다.</span></span></p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">작업 부하에 맞는 프로세서를 쓰자는겁니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">그렇다면 왜 그럴 필요가 있을까요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">성능은 무조건 높은게 좋은거 아닌가요?</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">ARM 기반 코어의 성능이 향상될수록 소비전력도 상승하기때문입니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">ARM 기반 코어가 제 아무리 저전력이더라도 일하는만큼 먹어야한다는 반도체의 진리를 비켜갈 수는 없습니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(물론 모든 반도체가 먹는만큼 일하는건 아닙니다. 우리는 그동안 밥값도 못하는 제품을 많이 봐왔지요.)</span></span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">거꾸로 생각해보면 빅리틀이라는 기술이 등장해야할 정도로 ARM 기반 코어의 성능과 소비전력이 상승한 것이지요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">높은 성능과 낮은 소비전력을 모두 잡기위해서 어떻게 해야할까요?</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">시작은 이런 의문에서 출발했을 것이라고 생각합니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">그리고 그 의문에 대한 ARM의 대답이 빅리틀인거고요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">높은 성능을 요구하는 작업은 높은 성능을 가진 프로세서로 처리하여 높은 성능을 잡고,</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">낮은 성능을 요구하는 작업은 높은 전력효율을 가진 프로세서로 처리하여 낮은 소비전력을 달성한다는겁니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span id="callbacknestgamma0bursttistorycom567131" style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px; width: 1px; height: 1px; float: right;"><embed allowscriptaccess="always" id="bootstrappergamma0bursttistorycom567131" src="http://gamma0burst.tistory.com/plugin/CallBack_bootstrapperSrc?nil_profile=tistory&nil_type=copied_post" width="1" height="1" wmode="transparent" type="application/x-shockwave-flash" enablecontextmenu="false" flashvars="&callbackId=gamma0bursttistorycom567131&host=http://gamma0burst.tistory.com&embedCodeSrc=http%3A%2F%2Fgamma0burst.tistory.com%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fs1.daumcdn.net%2Fcfs.tistory%2Fv%2F0%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D567%26callbackId%3Dgamma0bursttistorycom567131%26destDocId%3Dcallbacknestgamma0bursttistorycom567131%26host%3Dhttp%3A%2F%2Fgamma0burst.tistory.com%26float%3Dleft" swliveconnect="true" style="margin: 0px; padding: 0px; border: 0px;"></span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">그리고 그에 걸맞는 아키텍처가 Cortex-A15 (이하 A15)와 Cortex-A7 (이하 A7)입니다.</span><p><br></p><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/bebdd6da8ca5f98f2c29633c7d8354fa.png" class="txc-image" style="clear:none;float:none;"></p><p><br></p><p><span style="font-family: gulim; font-size: 10pt; line-height: 24px;">왼쪽은 A15가 A7에 비해 성능이 얼마나 높은지를 보여주고,</span></p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">오른쪽은 A7이 A15에 비해 전력효율이 얼마나 좋은지 보여줍니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(맨 위의 Dhrystone이 ARM 코어 성능 얘기 나올 때마다 언급되는 DMIPS 입니다.</span></span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">DMIPS가 Dhrystone Million Instructions Per Second 의 약자</span><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">)</span></span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">하지만 빅리틀의 발상이 실제 사용환경에서 유효한지 검토가 필요하겠지요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">실사용에서 요구되는 성능이 예상보다 높으면 대부분 A15 로 돌아가게되고 그렇다면 A7의 역할이 축소되면서 전력효율을 잡겠다는 꿈은 물거품이 될테니까요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><div><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/2f857f72c642eda2e18b663ce534c38a.png" class="txc-image" style="clear:none;float:none;"></p><p><br></p><br></span></div><div><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">그것을 확인하기위한 가정의 위의 사용패턴입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">음성통화 90분</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">이메일 60분</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">웹서핑 30분</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">동영상 감상 30분</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">게임 50분</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">음악 감상 + GPS 기록 90분</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">동영상 녹화 10분</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">수면 (알람 설정) 7시간</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">OS에 항상 돌아가는 백그라운드 프로세서 28개</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">딱 봐도 하드합니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">저렇게 살면 바쁘겠네요.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">순수하게 스마트폰쓰는 시간만 6시간입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">표본으로 이 정도 가정이면 충분하겠지요.</span><br style="margin: 0px; padding: 0px; border: 0px;"></span></div><div><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"></span><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/2fb2c7d94e13dbc12b1c1240f883a11a.png" class="txc-image" style="clear:none;float:none;"></p><p><br></p><p><br></p><span style="font-size: 10pt;">각종 작업시 CPU 사용률입니다.</span><br></span></span><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">300MHz 이상, 즉 노란색부터 위까지가 실제 로드(부하)가 걸리는 상태로 볼 수 있습니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">보면 알 수 있듯이 대부분 심하게 로드가 걸리는 비율이 적습니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">브라우저 벤치마크의 경우, 벤치마크앱답게 90% 이상이 최대 로드 상태입니다만 벤치마크니까 당연한거지요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">주목할 것은 게이밍 벤치마크입니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">CPU 로드는 크지 않습니다. 게임이니 GPU 로드가 크겠지요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">게임이라고 무조건 CPU 사용률이 높고 CPU의 소비전력이 높아질 것이라고 생각하면 안 된다는겁니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"></div><div><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><br></span></div><div><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/203b488723b77ba5c7c432b23809165b.png" class="txc-image" style="clear:none;float:none;"></p><p><br></p><p><br></p><span style="font-size: 10pt;">CPU 사용률 분포와 스마트폰 사용 패턴 가정을 종합한 결과가 이겁니다.</span><br></span><font color="#000000" style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">90%에 가까운 작업이 500MHz 이하의 낮은 성능을 요구합니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(전체 사용시간이 아닌)</span> CPU 가 동작하는 시간 중에서 12%만이 빅코어의 성능이 필요하고 나머지는 리틀코어의 성능으로 충분합니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">이런 결론을 통해 엑시노스5 옥타의 소비전력에 대한 논란의 문제점을 반박할 수 있습니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">1. 최대 소비전력만으로 전체 사용시간을 판단하는건 잘못되었다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">90% 가까운 시간이 A7로 돌아갑니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">2. 벤치마크 앱을 제외한 일반적인 앱에서 CPU에 최대 부하가 걸리는 일은 드물다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">빅코어가 활성화되더라도 사용률이 매우 높아지면서 최대 전력을 소비하는 경우는 드물다는겁니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">빅리틀의 목적과 유용성은 어느 정도 설명이 되었으니 어떻게 진전이 있었는지 살펴보겠습니다.</span></font><p style="border: 0px; font-family: gulim; line-height: 24px;"></p></div><p><br></p><p><br></p><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/3da1daad06687972b75ec38d42328478.png" class="txc-image" style="clear:none;float:none;"></p><p><br></p><p><span style="font-family: gulim; font-size: 10pt; line-height: 24px;">전에도 언급했듯이 빅리틀 모델은 3가지입니다.</span></p><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">빅코어 클러스터<span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(코어군)</span>와 리틀코어 클러스터끼리 전환되는 클러스터 마이그레이션.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">빅코어 하나와 리틀코어 하나끼리 전환되는 CPU 마이그레이션</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">빅코어, 리틀코어 모두 사용할 수 있는 멀티프로세싱.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"> </span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">그 중에서 우리가 만나게될 것은 엑시노스 5 옥타 (5410)의 CPU 마이그레이션이겠지요.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><div><br></div><p><br></p><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/0a9a8ba772e34fd2e1af950bccc5cea9.png" class="txc-image" style="clear:none;float:none;"></p><p><br></p><p><span style="font-family: gulim; font-size: 10pt; line-height: 24px;">빅리틀이 SMP와 뭐가 다르냐.</span></p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(SMP는 Symmetric Multi-Processing 으로 기존의 일반적인 제품들을 생각하면 됩니다.)</span></span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">SMP는 사용가능한 모든 코어에 일괄적으로 작업을 분배하여 최대 성능을 얻는게 목적이지만,</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">빅리틀은 작업의 요구성능에 맞는 코어에 작업을 분해하여 최대 전력효율을 얻는게 목적입니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">목적이 다른만큼 방식도 달라진거지요.</span><p><br></p><p style="text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/fa8fa40304d41292056472bb96cb8c39.png" class="txc-image" style="clear:none;float:none;"></p><p><br></p><p><span style="font-size: 10pt; font-family: gulim; line-height: 24px;">최초의 에뮬레이션 결과입니다.</span></p><font color="#000000" style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">4코어 SMP에 비해 2+2 빅리틀의 처리 시간이 너무 길어집니다.</span></font><p style="border: 0px; font-family: gulim; line-height: 24px;"></p><p style="border: 0px; font-family: gulim; line-height: 24px;"><font color="#000000" style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">이러면 빅리틀이 유용하다고 말할 수가 없습니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"></font></p><p style="border: 0px; font-family: gulim; line-height: 24px;"><font color="#000000" style="margin: 0px; padding: 0px; border: 0px;"><br></font></p><p style="border: 0px; font-family: gulim; line-height: 24px; text-align: left;"></p><p style="border: 0px; font-family: gulim; line-height: 24px;"><font color="#000000" style="margin: 0px; padding: 0px; border: 0px;"><br></font></p><p style="border: 0px; font-family: gulim; line-height: 24px; text-align: left;"><img src="http://thimg.todayhumor.co.kr/upfile/201303/c4612676f9b9f430bb5967d1bffcb822.png" class="txc-image" style="clear:none;float:none;"></p><p style="border: 0px; font-family: gulim; line-height: 24px;"><font color="#000000" style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><span style="font-size: 10pt;">용어가 복잡한데 내용은 별거 없습니다.</span></span></font></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">대부분의 프로세스가 실제 처리시간보다 처리 대기시간이 더 길고, 작업 우선순위에 따라 대기시간이<br style="margin: 0px; padding: 0px; border: 0px;">길어진다는 겁니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><br><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">그래서 빅코어와 리틀코어를 사용하는 기준을 정합니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;">구체적으로 적혀있는데 간단히 정리하면, 가능하면 리틀코어를 사용하되, 고정 우선수위가 높거나 다양한<br style="margin: 0px; padding: 0px; border: 0px;">이유로 리틀코어에 무거운 작업은 빅코어로 처리한다는 겁니다.</span><br style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; line-height: 24px;"></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><br></span></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"></span></span></p><div class="imageblock" style="margin: 5px 0px; padding: 0px; border: 0px; display: inline;"><span dir="http://cfile8.uf.tistory.com/original/15115750512776281E3950" rel="lightbox" target="_blank" style="margin: 0px; padding: 0px; border: 0px;"><img src="http://cfile8.uf.tistory.com/image/15115750512776281E3950" alt="" height="452" width="640" style="margin: 0px; padding: 0px; border: 0px; cursor: pointer;"></span></div><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">Vanilla 커널의 스케줄러에 의한 결과.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">1~7 까지의 프로세스를 처리한 결과입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">1,2 는 idle 수준의 백그라운드 작업.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">3,4 는 무거운 작업.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">5,6,7 은 가벼운 작업.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">이상적인 빅리틀이라면 3,4 에서 빅코어가 동작하고, 1,2,5,6,7 에서 리틀코어가 동작해야합니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">하지만 왼쪽 아래 결과를 보면 3번 프로세스에서 빅코어가 아닌 리틀코어가 동작하고 있습니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">그 결과 실행 시간이 길어졌지요.<span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;"> (세로가 시간축)</span></span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">그리고 5,6번 프로세스가 빅코어가 동작하고 있고, </span></span><font size="2" style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">리틀코어가 동작해야 할 1,2번 프로세스에서 빅코어가<br style="margin: 0px; padding: 0px; border: 0px;">동작하고 있습니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"></font><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">총체적 난국.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">오른쪽 아래 그래프는 각 코어별 idle 상태에서 동작상태로 전환된 횟수로 보이는데, 빅코어의 전환 횟수가 많습니다.<br style="margin: 0px; padding: 0px; border: 0px;"></span><font size="2" style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">쓸데없이 빅코어를 자주 사용했다는거지요.<br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;">이는 왼쪽 위의 그래프를 통해서도 확인됩니다.</span></font><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">왼쪽 위는 각 코어별로 idle 상태에서 동작 상태로 전환될 때까지의 시간 분포로 보입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">빨간색(동작상태)과 아주 어두운 색(100ms 이상)의 비중이 높은게 좋습니다.<br style="margin: 0px; padding: 0px; border: 0px;">전환 시간이 짧으면 그만큼 </span><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">쓸데없이 동작했다가 안 했다가 한다는거니까요.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">빅코어의 </span></span><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">전환 시간 중에서 짧은 시간의 비중이 높으니 문제가 있습니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><div class="imageblock" style="margin: 5px 0px; padding: 0px; border: 0px; display: inline;"><span dir="http://cfile1.uf.tistory.com/original/17115750512776291F68D0" rel="lightbox" target="_blank" style="margin: 0px; padding: 0px; border: 0px;"><img src="http://cfile1.uf.tistory.com/image/17115750512776291F68D0" alt="" height="452" width="640" style="margin: 0px; padding: 0px; border: 0px; cursor: pointer;"></span></div></span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">빅리틀에 최적화된 스케줄러에 의한 결과입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">각 코어에 제대로 프로세스가 분배되었고, 빅코어의 전환 횟수도 크게 줄었습니다.<br style="margin: 0px; padding: 0px; border: 0px;">대신 </span><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">리틀코어의 전환 횟수가 증가했지만 빅리틀에서 중요한건 빅코어의 제어이니 큰 문제는 없습니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><div class="imageblock" style="margin: 5px 0px; padding: 0px; border: 0px; display: inline;"><span dir="http://cfile3.uf.tistory.com/original/241157505127762A2074D9" rel="lightbox" target="_blank" style="margin: 0px; padding: 0px; border: 0px;"><img src="http://cfile3.uf.tistory.com/image/241157505127762A2074D9" alt="" height="452" width="640" style="margin: 0px; padding: 0px; border: 0px; cursor: pointer;"></span></div></span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">그 결과 빅리틀로 4코어 SMP와 비슷한 수준으로 처리 시간이 단축되었습니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><div class="imageblock" style="margin: 5px 0px; padding: 0px; border: 0px; display: inline;"><span dir="http://cfile22.uf.tistory.com/original/251157505127762A2161AD" rel="lightbox" target="_blank" style="margin: 0px; padding: 0px; border: 0px;"><img src="http://cfile22.uf.tistory.com/image/251157505127762A2161AD" alt="" height="452" width="640" style="margin: 0px; padding: 0px; border: 0px; cursor: pointer;"></span></div></span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">위에서 본 실물 제품에서 테스트한 결과입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">300MB 파일을 읽어와서 MD5 해시값을 계산하는 테스트입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">오른쪽의 프로세서 창을 보면 알 수 있듯이 A15 2코어, A7 3코어입니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(저번 포스팅에서 2코어, 3코어 구성이 오타아니냐는 분이 있었는데 오타 아닙니다.)</span></span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">첫번째 작업(1st Run)은 MMC에서 파일을 읽어오는겁니다. <span style="margin: 0px; padding: 0px; border: 0px; font-size: 9pt;">(디스크 액새스 상태를 보면 알 수 있지요.)</span></span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">부하가 낮은 작업이기때문에 A7만 동작합니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">두번째 작업(2nd Run)은 해시값을 계산하는겁니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">부하가 있으니 A15가 동작합니다.</span><br style="margin: 0px; padding: 0px; border: 0px;"><br style="margin: 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;">빅리틀이 제대로 돌아간다는 얘기지요.</span><p></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><br></span></span></p><p><span style="margin: 0px; padding: 0px; border: 0px; font-family: gulim; font-size: 10pt; line-height: 24px;"><span style="margin: 0px; padding: 0px; border: 0px; font-size: 10pt;"><br></span></span></p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.