Guest Article



Guest Article

 

임베디드 멀티코어를 위한 윈드리버 안드로이드 플랫폼

 

글 닝 첸(Ning Chen) 윈드리버 안드로이드 플랫폼 프로덕트 매니저


 

멀티코어1)는 싱글코어 구조의 컴퓨터 시스템에서 클럭 속도 증가에 비례하여 전력 소비와 발열이 급격히 증가하는 문제점을 해결할 수 있는 새로운 아키텍처 중 하나이다. 멀티코어는 병렬 컴퓨팅을 통해 시스템의 컴퓨팅 성능은 높아지지만 상대적으로 낮은 전력을 소비하는 향상된 전력관리 기술을 요구하는 소비자의 니즈(Needs)에 대응하여 개인용 혹은 서버 컴퓨터 분야에서 널리 사용되고 있다.
그렇다면 멀티코어를 임베디드 분야에 사용하기 위한 최적의 방안은 무엇일까?

임베디드 플랫폼용 SoC(System on Chip) 디자인에서는 서로 다른 종류의 CPU 코어를 하나의 칩셋에 통합하거나 2개 혹은 그 이상의 동일한 코어 유닛을 통합한 멀티코어 아키텍처가 많은 관심을 받고 있으며 이런 멀티코어 하드웨어 환경을 최대한 이용할 수 있도록 운영체제를 개선하는 것과 애플리케이션 개발 환경을 제공하는 것이 주요 관심 사항으로 떠오르고 있다. 일례로 안드로이드 3.0 허니컴(이하 "허니컴"으로 표기)는 싱글코어 구조도 지원하지만 듀얼코어 ARM 코텍스(Cortex) A9 프로세서와 같은 멀티코어 프로세서 또한 지원하도록 설계된 첫 번째 안드로이드 플랫폼이며 멀티코어로 향상된 하드웨어 자원을 이용하여 웹 컨텐츠나 멀티미디어에 대한 접근성을 향상시키고, 위치 기반 서비스를 좀더 빠르게 제공하거나 향상된 사용자 인터페이스를 제공함으로써 한 차원 높은 기기 성능과 사용자 경험 (User Experience)을 제공할 수 있게 되었다.
허니컴은 SMP(Symmetric Multiprocessing) 멀티코어 구조에 최적화 되어 (그림 1)과 같이 안드로이드가 멀티코어 프로세서를 싱글 운영체제 환경에서 동작할 수 있게 해준다. 이를 위해 달빅 버츄얼 머신(Dalvik Virtual Machine)과 바이오닉(Bionic) C 라이브러리에 새로운 메모리 보호 기능이 추가되거나 혹은 가비지 컬렉터(Garbage Collector) 역시 SMP 구조에 맞춰 튜닝되는 등 멀티코어 하드웨어 환경을 사용할 수 있도록 최적화된 업그레이드 버전이다. 이러한 최적화를 통해 모든 애플리케이션들이 혜택을 받게 되는데 이는 멀티쓰레드(Multi- Threaded) 애플리케이션뿐만 아니라 싱글쓰레드(Single-Threaded) 애플리케이션에 대해서도 마찬가지로 적용된다.



 예를 들어, 두 개의 액티브 코어에서 실행되는 싱글쓰레드 애플리케이션의 경우 달빅 가비지 컬렉터가 두 번째 코어에서 실행되도록 자동으로 조정하기 때문에 전체적으로 애플리케이션의 성능이 향상된다.
허니컴과 같은 싱글 SMP 운영체제가 적용된 시스템의 경우 운영체제는 전체 코어와 메모리 그리고 I/O 주변기기를 제어하며, 이외에도 스케줄링, 메시징, 동기화 및 기타 운영체제 서비스와 같은 모든 필요한 기능을 제공한다.
하지만 일부 사용자들은 반대로 하나의 디바이스에서 멀티 운영체제를 필요로 하기도 한다. 예를 들어, 일부 의료 장비들은 낮은 지연(Low Latency)과 예측 가능한 오퍼레이션을 필요로 하는 세이프티 크리티컬 소프트웨어(Safety-Critical Software)를 운용하기 위해 RTOS가 필요하며, 동시에 풍부한 사용자 인터페이스에 기반한 분석 보고서 작성과 같은 덜 민감한(Non-critical)기능을 위한 범용 운영체제로 안드로이드를 적용할 수 있다. 한편 세이프티 크리티컬 소프트웨어는 일반적으로 관련된 산업표준을 지원해야 하는데 RTOS 상에서 운용되는 기존 소프트웨어 시스템은 이런 표준을 대부분 지원하여 오랜 기간에 걸쳐 입증되어 왔다. 멀티 운영체제의 사용은 이렇게 검증된 기존 운영체제를 새로운 시스템에 통합하기 위한 또 하나의 방법을 제공한다.



멀티 운영체제는 멀티코어 프로세서를 요구하며, 멀티 운영체제를 멀티코어 프로세서에서 운영하기 위한 가장 자연스러운 방법은 (그림 2)와 같은 AMP(Asymmetric Multiprocessing)을 적용하는 것인데, 이는 각 CPU 코어가 각각의 독립적인 운영체제을 실행시킬 수 있도록 해준다. 그러나 이러한 접근방식은 아래와 같은 새로운 문제점을 내포하고 있어 기술적 해결이 요구된다.

● 구성의 문제점┃SMP는 운영체제가 하드웨어 추상화를 지원하여 하드웨어의 구성에 대해 사용자의 관여가 거의 필요 없도록 하는데 비해 AMP 시스템은 하드웨어 토폴로지 및 운영체제간 하드웨어 공유를 원활히 할 수 있도록 하드웨어 구성에 대해 사용자의 면밀한 검토를 필요로 한다.
● 공동작업의 문제점┃모든 운영체제는 자신이 전체 기기를 관리하고 있다고 생각한다. 어떻게 운영체제가 칩(메모리, 주변장치 등등)으로부터 사용할 수 있는 자원을 공유하고, 각각의 운영체제가 서로 통신할 수 있게 할 것인지에 대한 해결책이 필요하다.
● 확장의 문제점┃각각의 운영체제들은 별도의 코어에 연결되도록 구성되어 있다. 일반적으로 더 많은 코어를 현재의 시스템에 추가하는 방식의 재구성의 경우 이에 대한 고려가 필요하다.



가상화(Virtualization)는 위에 언급된 문제들을 해결하기 위한 가장 일반적인 방법이다.
(그림 3)에서 알수있듯 가상화는 하나의 수퍼바이저(Supervisor) 계층을 멀티코어 프로세서와 멀티 운영체제 사이에 추가하는데 이것이 소위 말하는 sAMP(Supervisored AMP)이다. 이 수퍼바이저 계층은 가상 머신 관리자로서 하부의 물리적인 하드웨어와 상부의 운영체제를 추상화하여 이것을 통해 수퍼바이저가 자원 관리를 담당함으로써 운영체제 간의 공유성을 제공하는 동시에 각 운영체제를 견고하게 보호할 수 있으며 하드웨어를 소프트웨어에 맵핑함에 있어서 유연성을 제공한다. 이런 가상화의 도움으로 각각의 운영체제는 특정 코어와 하드웨어 토폴로지에 종속적으로 구성할 필요가 없게된다.

수퍼바이저의 가장 핵심적인 고려 사항은 바로 성능이다. 멀티코어 자체가 기술적으로 매우 복잡하고 여기에 운영체제가 내재한 다양성까지 추가되기 때문에 이런 고도로 복잡한 요구를 sAMP 아키텍처에 적용하기 위해서는 운영체제들이 특별한 성능저하 없이 동작할 수 있도록 매우 정교한 수퍼바이저 솔루션이 필요하다.

윈드리버 하이퍼바이저(Wind River Hypervisor)는 오랜 기간에 걸쳐 검증된 고성능의 가상화 솔루션으로, 전체 시스템에 영향을 미치지 않는 효율적인 구조를 띄고 있다. 적은 풋프린트, 최소한의 디바이스 액세스, 그리고 성능 최적화를 특징으로 하고 있다. 특히 항공 및 방위산업, 그리고 제조업과 의료 분야에서 요구하는 파티셔닝 기능과 고도의 안전성 및 보안성을 제공함으로써 미션 크리티컬한 산업분야에서도 안정적인 시스템 운영을 보장한다. 윈드리버 하이퍼바이저는 VxWorks는 물론 윈도우 XP와 같은 타 운영체제 또한 지원할 수 있도록 개발 되었으며, 특히 윈드리버 안드로이드 플랫폼(Wind River Platform for Android)과 함께 고객이 안드로이드 운영체제 기반 멀티코어 시스템으로 쉽게 마이그레이션 할 수 있도록 위험요소를 최소화하고 마이그레이션된 솔루션을 검증할 수 있도록 돕는다.

한편 멀티코어 솔루션에 기반하고 있는 전체 시스템과 애플리케이션은 안정성과 상호운용성 그리고 예측가능성을 보장하기 위하여 광범위한 테스트를 할 필요가 있다. 이러한 새로운 시장의 요구에 대응하기 위해 임베디드와 모바일 소프트웨어 부문 선도 기업인 윈드리버는 시장의 요구를 반영하여 멀티코어 기기 개발과 제품의 품질 보장을 더욱 용이하게 하기 위한 시스템과 애플리케이션 자동화 테스트 툴인 FAST(Framework for Automated Software Testing)와 UxTDK(UX Test Development Kit)를 제공하고 있다.

FAST와 UXTDK는 윈드리버 하이퍼바이저에 기반하여 멀터코어 하드웨어 환경에서 동작하는 안드로이드 운영체제의 기능, 성능, 안정성 등을 검증하며 커널에서부터 애플리케이션에 이르는 전체 영역에 대한 안드로이드 컴플라이언스 (Android Compliance) 테스트 결과를 제공한다.
윈드리버 하이퍼바이저와 윈드리버 안드로이드 플랫폼, 그리고 FAST & UxTDK와 같은 툴킷을 이용하여 고객들은 고품질 멀티코어 솔루션을 빠른 기간 내 낮은 비용으로 개발할 수 있을 것으로 기대된다. 또한 윈드리버는 그 동안의 다양한 프로페셔널 서비스 경험을 바탕으로 고객이 멀티코어로 마이그레이션 하고 기존의 OS 및 애플리케이션들을 통합하는데 컨설팅부터 실제 통합까지 심도있고 폭넓은 서비스를 제공하고 있으며 ACE 라는 안드로이드 전문 인력으로 구성된 별도 전담 조직을 신설해 고객들이 고도로 차별화된 안드로이드 플랫폼과 장비를 선보일 수 있도록 돕고 있다.

 


주1) 동일한 집적회로 다이(integrated circuit die)에서 제조된 멀티코어 마이크로프로세서만을 의미



윈드리버의 ACE (Android Center of Excellence)란?
휴버트 벨서 Hubert Belser_ 휴버트 벨서는 윈드리버의 솔루션 및 서비스 조직의 수석 이사이다. 그는 윈드리버의 모바일 및 차량용 플랫폼과 함께 테스팅 자동화 제품의 제작을 감독하고 있으며, 윈드리버의 ACE(Android Center of Excellence)를 책임지고 있다.


Q 윈드리버가 안드로이드 업계에서 차지하고 있는 위치는?
A 윈드리버는 안드로이드 분야에서 매우 활발한 활동을 벌여왔습니다. 실제로 윈드리버는 2007년 설립된 OHA(Open Headset Alliance)의 창립 멤버이기도 하지요. OHA의 창립 이래 윈드리버의 여러 고객들이 인상적인 모바일 제품을 시장에 출시할 수 있도록 도와주는 강력한 안드로이드 서비스 비즈니스를 성공적으로 구축해왔다고 생각합니다. 윈드리버는 또한 PFA(Platform for Android), FAST(Framework for Automated Software Testing), UxTDK(UX Tst Development Kit)와 같은 상용 안드로이드 플랫폼과 테스팅 제품을 시장에 지속적으로 선보이며 시장을 선도하고 있습니다. 특히 최근에는 안드로이드가 스마트폰과 태블릿에서부터 자동차용 헤드유닛과 뒷좌석의 엔터테인먼트 시스템, 의료 및 산업용 태블릿과 모니터링 장비 그리고 군사용 핸드헬드 장비에 이르는 새로운 시장과 장비에 빠르게 적용되고 있는 것을 확인할 수 있는데요. 이런 다양한 장비들은 전통적으로 전용 COTS(Commercial Off-The-Shelf)와 RYO(Roll-Your-Own) 운영체제를 통해 제작되었습니다. 그러나 현재 안드로이드의 괄목할만한 성공과 함께 애플리케이션과 파트너 및 서비스 제공업체들로 이뤄진 안드로이드 기업 생태계의 성장은 수 많은 윈드리버의 고객들이 안드로이드를 고려하도록 만들고 있습니다.

Q ACE는 어떤 일을 하는 부서인가
A 윈드리버의 ACE는 임베디드, 자동차 그리고 모바일 분야의 고객들이 안드로이드 관련 프로젝트를 성공적으로 수행할 수 있도록 돕기 위한 목적으로 만들어졌습니다. 윈드리버는 고객들이 각자의 시장 분야에서 고도로 차별화된 안드로이드 플랫폼과 장비를 선보일 수 있도록 돕기 위해, 숙련된 안드로이드 전문 인력으로 구성된 팀을 조직하였습니다. ACE의 전문 인력들은 전 세계에 위치한 다양한 프로젝트 팀과 연계하여 고객에게 더욱 긴밀한 커스터머 프레즌스(Customer Presence)를 제공하며 안드로이드 기획에서부터 포팅, 전력 소모 및 성능 최적화, 그래픽, 멀티미디어와 애플리케이션 프레임워크에 대한 접속성, 그리고 UI/UX 분야에 이르는 다양한 전문 인력을 통해 안드로이드 스택 및 코드와 관련된 다양한 분야의 전문 기술을 제공하고 있습니다.

Q ACE의 핵심적인 차별화 요소는 무엇이고 이를 통해 고객에게 어떤 도움을 주는가
A 윈드리버 내에서 ACE는 모바일 영역에서의 안드로이드 솔루션 제공을 통해 좋은 성과를 올리고 있으며, 새로운 시장에서 안드로이드를 채택하려는 고객들에게 전문 기술을 제공하고 있습니다. 윈드리버는 ACE를 통해서 제공되는 전문 기술과 함께 윈드리버의 플랫폼 기술, 전문 서비스를 결합시킴으로써 고객이 안드로이드 장비에 독자적인 가치를 부여할 수 있도록 돕고자 합니다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지