전원소모를 절약하면서도 3배 빠른 Android의 Virtual Machine인 Dalvik Turbo가 저번주에 알려진 바 있는데요,
MWC에서 그 속도를 직접 비교하는 영상이 올라왔습니다.
Myriad Dalvik Turbo hands-on: Android apps just got fast
http://www.engadget.com/2010/02/17/myriad-dalvik-turbo-hands-on-android-apps-just-got-fast/
달빅 터보 속도 데모 영상, 안드로이드의 다음 속도는?
안드로이드 실행 환경에 아직 성능 개선의 여지는 많이 남아있다고 보시면 됩니다. 근데 성능 개선은 오픈 소스 안드로이드에서 해결이 되었으면 하는 바램이 더 크네요.
네, 그전보다 두세배 빨라진다고는 하지만 아직은 어느정도인지 잘 모르겠습니다.
좀있으면 개선된 모습을 더 볼 수 있겠죠?
내일 회색님 보러 가려면 이미 자야할 시간인데;;
부산이거든요;;
Dalvik Turbo뿐만 아니라, 구글쪽에선 JIT Compiler에 힘을 쏟고 있는 모양입니다.. Ben Cheng과 Bill Buzbee란 사람 이름이 나오는데, 아니나 다를까 둘다 Transmeta에서 일을 했더군요.. Transmeta를 아시는지 모르지만, Crusoe란 칩에 Code Morphing이라는 기법으로 x86코드를 동작시킨 회사입니다... 원래 CPU는 VLIW구조였죠.. 리누스 토발즈가 현재도 일하는진 모르지만 Transmeta에 있었구요.. Transmeta의 경우, 느리긴 했지만 뭐.. 꽤나 효율이 좋았었습니다.. 조만간 구글에서 안정화된 JIT Compiler를 내놓을것 같습니다..
http://androidandme.com/2010/02/news/jit-compiler-coming-to-android-sooner-than-you-think/
약간 사이드 노트로 언급을 하자면, Crusoe는 MCST라고 구 소련의 연구소에서 개발한 CPU에 기반을 두고 있습니다.. 공산권 국가에선 반도체 산업이 없을것 같은데, (전투기도 진공관으로 만드니).. 탄도 미사일에 사용하기 위해서 1970년대부터 마이크로 프로세서를 만들었다고 합니다.. Elbrus Series가 유명한데요.. Elbrus는 러시아에서 제일 높은 산 이름입니다.. E2K가 잘 알려진 CPU로, Sun과 공동으로 프로세서를 개발하는 프로젝트 (SPARC)를 하고 있었고, Sun직원이 그 연구소에서 머물고 있었는데, Elbrus CPU를 보고서 그 잠재력을 확신한 나머지, Transmeta란 회사를 차려서, Crusoe를 만듭니다.. (사실은 E2k).. x86머신은 어드레싱이나 데이터 참조가 워낙 복잡해서 내부 데이터 경로가 구현하기도 어렵고, 비효율적입니다..
H/W는 일단 만들어 놓고 나면 무조건 전력을 소모하기 때문에 될수 있으면 많이 사용할수 있도록 표준화 하는게 좋은데 x86은 그게 힘듭니다.. ARM만 해도, 거의 모든 데이터 경로가 80%이상 사용됩니다.. 그만큼 비효율적인 요소가 없죠.. Elbrus의 방식은 VLIW로 4개의 독립적인 Pipeline을 가지고 있습니다.. 하나의 파이프가 32비트씩 명령어를 읽어옵니다.. 각각의 파이프는 굉장히 단순하고 표준화 되어 있어서 비효율적인 면이 거의 없습니다.. 대신, 너무나 단순한 명령어밖에 수행을 하지 못합니다.. 대신, 컴파일러가 아주 복잡한 동작을 CPU구조에 맞게 쪼개주는 역할을 합니다.. 단지 파이프가 4개인것이 아니라, 4개가 독립적인 ALU를 가집니다.. 따라서 어떤 연산은 다른 파이프의 결과를 이용해야 해서, 파이프끼리의 통신 채널까지 있습니다.. (ALU와 레지스터를 공유한 4개의 파이프는.. 아주 아주 구현하기 힘듭니다.. Superscaler).. 물론 통신 채널도 아주 단순화 되어서 바로 옆의 채널만 통신할수 있었죠.. 덕분에 전력소비가 아주 적었습니다.. 문제는 컴파일러인데.. 뭐.. 러시아야 그런쪽에 강하거든요..
하여간 미국에서 팔아먹으려면 x86호환성이 있어야 하니까, Code Morphing layer를 올려서 x86 호환 CPU로 팔아먹습니다.. 성능은 떨어지는데 (당연히!!), 파이프가 여러개인 탓에 동급 펜티엄보다 좀 느렸고, 전력 소모가 워낙 적다 보니 (Die size도 아주 작습니다).. 후지쓰에서 Crusoe를 채용한 노트북을 내 놓습니다..
저는 내부 사정을 조금 잘 아는데, 제 연구소에서 러시아의 그 연구소랑 CPU 공동 개발을 하려고 했었고, 그 협의차 연구소를 방문한 적이 있기 때문입니다.. 러시아답게, 워낙 물자나 시설이 열악해서, 당시에 국내에선 아무도 사용하지 않던 sparc 2가 몇대 있었고, 아직도 종이와 연필로 디자인을 하더군요.. 직접 보면 놀랍습니다.. 당시 모스크바 평균 월급이 100일때 그 연구소는 3000불 정도를 지급했고, 그래도 서방 국가에 비하면 아주 저렴했기 때문에, 제 연구소에서 공동 개발을 하려고 했던거죠..
음... 이제 자바의 속도문제를 논할거리는 전혀 없어지는 건가요^_^