skip to main content
10.1145/2187836.2187859acmotherconferencesArticle/Chapter ViewAbstractPublication PagesthewebconfConference Proceedingsconference-collections
research-article

DOHA: scalable real-time web applications through adaptive concurrent execution

Published: 16 April 2012 Publication History

Abstract

Browsers have become mature execution platforms enabling web applications to rival their desktop counterparts. An important class of such applications is interactive multimedia: games, animations, and interactive visualizations. Unlike many early web applications, these applications are latency sensitive and processing (CPU and graphics) intensive. When demands exceed available resources, application quality (e.g., frame rate) diminishes because it is hard to balance timeliness and utilization. The quality of ambitious web applications is also limited by single-threaded execution prevalent in the Web. Applications need to scale their quality, and thereby scale processing load, based on the resources that are available. We refer to this as scalable quality.
DOHA is an execution layer written entirely in JavaScript to enable scalable quality in web applications. DOHA favors important computations with more influence over quality based on hints from application-specific adaptation policies. To utilize widely available multi-core resources, DOHA augments HTML5 web workers with mechanisms to facilitate state management and load-balancing. We evaluate DOHA with an award-winning web-based game. When resources are limited, the modified game has better timing and overall quality. More importantly, quality scales linearly with a small number of cores and the game is playable in challenging scenarios that are beyond the scope of the original game.

References

[1]
Ambiera. Copperlicht - fast webgl javascript 3d engine. http://www.ambiera.com/copperlicht/. {accessed 30-Oct-2011}.
[2]
A. Baumann, P. Barham, P.-E. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania. The multikernel: a new os architecture for scalable multicore systems. SOSP '09, pages 29--44, New York, NY, USA, 2009. ACM.
[3]
G. Berry, G. Gonthier, A. B. G. Gonthier, and P. S. Laltte. The esterel synchronous programming language: Design, semantics, implementation, 1992.
[4]
M. J. Best, A. Fedorova, R. Dickie, A. Tagliasacchi, A. Couture-Beil, C. Mustard, S. Mottishaw, A. Brown, Z. F. Huang, X. Xu, N. Ghazali, and A. Brownsword. Searching for concurrent design patterns in video games. Euro-Par '09, pages 912--923, Berlin, Heidelberg, 2009. Springer-Verlag.
[5]
M. J. Best, S. Mottishaw, C. Mustard, M. Roth, A. Fedorova, and A. Brownsword. Synchronization via scheduling: techniques for efficiently managing shared state. SIGPLAN Not., 46:640--652, June 2011.
[6]
A. Bharambe, J. R. Douceur, J. R. Lorch, T. Moscibroda, J. Pang, S. Seshan, and X. Zhuang. Donnybrook: enabling large-scale, high-speed, peer-to-peer games. SIGCOMM Comput. Commun. Rev., 38(4):389--400, 2008.
[7]
A. Bharambe, J. Pang, and S. Seshan. Colyseus: a distributed architecture for online multiplayer games. NSDI'06, pages 12--12. USENIX Association, 2006.
[8]
M. Cook. Pistol slut. http://pistolslut.com, 2011. {accessed 3-May-2011}.
[9]
A. Erbad, M. Tayarani Najaran, and C. Krasic. Paceline: latency management through adaptive output. In ACM MMSys '10, pages 181--192, 2010.
[10]
I. Hickson. Web workers. http://dev.w3.org/html5/workers/, 2009.
[11]
A. Inc. Concurrency programming guide. http://developer.apple.com/, 2009. {accessed 9-Oct-2009}.
[12]
I. Joyent. Node.js: Evented i/o for v8 javascript. http://nodejs.org/. {accessed 2-Nov-2011}.
[13]
C. Krasic and J.-S. Légaré. Interactivity and scalability enhancements for quality-adaptive streaming. In MM '08: Proceeding of the 16th ACM international conference on Multimedia, pages 753--756, New York, NY, USA, 2008. ACM.
[14]
C. Krasic, M. Saubhasik, A. Sinha, and A. Goel. Fair and timely scheduling via cooperative polling. In EuroSys '09, pages 103--116, New York, NY, USA, 2009. ACM.
[15]
C. Krasic, J. Walpole, and W. Feng. Quality-adaptive media streaming by priority drop. In NOSSDAV '03, pages 112--121, June 2003.
[16]
R. Kuschnig, I. Kofler, and H. Hellwagner. An evaluation of tcp-based rate-control algorithms for adaptive internet streaming of h.264/svc. In ACM MMSys '10, pages 157--168, 2010.
[17]
S. Ladd. Box2d, web workers, better performance. http://blog.sethladd.com/, 2011.
[18]
D. Lupei, B. Simion, D. Pinto, M. Misler, M. Burcea, W. Krick, and C. Amza. Transactional memory support for scalable and transparent parallelization of multiplayer games. In EuroSys '10, pages 41--54, New York, NY, USA, 2010. ACM.
[19]
L. A. Meyerovich and R. Bodík. Fast and parallel webpage layout. In WWW'10, Raleigh NC, USA, 2010.
[20]
J. Mickens and M. Dhawan. Atlantis: Robust, extensible execution environments for web applications. SOSP '11. ACM, 2011.
[21]
Mozilla. High scores. https://gaming.mozillalabs.com/games/winners, 2011. {accessed 3-May-2011}.
[22]
B. Z. Paruj Ratanaworabhan, Ben Livshits. Jsmeter: Comparing the behavior of javascript benchmarks with real web applications. In WebApps'10, Boston MA, USA, 2010.
[23]
L. Ryzhyk, P. Chubb, I. Kuz, and G. Heiser. Dingo: taming device drivers. In EuroSys '09, pages 275--288. ACM, 2009.
[24]
D. Szablewski. Biolab disaster. http://playbiolab.com, 2011. {accessed 3-May-2011}.
[25]
E. Wallace, J. Ardini, and K. Gishen. Robots are people too. http://raptjs.com, 2011. {accessed 3-May-2011}.
[26]
B. Yee, D. Sehr, G. Dardyk, J. B. Chen, R. Muth, T. Ormandy, S. Okasaka, N. Narula, and N. Fullagar. Native client: a sandbox for portable, untrusted x86 native code. Commun. ACM, 53:91--99, Jan. 2010.
[27]
N. Zeldovich, A. Yip, F. Dabek, R. T. Morris, D. Mazières, and F. Kaashoek. Multiprocessor support for event-driven programs. In USENIX ATC 2003, pages 239--252. USENIX, 2003.

Cited By

View all
  • (2017)Application of a Parallel FSM Parsing Algorithm for Web EnginesSmart Computing and Communication10.1007/978-3-319-52015-5_14(133-143)Online publication date: 13-Jan-2017
  • (2015)Parallel network data processing in client side JavaScript applications2015 International Conference on Collaboration Technologies and Systems (CTS)10.1109/CTS.2015.7210414(140-147)Online publication date: Jun-2015
  • (2014)Event-Driven Extraction of HTTP Payload From Concurrent StreamsJournal of Software10.4304/jsw.9.10.2579-25859:10Online publication date: 1-Oct-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
WWW '12: Proceedings of the 21st international conference on World Wide Web
April 2012
1078 pages
ISBN:9781450312295
DOI:10.1145/2187836
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

  • Univ. de Lyon: Universite de Lyon

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 April 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. HTML5 games
  2. javascript
  3. quality of service
  4. web workers

Qualifiers

  • Research-article

Conference

WWW 2012
Sponsor:
  • Univ. de Lyon
WWW 2012: 21st World Wide Web Conference 2012
April 16 - 20, 2012
Lyon, France

Acceptance Rates

Overall Acceptance Rate 1,899 of 8,196 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Application of a Parallel FSM Parsing Algorithm for Web EnginesSmart Computing and Communication10.1007/978-3-319-52015-5_14(133-143)Online publication date: 13-Jan-2017
  • (2015)Parallel network data processing in client side JavaScript applications2015 International Conference on Collaboration Technologies and Systems (CTS)10.1109/CTS.2015.7210414(140-147)Online publication date: Jun-2015
  • (2014)Event-Driven Extraction of HTTP Payload From Concurrent StreamsJournal of Software10.4304/jsw.9.10.2579-25859:10Online publication date: 1-Oct-2014
  • (2013)TigerQuollACM SIGPLAN Notices10.1145/2517327.244254148:8(251-260)Online publication date: 23-Feb-2013
  • (2013)TigerQuollProceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming10.1145/2442516.2442541(251-260)Online publication date: 23-Feb-2013
  • (2012)Sender-side Buffers and the Case for Multimedia AdaptationQueue10.1145/2381996.238199810:10(10-24)Online publication date: 11-Oct-2012
  • (2012)Sender-side buffers and the case for multimedia adaptationCommunications of the ACM10.1145/2380656.238067155:12(50-58)Online publication date: 1-Dec-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media