skip to main content
10.1145/2384577.2384585acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Adaptive data parallelism for internet clients on heterogeneous platforms

Published:22 October 2012Publication History

ABSTRACT

Today's Internet is long past static web pages filled with HTML-formatted text sprinkled with an occasional image or animation. We have entered an era of Rich Internet Applications executed locally on Internet clients such as web browsers: games, physics engines, image rendering, photo editing, etc. Yet today's languages used to program Internet clients have limited ability to tap to the computational capabilities of the underlying, often heterogeneous, platforms. In this paper we present how a Domain Specific Language(DSL) can be integrated into ActionScript, one of the most popular scripting languages used to program Internet clients and a close cousin of JavaScript. We demonstrate how our DSL, called ASDP (ActionScript Data Parallel), can be used to enable data parallelism for existing sequential programs. We also present a prototype of a system where data parallel workloads can be executed on either CPU or a GPU, with the runtime system transparently selecting the best processing unit, depending on the type of workload as well as the architecture and current load of the execution platform. We evaluate performance of our system on a variety of benchmarks, representing different types of workloads: physics, image processing, scientific computing and cryptography.

References

  1. Adobe. The ActionScript byte code (ABC) format. http://learn.adobe.com/wiki/display/AVM2/4.+The+ActionScript+Byte+Code+(abc)+format.Google ScholarGoogle Scholar
  2. Alecio P. D. Binotto, Carlos E. Pereira, Arjan Kuijper, Andre Stork, and Dieter W. Fellner. An effective dynamic scheduling runtime and tuning system for heterogeneous multi and many-core desktop platforms. In HPCC, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bryan C. Catanzaro, Michael Garland, and Kurt Keutzer. Copperhead: compiling an embedded data parallel language. In PPoPP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Manuel M. T. Chakravarty, Gabriele Keller, Sean Lee, Trevor L. McDonell, and Vinod Grover. Accelerating haskell array codes with multicore gpus. In DAMP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, Gabriele Keller, and Simon Marlow. Data parallel haskell: a status report. In DAMP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Christophe Dubach, Perry Cheng, Rodric Rabbah, David F. Bacon, and Stephen Fink. Compiling a high-level language for gpus (via language support for architectures and compilers. In PLDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Khronos Group. OpenCL - the open standard for parallel programming of heterogeneous systems. http://www.khronos.org/opencl/, 2012.Google ScholarGoogle Scholar
  8. Khronos Group. OpenGL - the industry's foundation for high performance graphics. http://www.opengl.org/, 2012.Google ScholarGoogle Scholar
  9. Khronos Group. WebCL - heterogeneous parallel computing in {HTML5} web browsers. http://www.khronos.org/webcl/, 2012.Google ScholarGoogle Scholar
  10. Web Hypertext Application Technology Working Group. Web workers draft recommendation. http://www.whatwg.org/specs/web-apps/current-work/complete/workers.html, 2011.Google ScholarGoogle Scholar
  11. Stephan Herhut. Building a computing highway for web applications. http://blogs.intel.com/research/2011/09/15/pjs/, 2011.Google ScholarGoogle Scholar
  12. IEEE. IEEE standard for floating-point arithmetic. IEEE Std 754--2008, 2008.Google ScholarGoogle Scholar
  13. Intel. River trail: Bringing parallelism to web applications on top of intel opencl sdk. http://software.intel.com/en-us/articles/opencl-river-trail/, 2011.Google ScholarGoogle Scholar
  14. Barbara Kaskosz and Dan Gries. RGB sinks and springs. http://www.flashandmath.com/advanced/rgbsinks/.Google ScholarGoogle Scholar
  15. HyoukJoong Lee, Kevin Brown, Arvind Sujeeth, Hassan Chafi, Tiark Rompf, Martin Odersky, and Kunle Olukotun. Implementing domain-specific languages for heterogeneous parallel computing. IEEE Micro, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Chi-Keung Luk, Sunpyo Hong, and Hyesoon Kim. Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping. In MICRO, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Geoffrey Mainland and Greg Morrisett. Nikola: embedding compiled gpu functions in haskell. In Haskell Symposium, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. NVIDIA. CUDA -- parallel programming made easy. http://www.nvidia.com/object/cuda_home_new.html, 2012.Google ScholarGoogle Scholar
  19. Michael Schmalle. Apacheflex :: Falcon compiler update. http://blog.teotigraphix.com/2012/01/19/apacheflex-falcon-compiler-update/, 2012.Google ScholarGoogle Scholar
  20. Jacob Seidelin. PIXASTIC -- {JavaScript} image processing library. http://www.pixastic.com/.Google ScholarGoogle Scholar
  21. Satnam Singh. Declarative data-parallel programming with the accelerator system. In DAMP, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Aparapi team. Aparapi. http://code.google.com/p/aparapi/.Google ScholarGoogle Scholar
  23. Tamarin VM team. jsbench. http://hg.mozilla.org/tamarin-redux/file/9e56a8e5b17c/test/performance/jsbench.Google ScholarGoogle Scholar
  24. Unigine. Unigine -- engine of virtual worlds. http://unigine.com/.Google ScholarGoogle Scholar
  25. Unigine. Tropics benchmark 1.3. http://unigine.com/products/tropics/, 2010.Google ScholarGoogle Scholar

Index Terms

  1. Adaptive data parallelism for internet clients on heterogeneous platforms

    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
    • Published in

      cover image ACM Conferences
      DLS '12: Proceedings of the 8th symposium on Dynamic languages
      October 2012
      128 pages
      ISBN:9781450315647
      DOI:10.1145/2384577
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 48, Issue 2
        DLS '12
        February 2013
        114 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2480360
        Issue’s Table of Contents

      Copyright © 2012 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: 22 October 2012

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate32of77submissions,42%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader