이종 컴퓨팅

Heterogeneous computing

이기종 컴퓨팅은 여러 종류의 프로세서 또는 코어를 사용하는 시스템을 말합니다.이러한 시스템은, 같은 타입의 프로세서를 추가하는 것 뿐만이 아니라, 다른 코프로세서를 추가하는 것으로 퍼포먼스나 에너지 효율을 얻을 수 있습니다.보통 특정의 [1]태스크를 처리하기 위한 특수한 처리 기능을 탑재하고 있습니다.

이질성

referred[언제?]컴퓨팅의 맥락에서 다른 instruction-set는 아키텍처에 보통 이질성의 주된 프로세서 하나와 다른 프로세서-또 다른 보통 매우 다른-구조(아마도 한대 이상)의 문제일 뿐만 아니라 다른 마이크로 아키텍처 이(부동 소수 점 수 처리는 특별한 경우- 가지고 있(ISA). 아니usu이종(異種)이라고 불립니다.

현대적인 예 중에 지난 이종 컴퓨팅을 의미하는 것에서 다른 ISAs 다르게 처리되어야 했고, Heterogeneous 시스템 건축는 동안(일반적으로 CPU및 GPUs), 같은 집적 회로 대개, 두 세계의:유전자 최고의 제공하기 위해 다중 처리기 형식을 사용하여 systems[2](는 사용자를 위한)은 차이를 없애주(사람 혈청 알부민).매독GPU 프로세싱(GPU의 유명한 3D 그래픽 렌더링 기능과는 별도로 매우 큰 데이터 세트에서도 수학적으로 부하가 높은 계산을 실행할 수 있습니다)은 CPU로 운영체제를 실행하고 기존의 시리얼 태스크를 실행할 수 있습니다.

제조 테크놀로지의 추가 확장에 의해 이전의 개별 컴포넌트를 시스템 칩(SoC)[citation needed]의 통합 부품으로 만들 수 있게 되면서 현대 컴퓨팅 시스템의 이질성 수준은 점차 높아지고 있습니다.예를 들어 많은 새로운 프로세서에는 다른 디바이스(SATA, PCI, 이더넷, USB, RFID, 라디오, UART, 메모리 컨트롤러)와의 인터페이스용 내장 로직과 더불어 프로그래머블 기능 유닛 및 하드웨어 액셀러레이터(GPU, 암호화 코프로세서, 프로그래머블 네트워크 프로세서, A/V 인코더 등)가 포함되어 있습니다.

최근의 조사 결과에 따르면 여러 ISA가 제공하는 다양성을 활용하는 이기종 ISA 칩 멀티프로세서는 23%의 에너지 절감과 32%의 에너지 지연 제품(EDP)[3] 절감으로 최고의 동일한 ISA 동종 아키텍처를 21% 능가할 수 있습니다.AMD는 2014년 핀 호환 ARM과 x86 SoC(코드네임 Project Skybridge)[4]에 대해 발표하면서 이종 ISA(ARM+x86) 칩 멀티프로세서를 [citation needed]제안했습니다.

이기종 CPU 토폴로지

이기종 CPU 토폴로지를 사용하는 시스템은 동일한 ISA를 사용하지만 코어 자체는 [5]속도가 다릅니다.이 설정은 대칭형 멀티프로세서와 더 유사합니다(이러한 시스템은 기술적으로 비대칭 멀티프로세서이지만 코어는 역할이나 디바이스 액세스에 차이가 없습니다).코어의 종류에는 일반적으로 "빅" 또는 "P-코어"라고 불리는 고성능 코어와 "스몰" 또는 "E-코어"라고 불리는 전력 효율이 높은 코어가 있습니다.

이러한 토폴로지의 일반적인 용도는 모바일 SoC에서 더 나은 전력 효율을 제공하는 것입니다.

  • ARM이 커요.LITTLE(다이나믹이 승계)IQ)는 더 빠른 고출력 코어와 더 느린 저전력 [6]코어가 결합된 프로토타입 케이스입니다.
  • 애플은 비슷한 조직으로 애플 실리콘 ARM 코어를 생산했다.
  • 인텔은 또한 코드네임 Lakefield로 명명된 하이브리드 x86-64 코어를 생산하고 있지만 명령어 세트 지원에 큰 제약이 없는 것은 아닙니다.새로운 Alder Lake는 "작은" 코어에 명령 세트 지원을 더 많이 추가하여 희생을 줄입니다.

과제들

이기종 컴퓨팅 시스템은 일반적인 동종 시스템에서는 [7]볼 수 없는 새로운 과제를 제시합니다.복수의 처리 요소가 존재하면 동종의 병렬 처리 시스템과 관련된 모든 문제가 발생하지만, 시스템의 이질성 수준은 시스템 개발, 프로그래밍 관행 및 전체적인 시스템 기능에 불균형을 초래할 수 있습니다.이질성이 있는 영역은 다음과 같습니다.[8]

ISA 또는 명령 집합 아키텍처
계산 요소마다 명령 집합 아키텍처가 다를 수 있으므로 바이너리 비호환성이 발생할 수 있습니다.
ABI 또는 응용 프로그램 바이너리 인터페이스
계산 요소는 메모리를 다른 [9]방식으로 해석할 수 있습니다.여기에는 endianness, 호출 규칙 및 메모리 레이아웃이 모두 포함될 수 있으며 사용하는 아키텍처와 컴파일러에 따라 달라집니다.
API 또는 애플리케이션 프로그래밍 인터페이스
라이브러리와 OS 서비스를 모든 컴퓨팅 [10]요소에 균일하게 사용할 수 있는 것은 아닙니다.
언어 기능의 저수준 구현
함수나 스레드 등의 언어 기능은 종종 함수 포인터를 사용하여 구현됩니다.이는 이기종 환경에서 사용할 때 추가 번역 또는 추상화가 필요한 메커니즘입니다.
메모리 인터페이스 및 계층
계산 요소는 캐시 구조, 캐시 일관성 프로토콜이 다를 수 있으며 메모리 액세스는 균일하거나 NUMA(Non-Uniform Memory Access)일 수 있습니다.또한 일부 프로세서/유닛은 바이트, 워드 또는 버스트 액세스만 수행할 수 있으므로 임의 데이터 길이를 읽는 기능에서도 차이를 찾을 수 있습니다.
상호 접속
컴퓨팅 요소에는 기본 메모리/버스 인터페이스 외에 다른 유형의 상호 연결이 있을 수 있습니다.여기에는 전용 네트워크 인터페이스, Direct Memory Access(DMA; 다이렉트메모리 액세스) 디바이스, 우편함, FIFO, 스크래치패드 메모리 등이 포함됩니다.또한 이기종 시스템의 특정 부분은 캐시 일관성이 있는 반면, 다른 부분은 일관성과 일관성을 유지하기 위해 명시적인 소프트웨어 개입을 요구할 수 있습니다.
성능
이기종 시스템에는 아키텍처는 동일하지만 마이크로 아키텍처의 근본적인 차이가 있어 다양한 수준의 퍼포먼스와 소비전력이 발생할 수 있습니다.불투명한 프로그래밍 모델 및 운영 체제 추상화와 결합된 기능의 비대칭성으로 인해 특히 혼합 워크로드에서 성능 예측 가능성 문제가 발생할 수 있습니다.
데이터 파티셔닝
동종 플랫폼에서의 데이터 파티셔닝은 보통 사소한 일이지만, 일반적인 이종의 경우 문제는 [11]NP-Complete인 것으로 나타났습니다.소수의 파티션에 대해서는 부하를 완벽하게 분산하고 통신량을 최소화하는 최적의 파티션이 존재하는 것으로 나타났습니다.[12]

하드웨어 예시

하이엔드 서버나 고성능 컴퓨팅 머신으로부터 휴대 전화나 태블릿등의 저전력 임베디드 디바이스에 이르기까지, 컴퓨팅의 모든 영역에서 이종 컴퓨팅 하드웨어가 이용되고 있습니다.

  • 하이 퍼포먼스 컴퓨팅
  • 임베디드 시스템(DSP 및 모바일 플랫폼)
  • 재구성 가능한 컴퓨팅
  • 네트워킹
    • 인텔 IXP 네트워크 프로세서
    • Netronome NFP 네트워크 프로세서
  • 범용 컴퓨팅, 게임 및 엔터테인먼트 기기
    • 인텔 Sandy Bridge, Ivy Bridge 및 Haswell CPU (Ivy Bridge 이후 GPU 내장, OpenCL 지원)
    • AMD Excluverator 및 Ryzen APU(내장 GPU, OpenCL 지원)
    • IBMCell, PlayStation 3(Vector 코프로세서)[13]에 탑재되어 있습니다.
      • IBM Cell 프로세서의 변형인 SpursEngine
    • PlayStation 2(벡터 및 미디어 코프로세서)에 있는 Emotion 엔진
    • ARMBIG.LITTLE/DynamicIQ CPU 아키텍처(이질적인 토폴로지)
      • ARM, Qualcomm, Nvidia, Apple, Samsung, HiSilicon, MediaTek 등 거의 모든 ARM 벤더가 이종 솔루션을 제공하고 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Shan, Amar (2006). Heterogeneous Processing: a Strategy for Augmenting Moore's Law. Linux Journal.
  2. ^ "Hetergeneous System Architecture (HSA) Foundation". Archived from the original on 2014-04-23. Retrieved 2014-11-01.
  3. ^ Venkat, Ashish; Tullsen, Dean M. (2014). Harnessing ISA Diversity: Design of a Heterogeneous-ISA Chip Multiprocessor. Proceedings of the 41st Annual International Symposium on Computer Architecture.
  4. ^ Anand Lal Shimpi (2014-05-05). "AMD Announces Project SkyBridge: Pin-Compatible ARM and x86 SoCs in 2015, Android Support". AnandTech. Retrieved 2017-06-11. Next year, AMD will release a low-power 20nm Cortex A57 based SoC with integrated Graphics Core Next GPU.
  5. ^ "Energy Aware Scheduling". The Linux Kernel documentation.
  6. ^ 비대칭 멀티코어 프로세서의 설계관리를 위한 기술 조사, ACM Computing Survey, 2015.
  7. ^ Kunzman, D.M. (2011). Programming Heterogeneous Systems. International Symposium on Parallel and Distributed Processing Workshops. doi:10.1109/IPDPS.2011.377.
  8. ^ Flachs, Brian (2009). Bringing Heterogeneous Processors Into The Mainstream (PDF). Symposium on Application Accelerators in High-Performance Computing (SAAHPC).
  9. ^ "Cost-aware multimedia data allocation for heterogeneous memory using genetic algorithm in cloud computing" (PDF). IEEE. 2016. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  10. ^ Agron, Jason; Andrews, David (2009). Hardware Microkernels for Heterogeneous Manycore Systems. Parallel Processing Workshops, 2009. International Conference on Parallel Processing (ICPPW). doi:10.1109/ICPPW.2009.21.
  11. ^ Beaumont, Olivier; Boudet, Vincent; Rastello, Fabrice; Robert, Yves (August 2002). "Partitioning a square into rectangles: NP-completeness and approximation algorithms" (PDF). Algorithmica. 34 (3): 217–239. CiteSeerX 10.1.1.3.4967. doi:10.1007/s00453-002-0962-9. S2CID 9729067.
  12. ^ Beaumont, Olivier; Becker, Brett; DeFlumere, Ashley; Eyraud-Dubois, Lionel; Lastovetsky, Alexey (July 2018). "Recent Advances in Matrix Partitioning for Parallel Computing on Heterogeneous Platforms" (PDF). IEEE Transactions on Parallel and Distributed Computing.
  13. ^ Gschwind, Michael (2005). A novel SIMD architecture for the Cell heterogeneous chip-multiprocessor (PDF). Hot Chips: A Symposium on High Performance Chips. Archived from the original (PDF) on 2020-06-18. Retrieved 2014-10-28.