Abstract
With growing numbers of cores, the memory subsystem of manycore architectures increases in complexity. Many modern multicores are designed in a hierarchical fashion, with multiple clusters of processing elements. However, most algorithms for design-space exploration of resource allocation in multicores do not consider these complex topologies, which results in poor scaling, or worse, non-functioning algorithms. In this paper we present mpsym, a C++ library designed to alleviate this problem in an algorithm-agnostic fashion. Using methods from computational group theory, we present domain-specific algorithms to improve design-space exploration in hierarchical architecture topologies. We evaluate mpsym on multiple designspace exploration algorithms from literature. Without modifying the algorithm, our methods improve the execution time by a factor up to 8:6× on the E3S benchmark suite for complex, clustered architecture topologies. Similarly, by pruning the design space, our methods consistently improve the result of the exploration. In particular, the results from a simulated annealing heuristic on the Kalray MPPA3 Coolidge topology are over 30× better on average, while requiring less time to explore.
Original language | English |
---|---|
Pages (from-to) | 1592-1605 |
Number of pages | 14 |
Journal | IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems |
Volume | 41 |
Issue number | 6 |
Early online date | 4 Aug 2021 |
DOIs | |
Publication status | Published - 1 Jun 2022 |
Keywords / Materials (for Non-textual outputs)
- Computer aided software engineering
- design automation
- design-space exploration (DSE)
- symmetries
- system on chip