Skip to main content

A Multi-core Software API for Embedded MPSoC Environments

  • Conference paper
Methods and Tools of Parallel Programming Multicomputers (MTPP 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6083))

Included in the following conference series:

Abstract

Heterogeneous multi-core architectures are the mainstream of processor designs for high-end embedded systems. Although such architectures promise high performance and low power consumption, challenges are raised for how to program such devices. This paper presents “Multi-core Software APIs” (MSA) to address these issues. MSA is a library-based framework based asynchronous remote procedure call (RPC) mechanism. Aiming at distributed memory architectures, which is common in embedded systems, MSA supplies a function-offloading programming model. MSA consists of three modules, RPC module, message module, and streaming module, to provide task offloading, data transmission, and streaming data transmission, respectively. Furthermore, this paper provides two case studies, π calculation and stereo vision, to show how MSA works on building multi-core applications.

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. Butenhof, D.R.: Programming with POSIX threads. Addison-Wesley, Reading (1997)

    Google Scholar 

  2. Chang, D.C.-W.: PAC digital signal processor. In: Proceedings of Fall Microprocessor Forum (2006)

    Google Scholar 

  3. Chrysanthakopoulos, G., Singh, S.: An asynchronous messaging library for c#. In: Synchronization and Concurrency in Object-Oriented Languages, SCOOL (2005)

    Google Scholar 

  4. Culler, D.E., Dusseau, A., Goldstein, S.C., Krishnamurthy, A., Lumetta, S., von Eicken, T., Yelick, K.: Introduction to split-c. Tech. rep., University of California–Berkeley (April 1995), http://www.cs.cmu.edu/~seth/papers/dusseau-tr92.pdf

  5. Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. In: OSDI’04: Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, p. 10. USENIX Association, Berkeley (2004)

    Google Scholar 

  6. Hsieh, K.Y., Liu, Y.C., Wu, P.W., Chang, S.W., Lee, J.K.: Enabling streaming remoting on embedded dual-core processors. In: 37th International Conference on Parallel Processing, ICPP ’08, September 2008, pp. 35–42 (2008)

    Google Scholar 

  7. Huang, C.W., Shih, W.K., Hsu, Y., Lee, J.K.: Configurable sid-based multi-core simulators for embedded system education. In: Workshop on Embedded Systems Education’09, Grenoble, France (2009)

    Google Scholar 

  8. Kuchen, H.: A skeleton library. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 620–629. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Lai, C., Hsieh, K., Lai, S., Lee, J.: Parallelization of belief propagation method on embedded multicore processors for stereo vision. In: IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia, ESTImedia 2008, pp. 39–44 (2008)

    Google Scholar 

  10. Lin, Y.C., Tang, C.L., Wu, C.J., Hung, M.Y., You, Y.P., Moo, Y.C., Chen, S.Y., Lee, J.K.: Compiler supports and optimizations for PAC VLIW DSP processors. In: Ayguadé, E., Baumgartner, G., Ramanujam, J., Sadayappan, P. (eds.) LCPC 2005. LNCS, vol. 4339, pp. 466–474. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Matsuzaki, K., Iwasaki, H.: A library of constructive skeletons for sequential style of parallel programming. In: InfoScale’ 06: Proceedings of the 1st international conference on Scalable information systems. ACM International Conference Proceeding Series, vol. 152, p. 13. ACM Press, New York (2006)

    Chapter  Google Scholar 

  12. McCool, M.D., Wadleigh, K., Henderson, B., Lin, H.Y.: Performance evaluation of gpus using the rapidmind development platform. In: SC ’06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing, p. 181. ACM, New York (2006)

    Chapter  Google Scholar 

  13. Murray, A.B., Cole, M., Gilmore, S., Hillston, J.: Flexible skeletal programming with eskel. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 761–770. Springer, Heidelberg (2005)

    Google Scholar 

  14. Qualcomm: The snapdragon platform (2010), http://www.qctconnect.com/products/snapdragon.html

  15. Reid, A.D., Flautner, K., Evans, E.G., Lin, Y.: Soc-c: efficient programming abstractions for heterogeneous multicore systems on chip. In: CASES ’08: Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems, pp. 95–104. ACM, New York (2008)

    Chapter  Google Scholar 

  16. Reinders, J.: Intel Threading Building Blocks. O’Reilly, Sebastopol (2007)

    Google Scholar 

  17. Sun, J., Zheng, N., Shum, H.: Stereo matching using belief propagation. IEEE Transactions on Pattern Analysis and Machine Intelligence 25(7), 787–800 (2003)

    Article  Google Scholar 

  18. Texas Instruments: OmapTM4 mobile applications platform (2009)

    Google Scholar 

  19. Thies, W., Karczmarek, M., Amarasinghe, S.: Streamit: A language for streaming applications. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 49–84. Springer, Heidelberg (2002)

    Chapter  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

Li, JJ., Wang, SC., Hsu, PC., Chen, PY., Lee, J.K. (2010). A Multi-core Software API for Embedded MPSoC Environments. In: Hsu, CH., Malyshkin, V. (eds) Methods and Tools of Parallel Programming Multicomputers. MTPP 2010. Lecture Notes in Computer Science, vol 6083. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14822-4_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14822-4_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14821-7

  • Online ISBN: 978-3-642-14822-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics