[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2077370.2077374acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

Innovative system and application curriculum on multicore systems

Published: 13 October 2011 Publication History

Abstract

The multicore architectures are increasingly important in system design. Understanding the multicore architecture and multicore programming techniques is essential in system education. Therefore it is necessary to amend traditional content of system education to help students learn and gain experience in software development for multicore devices. In this paper, we present our newly funded education program. In addition, we focus on multi-core technologies. Our focus is also on programming models and how to devise parallel programs, as this is a shared ground between embedded multi-core systems and high-performance parallel systems. Two types of lab modules are developed: multicore system software lab modules and application lab modules. Together the lab modules can give students clear understanding of the principles and practice of parallel programming on multicore systems. Also the parallel design patterns are applied to help students to architect the software in order to develop robust multicore applications. The lab modules of real world applications let students experience the benefits of parallel programming and the computation power of multicore systems. Finally, discussions with design patterns with our two lab modules are given.

References

[1]
Chung-Wen Huang, Wei-Kuan Shih, Yarsun Hsu, and Jenq Kuen Lee. Configurable sid-based multi-core simulators for embedded system education. In Proceedings of the 2009 Workshop on Embedded Systems Education, WESE'09, pages 64--70, 2009.
[2]
Meng-Ting Wang, Po-Chun Huang, Jenq-Kuen Lee, Shang-Hong Lai, Roger Jang, Chun-Fa Chang, Chih-Wei Liu, Tei-Wei Kuo, and Steve Liao. Support of android lab modules for embedded system curriculum. In Proceedings of the 2010 Workshop on Embedded Systems Education, WESE'10, pages 4:1--4:8, 2010.
[3]
Intel® Manycore Testing Lab. http://www.intel.com/software/manycoretestinglab.
[4]
Intel® Threading Building Blocks. http://threadingbuildingblocks.org/.
[5]
OpenMP. http://openmp.org/wp/.
[6]
MPI. http://www.mcs.anl.gov/research/projects/mpi/.
[7]
Herb Sutter. The free lunch is over:a fundamental turn toward concurrency in software. Dr. Dobb's Journal, March, 2005.
[8]
Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides. Design Patterns: Elements of reusable Object Oriented Software. Addison-Wesley, 1994.
[9]
Timothy G. Mattson, Beverly A. Sanders, and Berna L. Massingill. Patterns for Parallel Programming. Addison-Wesley, 2004.
[10]
Kurt Keutzer and Tim Mattson. Our pattern language (pol): A design pattern language for engineering (parallel) software. In ParaPLoP Workshop on Parallel Progamming Patterns., 2009.

Cited By

View all
  • (2017)Introducing parallel computing concepts in computer system related courses2017 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2017.8190566(1-7)Online publication date: Oct-2017

Recommendations

Reviews

Harry J Foxwell

There is a critical, growing technology gap that pervades all of modern computing-not the well-documented gap between memory speeds and central processing unit (CPU) speeds, but the more important gap between the rapid evolution of multicore processors and developers' abilities to exploit the massive parallelism now at their disposal. The need to increase the focus on parallel thinking and program design in the undergraduate computer science curriculum has been widely discussed for more than 20 years [1]. The rapid advance of multicore technologies, especially in mobile systems (smartphones and tablet computers in particular), demands a comprehensive curriculum that teaches parallel thinking, parallel design patterns and algorithms, and hands-on experience writing real-world multicore programs. In this paper, the authors describe a comprehensive multicore programming curriculum at universities in Taiwan. Their three-year education program, supported in part by Intel's Manycore Testing Lab, focuses on embedded multicore systems with an emphasis on the Android operating system. It covers multicore architectures, from both parallelism and power efficiency viewpoints, parallel programming concepts, design patterns, and the use of Intel parallel programming tools such as Threading Building Blocks. Extensive real-world examples are exploited, including simulations, mobile networks, and genome sequencing. Students are required to discover parallelism opportunities in sequential programs and learn how to debug and optimize parallel code. The paper describes an interesting approach to teaching parallel programming. However, it requires careful reading since the authors' first language is clearly not English. Unfortunately, the authors do not report any effectiveness metrics for this education program-such metrics would be valuable to those considering similar curricula. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
WESE '11: Proceedings of the 6th Workshop on Embedded Systems Education
October 2011
57 pages
ISBN:9781450310468
DOI:10.1145/2077370
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 October 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. experiments
  2. multicore system
  3. parallel programming

Qualifiers

  • Research-article

Funding Sources

Conference

ESWeek '11
ESWeek '11: Seventh Embedded Systems Week
October 13, 2011
Taipei, Taiwan

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Introducing parallel computing concepts in computer system related courses2017 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2017.8190566(1-7)Online publication date: Oct-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media