Exploring parallelization techniques based on OpenMP in H.264/AVC encoder for embedded multi-core processor

Seongmin Jo, Song Hyun Jo, Yong Ho Song

Research output: Contribution to journalArticle

5 Citations (Scopus)

Abstract

Recent advances in semiconductor technologies make it possible to integrate many processor cores in a small device package. The parallel execution capability of such multi-core processors can be exploited to enhance the performance of many traditional sequential applications. There have been numerous research activities to develop parallelization techniques using the OpenMp programming model, in order to speed up sequential applications such as the H.264/AVC codec, but mostly in the PC environment. Therefore, it is difficult to understand which parallelization technique fits well with the H.264/AVC encoder on an embedded multi-core architecture. In this paper, we present parallelization techniques applicable to the H.264/AVC encoder on ARM MPCore using the OpenMP programming model. Further, we propose an analytical model for the performance estimation of the H.264/AVC encoder, and we then verify the model accuracy by performing simulations using hardware/software co-verification tool. Our experimental results show that the parallelization techniques proposed in this paper for the embedded multi-core platform improve the encoder performance by up to 2.36 times, and that the parallelization technique exploiting data-level parallelism outperforms the one using task-level parallelism by 41%. It is also observed that balancing loads among processor cores is a critical parameter in achieving better scalability in the encoder.

Original languageEnglish
Pages (from-to)339-353
Number of pages15
JournalJournal of Systems Architecture
Volume58
Issue number9
DOIs
StatePublished - 2012 Oct 1

Fingerprint

Resource allocation
Scalability
Analytical models
Semiconductor materials
Hardware

Keywords

  • Design exploration
  • Embedded system
  • Multi-core processor
  • Multimedia codec
  • Parallel programming

Cite this

@article{801c9ac8a9fc4cc4b0a6a437811636f7,
title = "Exploring parallelization techniques based on OpenMP in H.264/AVC encoder for embedded multi-core processor",
abstract = "Recent advances in semiconductor technologies make it possible to integrate many processor cores in a small device package. The parallel execution capability of such multi-core processors can be exploited to enhance the performance of many traditional sequential applications. There have been numerous research activities to develop parallelization techniques using the OpenMp programming model, in order to speed up sequential applications such as the H.264/AVC codec, but mostly in the PC environment. Therefore, it is difficult to understand which parallelization technique fits well with the H.264/AVC encoder on an embedded multi-core architecture. In this paper, we present parallelization techniques applicable to the H.264/AVC encoder on ARM MPCore using the OpenMP programming model. Further, we propose an analytical model for the performance estimation of the H.264/AVC encoder, and we then verify the model accuracy by performing simulations using hardware/software co-verification tool. Our experimental results show that the parallelization techniques proposed in this paper for the embedded multi-core platform improve the encoder performance by up to 2.36 times, and that the parallelization technique exploiting data-level parallelism outperforms the one using task-level parallelism by 41{\%}. It is also observed that balancing loads among processor cores is a critical parameter in achieving better scalability in the encoder.",
keywords = "Design exploration, Embedded system, Multi-core processor, Multimedia codec, Parallel programming",
author = "Seongmin Jo and Jo, {Song Hyun} and Song, {Yong Ho}",
year = "2012",
month = "10",
day = "1",
doi = "10.1016/j.sysarc.2012.06.005",
language = "English",
volume = "58",
pages = "339--353",
journal = "Journal of Systems Architecture",
issn = "1383-7621",
number = "9",

}

Exploring parallelization techniques based on OpenMP in H.264/AVC encoder for embedded multi-core processor. / Jo, Seongmin; Jo, Song Hyun; Song, Yong Ho.

In: Journal of Systems Architecture, Vol. 58, No. 9, 01.10.2012, p. 339-353.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Exploring parallelization techniques based on OpenMP in H.264/AVC encoder for embedded multi-core processor

AU - Jo, Seongmin

AU - Jo, Song Hyun

AU - Song, Yong Ho

PY - 2012/10/1

Y1 - 2012/10/1

N2 - Recent advances in semiconductor technologies make it possible to integrate many processor cores in a small device package. The parallel execution capability of such multi-core processors can be exploited to enhance the performance of many traditional sequential applications. There have been numerous research activities to develop parallelization techniques using the OpenMp programming model, in order to speed up sequential applications such as the H.264/AVC codec, but mostly in the PC environment. Therefore, it is difficult to understand which parallelization technique fits well with the H.264/AVC encoder on an embedded multi-core architecture. In this paper, we present parallelization techniques applicable to the H.264/AVC encoder on ARM MPCore using the OpenMP programming model. Further, we propose an analytical model for the performance estimation of the H.264/AVC encoder, and we then verify the model accuracy by performing simulations using hardware/software co-verification tool. Our experimental results show that the parallelization techniques proposed in this paper for the embedded multi-core platform improve the encoder performance by up to 2.36 times, and that the parallelization technique exploiting data-level parallelism outperforms the one using task-level parallelism by 41%. It is also observed that balancing loads among processor cores is a critical parameter in achieving better scalability in the encoder.

AB - Recent advances in semiconductor technologies make it possible to integrate many processor cores in a small device package. The parallel execution capability of such multi-core processors can be exploited to enhance the performance of many traditional sequential applications. There have been numerous research activities to develop parallelization techniques using the OpenMp programming model, in order to speed up sequential applications such as the H.264/AVC codec, but mostly in the PC environment. Therefore, it is difficult to understand which parallelization technique fits well with the H.264/AVC encoder on an embedded multi-core architecture. In this paper, we present parallelization techniques applicable to the H.264/AVC encoder on ARM MPCore using the OpenMP programming model. Further, we propose an analytical model for the performance estimation of the H.264/AVC encoder, and we then verify the model accuracy by performing simulations using hardware/software co-verification tool. Our experimental results show that the parallelization techniques proposed in this paper for the embedded multi-core platform improve the encoder performance by up to 2.36 times, and that the parallelization technique exploiting data-level parallelism outperforms the one using task-level parallelism by 41%. It is also observed that balancing loads among processor cores is a critical parameter in achieving better scalability in the encoder.

KW - Design exploration

KW - Embedded system

KW - Multi-core processor

KW - Multimedia codec

KW - Parallel programming

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

U2 - 10.1016/j.sysarc.2012.06.005

DO - 10.1016/j.sysarc.2012.06.005

M3 - Article

AN - SCOPUS:84866092127

VL - 58

SP - 339

EP - 353

JO - Journal of Systems Architecture

JF - Journal of Systems Architecture

SN - 1383-7621

IS - 9

ER -