Teaching parallelism with river trail

  • Authors:
  • Jaswanth Sreeram;Stephan Herhut;Richard L. Hudson;Tatiana Shpeisman

  • Affiliations:
  • Intel Labs;Intel Labs;Intel Labs;Intel Labs

  • Venue:
  • Proceedings of the 2012 workshop on Developing competency in parallelism: techniques for education and training
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parallel hardware is today's reality and parallel programming models exist for most mainstream languages. Surprisingly JavaScript, the mother tongue of the web, is still stuck in its sequential past. JavaScript's unique programming model, the web's safety and security requirements, and the expectations of its programmers for determinism have impeded parallelization until now. Parallel JavaScript (code named River Trail) is a set of JavaScript extensions and an API that provides safe, deterministic parallelism to web applications while fitting within the event-driven, security oriented world of JavaScript applications. River Trail allows programmers to utilize available hardware parallelism on client machines - from SIMD units to multiple cores, using high-level parallel programming patterns. In this paper we describe River Trail, show how it can be used to provide a gentle introduction to parallelism using our selfcontained hands-on tutorial. At the end of the tutorial the student will have mastered the basic concepts of parallel programming and use this knowledge to build a realistic parallel HTML5 web application in River Trail.