An optimal allocation of memory buffers for complex multicore platforms

Research output: Contribution to journalResearch articleContributedpeer-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 languageEnglish
Pages (from-to)69-83
Number of pages15
JournalJournal of Systems Architecture
Volume66-67
Publication statusPublished - 20 Mar 2015
Peer-reviewedYes

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

Library keywords