A software-only scheme for managing heap data on limited local memory(LLM) multicore processors

Research output: Contribution to journalArticle

3 Citations (Scopus)

Abstract

This article presents a scheme for managing heap data in the local memory present in each core of a limited local memory (LLM) multicore architecture. Although managing heap data semi-automatically with software cache is feasible, it may require modifications of other thread codes. Crossthread modifications are very difficult to code and debug, and will become more complex and challenging as we increase the number of cores. In this article, we propose an intuitive programming interface, which is an automatic and scalable scheme for heap data management. Besides, for embedded applications, where the maximum heap size can be profiled, we propose several optimizations on our heap management to significantly decrease the library overheads. Our experiments on several benchmarks from MiBench executing on the Sony Playstation 3 show that our scheme is natural to use, and if we know the maximum size of heap data, our optimizations can improve application performance by an average of 14%.

Original languageEnglish (US)
Article number5
JournalTransactions on Embedded Computing Systems
Volume13
Issue number1
DOIs
StatePublished - Aug 2013

Fingerprint

Data storage equipment
Information management
Experiments

Keywords

  • Embedded systems
  • Heap data
  • IBM Cell BE
  • Local memory
  • MPI
  • Multicore processor
  • Scratch pad memory

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Cite this

@article{da854886fa524aef9b22eb341723983f,
title = "A software-only scheme for managing heap data on limited local memory(LLM) multicore processors",
abstract = "This article presents a scheme for managing heap data in the local memory present in each core of a limited local memory (LLM) multicore architecture. Although managing heap data semi-automatically with software cache is feasible, it may require modifications of other thread codes. Crossthread modifications are very difficult to code and debug, and will become more complex and challenging as we increase the number of cores. In this article, we propose an intuitive programming interface, which is an automatic and scalable scheme for heap data management. Besides, for embedded applications, where the maximum heap size can be profiled, we propose several optimizations on our heap management to significantly decrease the library overheads. Our experiments on several benchmarks from MiBench executing on the Sony Playstation 3 show that our scheme is natural to use, and if we know the maximum size of heap data, our optimizations can improve application performance by an average of 14{\%}.",
keywords = "Embedded systems, Heap data, IBM Cell BE, Local memory, MPI, Multicore processor, Scratch pad memory",
author = "Ke Bai and Aviral Shrivastava",
year = "2013",
month = "8",
doi = "10.1145/2501626.2501632",
language = "English (US)",
volume = "13",
journal = "ACM Transactions on Embedded Computing Systems",
issn = "1539-9087",
publisher = "Association for Computing Machinery (ACM)",
number = "1",

}

TY - JOUR

T1 - A software-only scheme for managing heap data on limited local memory(LLM) multicore processors

AU - Bai, Ke

AU - Shrivastava, Aviral

PY - 2013/8

Y1 - 2013/8

N2 - This article presents a scheme for managing heap data in the local memory present in each core of a limited local memory (LLM) multicore architecture. Although managing heap data semi-automatically with software cache is feasible, it may require modifications of other thread codes. Crossthread modifications are very difficult to code and debug, and will become more complex and challenging as we increase the number of cores. In this article, we propose an intuitive programming interface, which is an automatic and scalable scheme for heap data management. Besides, for embedded applications, where the maximum heap size can be profiled, we propose several optimizations on our heap management to significantly decrease the library overheads. Our experiments on several benchmarks from MiBench executing on the Sony Playstation 3 show that our scheme is natural to use, and if we know the maximum size of heap data, our optimizations can improve application performance by an average of 14%.

AB - This article presents a scheme for managing heap data in the local memory present in each core of a limited local memory (LLM) multicore architecture. Although managing heap data semi-automatically with software cache is feasible, it may require modifications of other thread codes. Crossthread modifications are very difficult to code and debug, and will become more complex and challenging as we increase the number of cores. In this article, we propose an intuitive programming interface, which is an automatic and scalable scheme for heap data management. Besides, for embedded applications, where the maximum heap size can be profiled, we propose several optimizations on our heap management to significantly decrease the library overheads. Our experiments on several benchmarks from MiBench executing on the Sony Playstation 3 show that our scheme is natural to use, and if we know the maximum size of heap data, our optimizations can improve application performance by an average of 14%.

KW - Embedded systems

KW - Heap data

KW - IBM Cell BE

KW - Local memory

KW - MPI

KW - Multicore processor

KW - Scratch pad memory

UR - http://www.scopus.com/inward/record.url?scp=84883866164&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84883866164&partnerID=8YFLogxK

U2 - 10.1145/2501626.2501632

DO - 10.1145/2501626.2501632

M3 - Article

AN - SCOPUS:84883866164

VL - 13

JO - ACM Transactions on Embedded Computing Systems

JF - ACM Transactions on Embedded Computing Systems

SN - 1539-9087

IS - 1

M1 - 5

ER -