An optimal allocation of memory buffers for complex multicore platforms
Research output: Contribution to journal › Research article › Contributed › peer-review
Contributors
Abstract
In deeply embedded heterogeneous multicores the allocation of data to memories is crucial for application performance. For applications with stringent throughput constraints, the allocation is often done manually by carefully assigning static memory locations to the logical buffers of the application. Today, designers are confronted with applications with thousands of buffers and architectures with hundreds of memories, rendering manual approaches impractical. In this paper we present an automatic approach for statically allocating logical buffers to physical memories, assuming a fixed task-to-processor mapping and respecting multiple throughput constraints. In our approach, we model the application in a data-centric way, by explicitly defining buffers and associating computational tasks that access the buffers within well-specified time intervals. Besides, we use an architecture model that allows to perform an allocation that is aware of the topology of the multicore and the physical bandwidth constraints of the interconnect. We present a layered approach to describe and solve the buffer-allocation problem as well as related subproblems, using mixed-integer linear programming. We show that the buffer-allocation problem is NP-complete, and present a more scalable formulation as a semi-definite programming problem. We evaluate the proposed LP methods by allocating around 1000 buffers corresponding to processing one frame in the Long-Term Evolution (LTE) standard, onto a multicore with 80 processing elements. We introduce a solution approach that allowed to find an optimal allocation in around 2 hours, which is at least two orders of magnitude faster than a straightforward formulation.
Details
Original language | English |
---|---|
Pages (from-to) | 69-83 |
Number of pages | 15 |
Journal | Journal of Systems Architecture |
Volume | 66-67 |
Publication status | Published - 20 Mar 2015 |
Peer-reviewed | Yes |
External IDs
ORCID | /0000-0002-5007-445X/work/141545579 |
---|
Keywords
Research priority areas of TU Dresden
ASJC Scopus subject areas
Keywords
- Memory and buffer allocation, Mixed integer linear programming, MPSoC, Multicore, Optimization