이 논문은 Dynamic Simultaneous Multithreaded Architecture(DSMT)를 제안한다. DSMT는 SMT 프로세서에서 다중 독립 프로그램을 실행할 수 있을 뿐만 아니라, 단일 프로그램에서도 TLP와 ILP를 효과적으로 활용할 수 있다.
DSMT는 루프 반복을 동적으로 스레드화하고 스펙큘레이션 기법을 사용하여 스레드 간 의존성을 예측하고 해결한다. 비 스펙큘레이션 실행 단계에서 얻은 데이터를 활용하여 다중 스레드의 후속 동작을 추측한다. DSMT는 레지스터와 메모리의 스레드 간 의존성을 추적하고 스레드 실행을 동기화하며 잘못된 추측을 복구하기 위한 간단한 메커니즘을 사용한다. 또한 DSMT는 과거 실행 이력을 기반으로 최고의 성능을 제공하는 코드 섹션을 선택하는 새로운 탐욕적 정책을 활용한다.
시뮬레이션 결과, DSMT는 단일 프로그램 환경에서도 SMT 성능을 크게 향상시킬 수 있음을 보여준다. 그러나 동적 스레드 동작과 잦은 잘못된 추측으로 인해 성능이 저하될 수 있다는 점도 확인했다. 따라서 DSMT가 활용할 수 있는 스레드 수준 병렬성을 최대화하면서도 잘못된 추측을 줄이는 것이 과제이다.
إلى لغة أخرى
من محتوى المصدر
arxiv.org
الرؤى الأساسية المستخلصة من
by Daniel Ortiz... في arxiv.org 09-13-2024
https://arxiv.org/pdf/2409.07903.pdfاستفسارات أعمق