An optimal allocation of memory buffers for complex multicore platforms

Publikation: Beitrag in FachzeitschriftForschungsartikelBeigetragenBegutachtung

Beitragende

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

OriginalspracheEnglisch
Seiten (von - bis)69-83
Seitenumfang15
FachzeitschriftJournal of Systems Architecture
Jahrgang66-67
PublikationsstatusVeröffentlicht - 20 März 2015
Peer-Review-StatusJa

Externe IDs

ORCID /0000-0002-5007-445X/work/141545579

Schlagworte

Forschungsprofillinien der TU Dresden

ASJC Scopus Sachgebiete

Schlagwörter

  • Memory and buffer allocation, Mixed integer linear programming, MPSoC, Multicore, Optimization

Bibliotheksschlagworte