M2M(Machine-to-Machine)은 자동차, 컨슈머, 산업 및 의료 시장에 진출하기 시작했다. 그러나 임베디드 시스템 관점에서, 한 가지로 두루 적용되는 방식은 개발비용과 효율성, 전력소모 문제로 인해 이러한 애플리케이션에 적용되지 않는다. 게다가 M2M 및 IoT(Internet of Things)의 각 레벨에서 서로 다른 사용자 인터페이스 또는 HMI(Human Machine Interface), 연결성과 데이터 사용이 필요하기 때문에 단일 솔루션 방식은 적용이 더 어렵다.
사용의 편의성
“한 가지로 모든 용도에 맞출 수 없다.”
IoT는 2020년까지 디바이스 수가 200억 개에 이르는 엄청난 시장으로 성장할 전망이다. 정확한 수치를 예상하기는 어렵지만, 연결된 디바이스의 대부분이 유선 또는 무선 연결을 통해 기계를 서로 연결하게 될 것이란 점은 확실하다. 따라서 현 세대 및 차세대 디바이스는 이러한 요구를 충족하기 위해 M2M의 과제를 해결해야 한다.
첫 번째 과제는 광범위한 IoT 애플리케이션에 대처하기 위해 제공돼야 하는 다양한 해결방안이다. 예를 들어 컨슈머 헬스케어 애플리케이션을 위한 센서 데이터 수집 디바이스, 스마트홈 모니터링 및 제어 디바이스, 웹에 연결된 스크린 기반 사용자 인터페이스의 규격은 성능 요구사항, 크기, 전력소모 측면에서 매우 상이하다.
물론 에너지 효율성도 주요 과제 중 하나다. 지구 온난화와 비재생 에너지원의 부족으로 인해 에너지 소비 제어와 엄격한 절전이 필요한 상황이다. 따라서 연결된 디바이스의 수가 대폭 증가한다는 것은 더 나은 에너지 소비 제어에 있어서 분명한 과제가 된다. 이러한 디바이스의 상당수는 휴대형이거나 원격지 배치형이므로 배터리로 구동되고, 이로 인해 유지보수 최소화와 배터리 수명 최대화라는 과제가 추가된다.
게다가 이러한 디바이스는 언제든 정보에 액세스하고 연산 및 통신이 가능해야 하므로 아이들(idle) 모드에서의 전력소비도 중요한 문제다. 이러한 엄격한 제약으로 인해 시스템에서 액티브 쿨링(예: 팬)을 사용할 수 없으며, 구상 단계부터 낮은 전력소비 애플리케이션에 맞게 설계된 아키텍처가 필요하고, 적절한 프로세서, 시스템 온 칩 설계, 스마트한 전력소비 및 소프트웨어 아키텍처를 선택해야 한다.
또 다른 파라미터는 디바이스의 물리적인 크기다. 실제로 연결된 디바이스의 보편화는 충분한 수준의 크기에 도달해야만 가능하다. 물리적인 크기가 작을수록 좋다고 해도 연결성과 비용 제약으로 인해 작은 것이 항상 최선은 아니다.
일부 M2M 애플리케이션은 독특한 환경에서 상호작용하며, 여기에는 매우 다른 방식의 데이터 관리가 필요하다. 예를 들어 BLDC(브러시리스 DC) 또는 PMSM(영구자석 동기 모터)과 같은 전기 모터에는 실시간 제어가 필요한데, 이는 실시간 운영체제(예: MQX™)와 적절한 소프트웨어가 수반된 마이크로컨트롤러를 통해 달성이 가능하다. 그러나 M2M 연결성 및 사용자 인터페이스가 필요한 경우, 서로 다른 시간 도메인과 운영체제가 공존해야 한다. 시스템 효율성과 비용 효율성을 유지하면서 이와 같은 서로 다른 도메인 간에 데이터 교환은 표준 솔루션으로는 달성하기 어려울 수 있다.
대부분의 IoT 애플리케이션은 혁신적인 형태가 될 것이며 아직 존재하지 않는다. 따라서 다양한 애플리케이션을 가능하게 하려면 단기간에 애플리케이션을 개발하고 맞춤 구성하기 위한 풍부한 소프트웨어 에코시스템을 갖춘 하드웨어 솔루션이 필요하다. 빠른 제품화 기간은 곧 최적화된 하드웨어와 적절한 소프트웨어를 결합해 실제 구현이 아닌 최종 애플리케이션과 사용자 인터페이스에 집중하는 플랫폼을 의미한다.
센서에서 서버 또는 클라우드에 이르는 IoT 프로세싱 체인은 방대한 데이터 집합을 수반하는데, 이는 데이터 분석에 기반한 의사결정을 불가능하게 만들 수 있다. 게다가 통신 데이터 병목현상과 전력 효율성도 제약요소가 된다. 각 노드에서 통신과 연산 간 균형 잡힌 타협이 있어야만 IoT와 M2M이 현실화될 수 있다. 이는 각 노드가 로컬로 의사결정을 내리고 필요한 데이터만 다음 노드에 제공할 수 있도록 충분한 처리 성능과 소프트웨어를 가져야 함을 의미한다. 따라서 처리 역량과 통신은 각 노드에 맞게 조정돼야 한다. 이는 일부 로비(lobbies) 또는 서버 중심 관점과 배치될 수 있지만, IoT 애플리케이션의 대규모 도입으로 적절한 전력 관리, 비용, 데이터 관리 및 소프트웨어 부담을 유일하게 달성할 수 있다.
보안은 대규모 M2M 도입을 가능하게 할 가장 중요한 파라미터다. 클라우드에 대한 액세스로 머신을 서로 연결하는 데는 바이러스, 해킹, 리버스 엔지니어링, 지적재산 손실, 개인정보 데이터 액세스 등 많은 위협이 따른다. 임베디드 하드웨어 보안만이 비교적 안전한 연결을 가능하게 할 수 있다. 소프트웨어 보안은 필요하지만, 이러한 애플리케이션의 경우 소프트웨어 보안만으로는 충분하지 않다.
마지막으로, 시스템 비용은 IoT의 성공과 새로운 애플리케이션의 도입 속도를 결정하게 된다. 따라서 하드웨어, 소프트웨어 및 엔지니어링 개발, 유지보수, 품질 및 수명과 같은 비용이 각 디바이스 설계에 반영된다. 이는 시스템 비용이라는 새로운 차원으로 “한 가지로 모든 용도에 맞출 수 없다”는 원칙을 더욱 강화하는 요소가 된다.
IoT의 기회가 큰 만큼 IoT 요구사항을 성공적으로 충족하기 위한 과제도 많다. 까다로운 크기, 비용 및 성능 요구사항을 가진 단편화된 애플리케이션들은 그러한 과제 중 일부다.
따라서 애플리케이션 맞춤 구성과 유효성, “인텔리전트” 시스템 및 노드가 무엇보다 중요하다.
일부 IoT 과제 해결 멀티코어 프로세싱의 도입
주요 프로세서 아키텍처인 ARM, 파워 아키텍처(Power Architecture) 및 CISC 중에서 ARM은 임베디드 시장을 위한 다양한 기능(TrustZone, 전력 모드, SIMD, 가상화 확장…)과 저전력, 저비용에 가장 적합하다. 파워 아키텍처는 특히 64비트 아키텍처로, 고급 연산을 위한 전력 효율 측면에서 가장 앞선다. CISC(또는 x86) 구현은 데스크톱 컴퓨팅과 일부 서버에 최적화됐다. x86 칩은 최근에야 휴대용 디바이스 분야에 진출한 만큼 시장 도입을 위해서는 효율성을 입증해야 한다.
ARM 프로세서 기반의 SoC(시스템 온 칩)는 전력 효율성 측면에서 우위를 점하고 있으며 최고 성능은 x86에 근접한다(big.LITTLE™ 프로세싱을 사용하는 새로운 ARMv8 아키텍처 기반의 ARM 64비트를 기반으로 하는 SoC는 나머지 성능 격차도 따라잡을 것으로 예상). 반면 x86은 아직 낮은 전력소비를 달성하지 못했고, 최고 성능은 그다지 향상되지 않았으며, 무어의 법칙이 지속 가능한 성능을 유도했던 시대는 끝났다.
비용과 성능, 전력소비 측면의 제약을 받으며 고도의 애플리케이션 단편화에 대처하는 것은 다수의 가용 플랫폼 솔루션을 통해서만 가능하다. 먼저 폭넓은 SoC 마이크로컨트롤러 및 프로세서 포트폴리오가 있다. 300개 이상의 디바이스에 다양한 기능과 가격, 크기를 제공하는 프리스케일의 키네티스(Kinetis) 포트폴리오가 여기에 해당한다. 예를 들어 KL02는 2×2 mm 미만의 크기로 가장 작은 32비트 MCU다.
멀티코어 프로세싱 아키텍처가 자동차 애플리케이션, 구체적으로 근 실시간 응답이 멀티코어를 통해 달성된 ECU(전자제어 유닛)의 안정성, 성능 및 비용 요구사항을 충족하기 위한 솔루션이라는 사실은 입증됐다. 실시간 이미지 프로세싱 역시 멀티코어 프로세싱으로 작업 병렬화를 통해 대폭 향상된다.
멀티코어 프로세싱의 이점
멀티코어 프로세싱을 사용하는 것은 무어의 법칙 전류 제한을 극복하는 데 도움이 될 뿐만 아니라 전력소비를 낮추는 데도 유용하다.
i.MX6(i.MX 제품군의 일부) 시리즈와 Cortex-A9 프로세싱 코어만으로(JPEG 또는 임베디드 GPU를 위한 기존 임베디드 가속기가 아님) 일부 사용사례에서는 멀티코어의 여러 이점을 입증할 수 있다.
첫 번째 예는 2D HTML5 비디오, JPEG 인코딩 및 디코딩, 웹킷(WebKit) 브라우저 페이지 렌더링 및 스크롤을 함께 실행하는 것이다.
테스트 결과는 프로세싱 코어가 두 배 증가할 때 성능은 1.8배 증가한다는 통념을 뛰어넘을 수 있다는 것을 명확히 보여준다. 실제로 듀얼코어와 쿼드코어는 JPEG 인코딩 및 디코딩에서 4배의 차이가 난다. 듀얼코어와 쿼드코어를 비교하면 1.25~2배다. 흥미롭게도, 싱글코어와 듀얼코어 사이의 비약적인 향상은 멀티코어가 멀티태스킹에 효과적인 아키텍처임을 보여준다.
i.MX6 시리즈의 경우, 1 GHz에서 드라이스톤(Dhrystone) 테스트를 실행하면 전력소비는 싱글코어에서 듀얼코어로 갈 때 41% 증가하며, 듀얼코어에서 쿼드코어로 갈 때 62% 증가한다(DRAM은 고려하지 않음). 따라서 전력소비의 증가(1.6배)는 성능개선(1.25~4배)으로 대부분 보상된다.
표준 멀티코어 프로세싱을 넘어
멀티코어 프로세싱은 여러 개의 비슷한 코어를 사용하는 단계를 뛰어넘고 있다. GPU는 멀티코어 프로세싱의 일부다. GPU는 주로 멀티미디어 애플리케이션에 사용되며 패턴을 효과적으로 처리하는 데에도 사용이 가능하다. 예를 들어 멀티미디어 애플리케이션에 GPU를 사용하면 i.MX6Q의 전력소비량을 46% 줄이면서 애플리케이션 성능을 향상시킬 수 있다(더 높은 프레임 속도와 해상도).
데이터 인터페이스, 메모리 및 연산으로 인한 방해를 피하면서 탁월한 성능을 제공하는 또 다른 예는 파워 아키텍처 기반의 T4240이다. 업계 최고의 코어마크(Coremark)를 표시하는 이러한 SoC는 12코어 64비트와 각각 최고 1.8 GHz로 실행되는 듀얼 스레딩과 알티벡(Altivec) 128비트 기반의 SIMD를 결합한다. T4240은 50 Gb/s 패킷을 처리할 수 있다.
이러한 높은 성능은 높은 프로세싱 효율성뿐만 아니라, 역시 중요한 신중한 SoC 구현을 통해서도 달성된다. 하드웨어 가속 인터페이스와 결합된 통합 데이터 경로는 데이터 관리를 통해 프로세싱 병목현상을 피한다. 다양한 레이어(L1~L3, CoreNet)의 메모리 캐시와 최고 2.1 GHz로 실행되는 3개의 DDR3 컨트롤러가 메모리 병목현상을 완화한다. 낮은 전력소비로 달성되는 이러한 높은 처리 성능과 임베디드 보안은 산업 자동화 또는 빌딩 제어를 위한 산업용 클라우드에 효과적으로 사용이 가능하다.
따라서 적절한 SoC 구현이 적용된 이기종 프로세싱은 암달의 법칙(Amdahl’s law)을 완화할 수 있도록 하며 병렬화 구현의 이론적 속도를 뛰어넘을 수 있다. 또한 M2M 에너지 효율성과 성능 간의 타협에 대한 과제도 해결할 수 있다.
비대칭 프로세싱
비대칭(또는 이기종) 프로세싱은 암달의 법칙 측면에서 뿐만 아니라 M2M 애플리케이션에 효과적으로 대처한다는 측면에서도 가장 흥미로운 혁신이다. 비대칭 프로세싱을 통해 멀티코어 아키텍처의 향상된 성능과 전력 절감을 동시에 달성할 수 있다는 것이 입증됐다.
이에 대한 예로, HMI용 Cortex-A와 실시간용 Cortex-M을 포함하는 시스템이 있다.
전망
IoT의 비약적인 성장을 통한 M2M 애플리케이션 시장에는 에너지 효율성, 충분한 물리적 크기(즉 최소의 크기)와 같은 특성을 가진 다양한 솔루션이 필요하다. 그리고 사용자 인터페이스와 실시간 동시성을 처리할 수 있어야 하고 적절한 비용으로 통신과 데이터 처리 사이에서 최적의 균형을 잡아야 한다. 이러한 엄격한 요구사항을 모두 충족하기 위해 임베디드 기능으로 더 높은 에너지 효율성과 성능을 보일 수 있는 멀티코어 프로세서 기반의 SoC가 제안됐다. 실제로 고성능 병렬 처리에 수반되는 모든 병목현상을 완화하기 위한 유일한 방법은 빈틈없는 SoC 구현이다.
비대칭(이기종) 프로세싱은 전력소비와 프로세싱 효율성을 개선하고 있으며 새로운 애플리케이션도 가능하도록 하고 있다.
초저전력부터 고성능에 이르는 여러 프로세서와 다양한 유형의 프로세싱(GPU, SIMD, DSP), 적절한 캐시와 SoC에 구현된 인터페이스를 위한 하드웨어 가속은 M2M 애플리케이션에 필요한 것을 확보하기 위한 최선의 방법으로 보인다. 임베디드 보드(모듈)를 통해 다음 단계의 솔루션 단편화가 효과적으로 달성돼 더 폭넓은 솔루션을 더 짧은 기간에 제공할 수 있다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>