Code Generation and Global Optimization Techniques for a Reconfigurable PRAM-NUMA Multicore Architecture
2014 (English)Licentiate thesis, monograph (Other academic)
In this thesis we describe techniques for code generation and global optimization for a PRAM-NUMA multicore architecture. We specifically focus on the REPLICA architecture which is a family massively multithreaded very long instruction word (VLIW) chip multiprocessors with chained functional units that has a reconfigurable emulated shared on-chip memory. The on-ship memory system supports two execution modes, PRAM and NUMA, which can be switched between at run-time.PRAM mode is considered the standard execution mode and targets mainly applications with very high thread level parallelism (TLP). In contrast, NUMA mode is optimized for sequential legacy applications and applications with low amount of TLP. Different versions of the REPLICA architecture have different number of cores, hardware threads and functional units. In order to utilize the REPLICA architecture efficiently we have made several contributionsto the development of a compiler for REPLICA target code generation. It supports both code generation for PRAM mode and NUMA mode and can generate code for different versions of the processor pipeline (i.e. for different numbers of functional units). It includes optimization phases to increase the utilization of the available functional units. We have also contributed to quantitative the evaluation of PRAM and NUMA mode. The results show that PRAM mode often suits programs with irregular memory access patterns and control flow best while NUMA mode suites regular programs better. However, for a particular program it is not always obvious which mode, PRAM or NUMA, will show best performance. To tackle this we contributed a case study for generic stencil computations, using machine learning derived cost models in order to automatically select at runtime which mode to execute in. We extended this to also include a sequence of kernels.
Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2014. , 101 p.
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 1688
PRAM; NUMA; multicore; reconfigurable; code generation; optimized composition;
Computer and Information Science
IdentifiersURN: urn:nbn:se:liu:diva-111333DOI: 10.3384/lic.diva-111333ISBN: 978-91-7519-189-8 (print)OAI: oai:DiVA.org:liu-111333DiVA: diva2:761347
2014-12-16, Alan Turing, Hus E, Campus Valla,Linköpings universitet, Linköping, 13:15 (English)
Natvig, Lasse, Professor
Kessler, Christoph, Professor