Skip to main content
QUICK REVIEW

[논문 리뷰] Microgrid - The microthreaded many-core architecture

M. Irfan Uddin|arXiv (Cornell University)|2013. 09. 21.
Parallel Computing and Optimization Techniques참고 문헌 28인용 수 4
한 줄 요약

논문은 마이크로스레딩 모델에 기반한 마이크로그리드를 제안한다—이것은 미세한 병행성과 하드웨어에 의해 관리되는 동시성을 가능하게 하는 하이브리드 바나치-뉴먼/데이터플로우 실행 모델이다. 하드웨어 스케줄링 스레드, 비동기 완료, 레지스터 기반 통신을 통해 마이크로그리드는 고지연 시간 내성과 고처리량을 달성하며, 단일 문제 조건 하에서 주기당 한 명령어에 가까운 성능을 낼 수 있다.

ABSTRACT

Traditional processors use the von Neumann execution model, some other processors in the past have used the dataflow execution model. A combination of von Neuman model and dataflow model is also tried in the past and the resultant model is referred as hybrid dataflow execution model. We describe a hybrid dataflow model known as the microthreading. It provides constructs for creation, synchronization and communication between threads in an intermediate language. The microthreading model is an abstract programming and machine model for many-core architecture. A particular instance of this model is named as the microthreaded architecture or the Microgrid. This architecture implements all the concurrency constructs of the microthreading model in the hardware with the management of these constructs in the hardware.

연구 동기 및 목표

  • 대규모 병행성 이용에서 전통적인 바나치-뉴먼 모델과 데이터플로우 모델의 한계를 해결한다.
  • 일반화된 데이터플로우 모델에서의 대규모 매칭 스토어 문제를 해결하기 위해, 구조화된 스레드 패밀리를 포함한 하이브리드 모델을 도입한다.
  • 하드웨어 수준에서 동적 스레드 생성, 동기화, 통신을 네이티브로 지원하는 마이티코어 아키텍처를 설계한다.
  • 하드웨어 다중 스레딩과 메모리 및 부동소수점 연산의 비동기 완료를 통해 효율적인 지연 시간 내성 능력을 제공한다.
  • 최대 10,000개의 코어와 100만 개의 스레드를 지원하는 미래의 마이티코어 시스템을 위한 확장 가능하고 조합 가능한 실행 모델을 제공한다.

제안 방법

  • 스레드 내에서 순차적 명령어 실행(바나치-뉴먼)과 스레드 실행을 위한 데이터플로우 기반 스케줄링을 조합한 하이브리드 실행 모델을 채택한다.
  • 루프 또는 함수 호출과 유사한 계층적이고 조합 가능한 단위인 '스레드 패밀리'를 도입하여 구조화된 병행성을 가능하게 한다.
  • 모든 병행성 구조—생성, 동기화, 통신—을 전용 레지스터(글로벌, 로컬, 공유, 종속)를 사용해 하드웨어 수준에서 직접 구현한다.
  • 독립적인 스레드 패밀리를 코어 간에 분산시키기 위해 딜리게이션 네트워크를 사용하며, 동적 로드 밸런싱과 컨텍스트 재사용을 지원한다.
  • 한 번에 한 코어당 제한된 수의 스레드만 활성화되는 윈도우 기반 실행 모델을 적용하여 자원 활용도를 향상시킨다.
  • 일반 목적 코어와 분리되어 비동기적으로 I/O를 관리할 수 있도록 확장된 명령어 집합을 갖춘 전용 I/O 코어를 설계한다.

실험 결과

연구 질문

  • RQ1하이브리드 실행 모델은 바나치-뉴먼의 단순성과 데이터플로우의 병행성 특성을 어떻게 조합하여 마이티코어 확장성을 향상시킬 수 있는가?
  • RQ2마이티코어 시스템에서 미세한 병행성과 비동기 스레드 실행을 효과적으로 관리하는 가장 좋은 방법은 무엇인가?
  • RQ3스케일링을 고려할 때 하드웨어에 의해 관리되는 스레드 생성, 동기화, 통신은 어떻게 효율적으로 구현할 수 있는가?
  • RQ4소프트웨어 스레드 스케줄링에 의존하지 않고도 고지연 시간 내성을 어떻게 달성할 수 있는가?
  • RQ5분산되고 확장 가능한 마이티코어 환경에서 I/O 연산은 어떻게 효율적으로 오프로드하고 관리할 수 있는가?

주요 결과

  • 마이크로스레딩 모델은 스레드를 하드웨어 수준의 첫 번째 엔티티로 간주함으로써 소프트웨어 오버헤드를 줄이며, 미세한 병행성과 하드웨어에 의한 관리가 가능해진다.
  • 메모리 및 부동소수점 연산의 비동기 완료를 통해 스레드를 파이pline 리셋 없이 일시정지 및 재개할 수 있어 지연 시간 내성 능력이 향상된다.
  • 레지스터 기반 통신(글로벌, 공유, 종속)을 사용함으로써 패밀리 내 스레드 간에 효율적이고 저지연 시간 동기화 및 데이터 교환을 달성할 수 있다.
  • 독립적인 스레드 패밀리가 코어 간에 균일하게 분포되며 윈도우 크기 제한(예: 5)이 적용되어 스레드 컨텍스트의 동적 재사용과 효율적인 자원 활용이 가능하다.
  • 단일 문제 조건 하에서 이론적으로 주기당 한 명령어의 처리량을 달성하며, 공격적인 지연 시간 숨기기 전략을 통해 RISC 이상의 성능에 가까운 성능을 낼 수 있다.
  • 확장된 명령어 집합을 갖춘 전용 I/O 코어는 I/O 연산을 독립적으로 관리하여 일반 계산과 분리하고 시스템의 확장성을 향상시킨다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.