Skip to main content

Remote Store Programming

A Memory Model for Embedded Multicore

  • Conference paper
High Performance Embedded Architectures and Compilers (HiPEAC 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5952))

Abstract

This paper presents remote store programming (RSP), a programming paradigm which combines usability and efficiency through the exploitation of a simple hardware mechanism, the remote store, which can easily be added to existing multicores. The RSP model and its hardware implementation trade a relatively high store latency for a low load latency because loads are more common than stores, and it is easier to tolerate store latency than load latency. This paper demonstrates the performance advantages of remote store programming by comparing it to cache-coherent shared memory (CCSM) for several important embedded benchmarks using the TILEPro64 processor. RSP is shown to be faster than CCSM for all eight benchmarks using 64 cores. For five of the eight benchmarks, RSP is shown to be more than 1.5 × faster than CCSM. For a 2D FFT implemented on 64 cores, RSP is over 3 × faster than CCSM. RSP’s features, performance, and hardware simplicity make it well suited to the embedded processing domain.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Shan, H., Singh, J.P.: A comparison of MPI, SHMEM and cache-coherent shared address space programming models on a tightly-coupled multiprocessors. Int. J. Parallel Program. 29(3), 283–318 (2001)

    Article  MATH  Google Scholar 

  2. Carlson, W., El-Ghazawi, T., Numric, R., Yelick, K.: Programming with the PGAS model. In: IEEE/ACM SC 2003 (2003)

    Google Scholar 

  3. Gillett, R.B.: Memory channel network for PCI. IEEE Micro 16(1), 12–18 (1996)

    Article  Google Scholar 

  4. Blumrich, M.A., Dubnicki, C., Felten, E.W., Li, K.: Protected, user-level dma for the shrimp network interface. In: Proceedings of the Second IEEE Symposium on High-Performance Computer Architecture, pp. 154–165 (1996)

    Google Scholar 

  5. Quadrics: SHMEM Programming Manual. Quadrics Supercomputers World Ltd., Bristol (2001)

    Google Scholar 

  6. Chauvin, S., Saha, P., Cantonnet, F., Annareddy, S., El-Ghazawi, T.: UPC Manual (May 2005), http://upc.gwu.edu/downloads/Manual-1.2.pdf

  7. Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach. Morgan Kaufmann, San Mateo

    Google Scholar 

  8. Wentzlaff, D., Griffin, P., Hoffmann, H., Bao, L., Edwards, B., Ramey, C., Mattina, M., Miao, C.C., Brown III, J.F., Agarwal, A.: On-chip interconnection architecture of the Tile Processor. IEEE Micro 27(5), 15–31 (2007)

    Article  Google Scholar 

  9. Yelick, K., Semenzato, L., Pike, G., Miyamoto, C., Liblit, B., Krishnamurthy, A., Hilfinger, P., Graham, S., Gay, D., Colella, P., Aiken, A.: Titanium: A high-performance Java dialect. In: ACM, pp. 10–11 (1998)

    Google Scholar 

  10. Numrich, R.W., Reid, J.: Co-array Fortran for parallel programming. SIGPLAN Fortran Forum 17(2), 1–31 (1998)

    Article  Google Scholar 

  11. Kistler, M., Perrone, M., Petrini, F.: Cell multiprocessor communication network: Built for speed. IEEE Micro 26(3), 10–23 (2006)

    Article  Google Scholar 

  12. Taylor, M.B., Lee, W., Miller, J., Wentzlaff, D., Bratt, I., Greenwald, B., Hoffmann, H., Johnson, P., Kim, J., Psota, J., Saraf, A., Shnidman, N., Strumpen, V., Amarasinghe, S., Agarwal, A.: Evaluation of the Raw Microprocessor: An Exposed-Wire-Delay Architecture for ILP and Streams. In: International Symposium on Computer Architecture (June 2004)

    Google Scholar 

  13. Jovanovic, M., Milutinovic, V.: An overview of reflective memory systems. IEEE Concurrency 7(2), 56–64 (1999)

    Article  Google Scholar 

  14. Dubnicki, C., Iftode, L., Felten, E., Li, K.: Software support for virtual memory-mapped communication, April 1996, pp. 372–381 (1996)

    Google Scholar 

  15. Leverich, J., Arakida, H., Solomatnikov, A., Firoozshahian, A., Horowitz, M., Kozyrakis, C.: Comparing memory systems for chip multiprocessors. SIGARCH Comput. Archit. News 35(2), 358–368 (2007)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hoffmann, H., Wentzlaff, D., Agarwal, A. (2010). Remote Store Programming. In: Patt, Y.N., Foglia, P., Duesterwald, E., Faraboschi, P., Martorell, X. (eds) High Performance Embedded Architectures and Compilers. HiPEAC 2010. Lecture Notes in Computer Science, vol 5952. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11515-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11515-8_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11514-1

  • Online ISBN: 978-3-642-11515-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics