멀티코어 어소시에이션

Multicore Association

Multicore Association은 2005년에 설립되었습니다.Multicore Association은 시스템 개발자와 프로그래머가 멀티코어 기술을 응용 프로그램에 보다 쉽게 도입할 수 있도록 하는 개방형 표준 API, 사양 및 가이드라인 작성에 초점을 맞춘 회원 출자 비영리 업계 컨소시엄입니다.

컨소시엄프로세서, 인프라스트럭처, 디바이스, 소프트웨어, 애플리케이션 등 멀티코어 관련 제품에 관심을 가지고, 협력하고, 확산하는 벤더 및 개발자에게 중립적인 포럼을 제공합니다.구성원은 프로세서, 운영 체제, 컴파일러, 개발 도구, 디버거, ESL/EDA 도구 및 시뮬레이터, 애플리케이션 및 시스템 개발자를 대표합니다.

완료된 프로젝트

2008년 Multicore Communications API 워킹 그룹은 컨소시엄의 첫 번째 사양인 MCAPI를 발표했습니다.MCAPI는 밀접하게 분산된 임베디드 시스템(회로기판 상의 여러 코어)에 필요한 통신 및 동기 기본 요소를 캡처하는 메시지 전달 API입니다.MCAPI의 대상 시스템은 이질성의 여러 차원(예: 코어 이질성, 상호 연결 패브릭 이질성, 메모리 이질성, 운영 체제 이질성, 소프트웨어 도구 체인 이질성 및 프로그래밍 언어 이질성)에 걸쳐 있습니다.

2011년에 MCAPI 워킹 그룹은 MCAPI 2.0을 발표했습니다.확장 버전에서는 라우팅용 도메인 등의 새로운 기능이 추가됩니다.MCAPI 버전 2.0은 "도메인"을 도입함으로써 노드 네트워크에 계층 레벨을 추가합니다.도메인은 특정 칩 상의 모든 코어를 나타내거나 토폴로지를 퍼블릭 영역과 시큐어 영역으로 분할하는 등 구현 고유의 다양한 방법으로 사용할 수 있습니다.MCAPI 2.0에서는 3종류의 새로운 초기화 파라미터(노드 속성, 구현 고유의 설정, 초기 네트워크토폴로지 또는 실행 중인 MCAPI 버전 등의 구현 정보)도 추가되어 있습니다.MCAPI WG의 의장은 Sven Brehmer입니다.

2011년 멀티코어 자원 관리 API 워킹 그룹은 MRAPI라고 불리는 첫 번째 규격을 발표했습니다.MRAPI는 필수 애플리케이션 수준 리소스 관리 기능을 지정하는 업계 표준 API입니다.멀티코어 애플리케이션에서는 (1) 개별 태스크 또는 프로세서 전용 리소스가 충분하지 않거나 (2) 런타임(프로그램 라이프 사이클 단계) 시스템이 자원 공유를 조정하기 위해 균일하게 액세스 가능한 메커니즘을 제공하지 않는 상황에서 시스템 리소스에 대한 조정된 동시 액세스를 허용하기 위해 이 API가 필요합니다.이 API는 SMP 및 AMP 내장 멀티코어 구현에 모두 적용할 수 있습니다(여기서 AMP는 소프트웨어와 하드웨어 모두에서 이종 혼재성을 나타냅니다).MRAPI(다른 Multicore Association API와 함께)는 애플리케이션 구현 및 이와 같은 풀기능 리소스 매니저 및 기타 유형의 계층형 서비스를 구현하기 위한 유용한 도구입니다.MRAPI WG는 Jim Holt가 의장을 맡았다.

2013년 MTAPI(Multicore Task Management API) 워킹 그룹은 첫 번째 사양을 발표했습니다.MTAPI는 동종 및 이종 코어를 갖춘 임베디드 병렬 시스템 상의 작업 조정을 지원하는 애플리케이션 프로그램 인터페이스(API)의 표준 사양입니다.MTAPI의 핵심 기능은 런타임 스케줄링과 프로세서 코어에 대한 태스크 매핑입니다.MTAPI는 동적 동작으로 인해 멀티코어 시스템의 throughput을 최적화하기 위한 것으로 소프트웨어 개발자는 지연 및 공정성을 위한 태스크 스케줄링 전략을 개선할 수 있습니다.이 작업 그룹은 Siemens의 Urs Gleim이 의장을 맡았습니다.

2013년에 MPP(Multicore Programming Practices) 작업 그룹은 멀티코어 프로그래밍 문제에 대한 일관성 및 이해를 개선하는 데 도움이 되는 멀티코어 소프트웨어 프로그래밍 가이드를 업계에 제공했습니다.MPP 가이드는 C/C++ 언어를 활용한 베스트 프랙티스를 제공하여 멀티코어 프로그래밍에 접근하는 엔지니어에게 진정한 가치를 제공하는 가이드를 제공합니다.이 워킹 그룹은 NXP Semiconductors의 Rob Oshana와 Critical Blue의 David Stewart가 의장을 맡았습니다.

2015년, SIM(Software/Hardware Interface for Multicore/Manycore) 작업 그룹은 소프트웨어 설계에 유용한 아키텍처 기술 표준을 정의하는 규격을 제공했습니다.SIM이 설명하는 아키텍처 기능으로는 프로세서코어, 액셀러레이터, 캐시 및 코어 간 통신채널 등의 하드웨어 토폴로지와 각 요소의 상세 및 명령, 메모리 및 통신 퍼포먼스 정보가 있습니다.이 작업 그룹은 eSOL의 Masaki Gondo[1]가 의장을 맡았습니다.

액티브한 작업 그룹

  • Multicore Communications API(MCAPI) 작업 그룹은 현재 버전 2.x에 MCAPI의 유용성을 확장하기 위해 추가 기능을 추가하고 있습니다.작업 그룹은 PolyCore Software의 Sven Brehmer가 주도하고 있는 공유 메모리를 사용한 「애플리케이션과 애플리케이션」의 쌍방향 상호작용, 「애플리케이션과 드라이버」의 쌍방향 상호작용 등, 상호 운용성과 「제로 카피」기능에 임하고 있습니다.
  • 가상화 워킹 그룹은 하이퍼바이저와 통신하기 위한 일련의 반가상화 정보와 기능의 정의와 최적화에 중점을 둡니다.작업 그룹은 멀티코어 프로세서 내를 포함한 다양한 가상화 기능을 분류하는 시스템에도 초점을 맞춥니다.이 워킹 그룹은 Cavium Networks의 Rajan Goyal과 Nokia Networks의 Surender Kumar가 의장을 맡고 있습니다.
  • Open Asymmetric Multi Processing(OpenAMP) 작업 그룹은 API의 표준화, 사양에 대한 자세한 문서 제공 및 OpenAMP의 기능 확장에 초점을 맞출 것입니다.이 작업 그룹은 Xilinx의 Tomas Evensen이 의장을 맡고 있습니다.

오픈AMP

OpenAMP 멀티코어 프레임워크는 대칭형 [2]멀티프로세서 시스템의 OpenMP와 유사한 비대칭 [1]멀티프로세서(AMP) 시스템 애플리케이션 소프트웨어를 개발하기 위한 오픈 소스 프레임워크입니다.

OpenAMP 멀티코어 프레임워크에는 여러 가지 구현이 있으며, 각각은 Open을 통한 다른 모든 구현과 상호 운용을 의도하고 있습니다.AMP API원래 Xilinx Zynq용으로 개발된 멀티코어 프레임워크의 구현 중 하나는 오픈 소싱되었습니다.AMP 오픈 소스 프로젝트.[3][4]MEMF(Mentor Embedded Multicore Framework)는 Open의 독자 구현입니다.AMP [4]규격

오픈AMP API 표준은 Multicore Association [4]산하에 관리됩니다.

레퍼런스

  1. ^ "오픈AMP"
  2. ^ 펑장."첨단 산업 제어 기술", 페이지 210.
  3. ^ "오픈 앰프 저장소"
  4. ^ a b c 펠릭스 바움, 아르빈드 라구라만"신흥 ARM 기반 이기종 멀티코어 SoC의 활용."제8회 임베디드 실시간 소프트웨어 및 시스템 관련 유럽회의(ERTS 2016), 2016년 1월, 프랑스 툴루즈.ffhal-01292325

외부 링크