skip to main content
research-article

A down-to-earth educational operating system for up-in-the-cloud many-core architectures

Published:07 February 2013Publication History
Skip Abstract Section

Abstract

We present Xipx, the first port of a major educational operating system to a processor in the emerging class of many-core architectures. Through extensions to the proven Embedded Xinu operating system, Xipx gives students hands-on experience with system programming in a distributed message-passing environment. We expose the software primitives needed to maintain coherency between many cores in a system lacking specialized caching hardware. Our proposed series of laboratory assignments adds parallel thread execution and intercore message passing communication to a well-established OS curriculum.

References

  1. Adams, J. C., Hoobeboom, K., and Walz, J. 2011. A cluster for CS education in the manycore era. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE'11). ACM, New York, 27--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Anderson, N., Mache, J., and Watson, W. 2010. Learning CUDA: Lab exercises and experiences. In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion (SPLASH'10). ACM, New York, 183--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bell, S., Edwards, B., Amann, J., Conlin, R., Joyce, K., Leung, V., MacKay, J., Reif, M., Bao, L., et al. 2008. Tile64 processor: A 64-core SoC with mesh interconnect. In Proceedings of the International Solid-State Circuits Conference.Google ScholarGoogle ScholarCross RefCross Ref
  4. Brown, R. and Shoop, E. 2011. Modules in community: Injecting more parallelism into computer science curricula. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE'11). ACM, New York, 447--452. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Brylow, D. 2008. An experimental laboratory environment for teaching embedded operating systems. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE'08). ACM, New York, 192--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Brylow, D. and Ramamurthy, B. 2009. Nexos: A next generation embedded systems laboratory. SIGBED Rev. 6, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Comer, D. E. 2011. Operating System Design: The XINU Approach Linksys Version. CRC Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ernst, D., Wittman, B., Harvey, B., Murphy, T., and Wrinn, M. 2009. Preparing students for ubiquitous parallelism. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE'09). ACM, New York, 136--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gross, T. R. 2011. Breadth in depth: A 1st year introduction to parallel programming. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE'11). ACM, New York, 435--440. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hill, L. S. 1929. Cryptography in an algebraic alphabet. Amer. Math. Mon. 36, 6, 306--312.Google ScholarGoogle ScholarCross RefCross Ref
  11. Howard, J., Dighe, S., Hoskote, Y., Vangal, S., Finan, D., Ruhl, G., Jenkins, D., Wilson, H., Borkar, N., et al. 2010. A 48-core IA-32 message-passing processor with DVFS in 45nm CMOS. In Proceedings of the International Solid-State Circuits Conference.Google ScholarGoogle ScholarCross RefCross Ref
  12. Kurian, G., Miller, J., Psota, J., Eastep, J., Liu, J., Michel, J., Kimerling, L., and Agarwal, A. 2010. ATAC: A 1000-core cache-coherent processor with on-chip optical network. In Proceedings of Parallel Architectures and Compilation Techniques. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lee, H.-J., Robertson, J. P., and Fortes, J. A. B. 1997. Generalized Cannon's algorithm for parallel matrix multiplication. In Proceedings of the 11th International Conference on Supercomputing (ICS'97). ACM, New York, 44--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lin, S. and Tatar, D. 2011. Encouraging parallel thinking through explicit coordination modeling. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE'11). ACM, New York, 441--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Mallen, A. and Brylow, D. 2010. Compiler construction with a dash of concurrency and an embedded twist. In Proceedings of the 25th ACM SIGPLAN Symposium on Systems, Programming, Languages, and Applications: Software for Humanity. 161--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ortiz, A. 2011. Teaching concurrency-oriented programming with Erlang. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE'11). ACM, New York, 195--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Rotta, R. 2011. On efficient message passing on the Intel SCC. In Proceedings of the 3rd Many-core Applications Research Community (MARC) Symposium.Google ScholarGoogle Scholar
  18. Sadowski, C., Ball, T., Bishop, J., Burckhardt, S., Gopalakrishnan, G., Mayo, J., Musuvathi, M., Qadeer, S., and Toub, S. 2011. Practical parallel and concurrent programming. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE'11). ACM, New York, 189--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Strazdins, P. E. 2012. Experiences in teaching a specialty multicore computing course. In Proceedings of the IEEE International Parallel & Distributed Processing Symposium Workshops. 1271--1276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Ziwisky, M. W. and Brylow, D. W. 2012. BareMichael: A minimalistic bare-metal framework for the Intel SCC. In Proceedings of the 6th Many-core Applications Research Community (MARC) Symposium.Google ScholarGoogle Scholar

Index Terms

  1. A down-to-earth educational operating system for up-in-the-cloud many-core architectures

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Computing Education
        ACM Transactions on Computing Education  Volume 13, Issue 1
        January 2013
        66 pages
        EISSN:1946-6226
        DOI:10.1145/2414446
        Issue’s Table of Contents

        Copyright © 2013 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 7 February 2013
        • Accepted: 1 October 2012
        • Revised: 1 September 2012
        • Received: 1 December 2011
        Published in toce Volume 13, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader