메모리 레벨의 병렬 처리

Memory-level parallelism

메모리 레벨 병렬화(MLP)는 컴퓨터 아키텍처에서 보류 중인 여러 메모리 작업, 특히 캐시 누락 또는 변환 룩사이드 버퍼(TLB) 누락이 동시에 발생할 수 있는 기능을 가리키는 용어입니다.

단일 프로세서에서 MLP는 명령 수준 병렬 처리(ILP)의 한 형태로 간주될 수 있습니다.단, ILP는 여러 명령을 동시에 실행할 수 있는 슈퍼스칼라와 결합되는 경우가 많습니다.예를 들어 인텔 Pentium Pro 등의 프로세서는 5웨이 슈퍼스칼라로, 5가지 마이크로 명령 실행을 시작할 수 있지만 최대 20가지 다른 부하에 대해 4가지 캐시 오류를 처리할 수 있습니다.언제든지 마이크로 명령어를 사용할 수 있습니다.

슈퍼스칼라는 아니지만 MLP가 높은 머신을 가질 수 있습니다.

ILP가 없고 슈퍼스칼라는 아니지만 파이프라인 이외의 방법으로 한 번에 1개의 명령을 실행하지만 하드웨어 프리페치(소프트웨어 명령 수준의 프리페치 아님)를 실행하는 머신에서는 MLP(미처리된 여러 프리페치에 의해)가 표시되지만 ILP는 표시되지 않습니다.이는 미결 메모리 조작이 여러 개 존재하지만 명령은 존재하지 않기 때문입니다.명령은 종종 조작과 결합됩니다.

또한 멀티프로세서 및 멀티스레드 컴퓨터 시스템은 병렬로 인해 MLP와 ILP를 나타낸다고 할 수 있지만 스레드 내, 단일 프로세스, ILP 및 MLP가 아닙니다.단, MLP와 ILP라는 용어는 종종 비병렬 단일 스레드 코드로부터 그러한 병렬성을 추출하는 것을 가리키도록 제한합니다.

「 」를 참조해 주세요.

레퍼런스

  • Glew, A. (1998). "MLP yes! ILP no!". ASPLOS Wild and Crazy Idea Session '98. Wild and Crazy Ideas (WACI) I. ASPLOS VIII. (abstract / slides) {{cite conference}}:외부 링크 postscript=(도움말)CS1 유지보수: 포스트스크립트(링크)
  • Ronen, R.; Mendelson, A.; Lai, K.; Shih-Lien Lu; Pollack, F.; Shen, J. P. (2001). "Coming challenges in microarchitecture and architecture". Proc. IEEE. 89 (3): 325–340. CiteSeerX 10.1.1.136.5349. doi:10.1109/5.915377.
  • Zhou, H.; Conte, T. M. (2003). "Enhancing memory level parallelism via recovery-free value prediction". Proceedings of the 17th annual international conference on Supercomputing. ICS'03. pp. 326–335. CiteSeerX 10.1.1.14.4405. doi:10.1145/782814.782859. ISBN 1-58113-733-8.
  • Yuan Chou; Fahs, B.; Abraham, S. (2004). "Microarchitecture optimizations for exploiting memory-level parallelism". Proceedings. 31st Annual International Symposium on Computer Architecture, 2004. ISCA'04. pp. 76–87. CiteSeerX 10.1.1.534.6032. doi:10.1109/ISCA.2004.1310765. ISBN 0-7695-2143-6.
  • Qureshi, M. K.; Lynch, D. N.; Mutlu, O.; Patt, Y. N. (2006). "A Case for MLP-Aware Cache Replacement". 33rd International Symposium on Computer Architecture. ISCA'06. pp. 167–178. CiteSeerX 10.1.1.94.4663. doi:10.1109/ISCA.2006.5. ISBN 0-7695-2608-X.
  • Van Craeynest, K.; Eyerman, S.; Eeckhout, L. (2009). "MLP-Aware Runahead Threads in a Simultaneous Multithreading Processor". High Performance Embedded Architectures and Compilers. HiPEAC 2009. LNCS. Vol. 5409. pp. 110–124. CiteSeerX 10.1.1.214.3261. doi:10.1007/978-3-540-92990-1_10. ISBN 978-3-540-92989-5.