Programming the FlexRAM parallel intelligent memory system

Basilio B. Fraguela, Jose Renau, Paul Feautrier, David A Padua, Josep Torrellas

Research output: Contribution to conferencePaper

Abstract

In an intelligent memory architecture, the main memory of a computer is enhanced with many simple processors. The result is a highly-parallel, heterogeneous machine that is able to exploit computation in the main memory. While several instantiations of this architecture have been proposed, the question of how to effectively program them with little effort has remained a major challenge. In this paper, we show how to effectively hand-program an intelligent memory architecture at a high level and with very modest effort. We use FlexRAM as a prototype architecture. To program it, we propose a family of high-level compiler directives inspired by OpenMP called CFlex. Such directives enable the processors in memory to execute the program in cooperation with the main processor. In addition, we propose libraries of highly-optimized functions called Intelligent Memory Operations (IMOs). These functions program the processors in memory through CFlex, but make them completely transparent to the programmer. Simulation results show that, with CFlex and IMOs, a server with 64 simple processors in memory runs on average 10 times faster than a conventional server. Moreover, a set of conventional programs with 240 lines on average are transformed into CFlex parallel form with only 7 CFlex directives and 2 additional statements on average.

Original languageEnglish (US)
Pages49-60
Number of pages12
StatePublished - Jul 28 2003
Event2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - San Diego, CA, United States
Duration: Jun 11 2003Jun 13 2003

Other

Other2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
CountryUnited States
CitySan Diego, CA
Period6/11/036/13/03

Fingerprint

Computer programming
Computer systems
Data storage equipment
Memory architecture
Servers

Keywords

  • Compiler directives
  • Intelligent memory architecture
  • Parallel languages
  • Programming heterogeneous computers

ASJC Scopus subject areas

  • Software

Cite this

Fraguela, B. B., Renau, J., Feautrier, P., Padua, D. A., & Torrellas, J. (2003). Programming the FlexRAM parallel intelligent memory system. 49-60. Paper presented at 2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, United States.

Programming the FlexRAM parallel intelligent memory system. / Fraguela, Basilio B.; Renau, Jose; Feautrier, Paul; Padua, David A; Torrellas, Josep.

2003. 49-60 Paper presented at 2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, United States.

Research output: Contribution to conferencePaper

Fraguela, BB, Renau, J, Feautrier, P, Padua, DA & Torrellas, J 2003, 'Programming the FlexRAM parallel intelligent memory system', Paper presented at 2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, United States, 6/11/03 - 6/13/03 pp. 49-60.
Fraguela BB, Renau J, Feautrier P, Padua DA, Torrellas J. Programming the FlexRAM parallel intelligent memory system. 2003. Paper presented at 2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, United States.
Fraguela, Basilio B. ; Renau, Jose ; Feautrier, Paul ; Padua, David A ; Torrellas, Josep. / Programming the FlexRAM parallel intelligent memory system. Paper presented at 2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, United States.12 p.
@conference{77f2058715af45f2b9e5d81adbcb6b7a,
title = "Programming the FlexRAM parallel intelligent memory system",
abstract = "In an intelligent memory architecture, the main memory of a computer is enhanced with many simple processors. The result is a highly-parallel, heterogeneous machine that is able to exploit computation in the main memory. While several instantiations of this architecture have been proposed, the question of how to effectively program them with little effort has remained a major challenge. In this paper, we show how to effectively hand-program an intelligent memory architecture at a high level and with very modest effort. We use FlexRAM as a prototype architecture. To program it, we propose a family of high-level compiler directives inspired by OpenMP called CFlex. Such directives enable the processors in memory to execute the program in cooperation with the main processor. In addition, we propose libraries of highly-optimized functions called Intelligent Memory Operations (IMOs). These functions program the processors in memory through CFlex, but make them completely transparent to the programmer. Simulation results show that, with CFlex and IMOs, a server with 64 simple processors in memory runs on average 10 times faster than a conventional server. Moreover, a set of conventional programs with 240 lines on average are transformed into CFlex parallel form with only 7 CFlex directives and 2 additional statements on average.",
keywords = "Compiler directives, Intelligent memory architecture, Parallel languages, Programming heterogeneous computers",
author = "Fraguela, {Basilio B.} and Jose Renau and Paul Feautrier and Padua, {David A} and Josep Torrellas",
year = "2003",
month = "7",
day = "28",
language = "English (US)",
pages = "49--60",
note = "2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming ; Conference date: 11-06-2003 Through 13-06-2003",

}

TY - CONF

T1 - Programming the FlexRAM parallel intelligent memory system

AU - Fraguela, Basilio B.

AU - Renau, Jose

AU - Feautrier, Paul

AU - Padua, David A

AU - Torrellas, Josep

PY - 2003/7/28

Y1 - 2003/7/28

N2 - In an intelligent memory architecture, the main memory of a computer is enhanced with many simple processors. The result is a highly-parallel, heterogeneous machine that is able to exploit computation in the main memory. While several instantiations of this architecture have been proposed, the question of how to effectively program them with little effort has remained a major challenge. In this paper, we show how to effectively hand-program an intelligent memory architecture at a high level and with very modest effort. We use FlexRAM as a prototype architecture. To program it, we propose a family of high-level compiler directives inspired by OpenMP called CFlex. Such directives enable the processors in memory to execute the program in cooperation with the main processor. In addition, we propose libraries of highly-optimized functions called Intelligent Memory Operations (IMOs). These functions program the processors in memory through CFlex, but make them completely transparent to the programmer. Simulation results show that, with CFlex and IMOs, a server with 64 simple processors in memory runs on average 10 times faster than a conventional server. Moreover, a set of conventional programs with 240 lines on average are transformed into CFlex parallel form with only 7 CFlex directives and 2 additional statements on average.

AB - In an intelligent memory architecture, the main memory of a computer is enhanced with many simple processors. The result is a highly-parallel, heterogeneous machine that is able to exploit computation in the main memory. While several instantiations of this architecture have been proposed, the question of how to effectively program them with little effort has remained a major challenge. In this paper, we show how to effectively hand-program an intelligent memory architecture at a high level and with very modest effort. We use FlexRAM as a prototype architecture. To program it, we propose a family of high-level compiler directives inspired by OpenMP called CFlex. Such directives enable the processors in memory to execute the program in cooperation with the main processor. In addition, we propose libraries of highly-optimized functions called Intelligent Memory Operations (IMOs). These functions program the processors in memory through CFlex, but make them completely transparent to the programmer. Simulation results show that, with CFlex and IMOs, a server with 64 simple processors in memory runs on average 10 times faster than a conventional server. Moreover, a set of conventional programs with 240 lines on average are transformed into CFlex parallel form with only 7 CFlex directives and 2 additional statements on average.

KW - Compiler directives

KW - Intelligent memory architecture

KW - Parallel languages

KW - Programming heterogeneous computers

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

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

M3 - Paper

AN - SCOPUS:0038378394

SP - 49

EP - 60

ER -