Quality-adaptive media streaming by priority drop
NOSSDAV '03 Proceedings of the 13th international workshop on Network and operating systems support for digital audio and video
Colyseus: a distributed architecture for online multiplayer games
NSDI'06 Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3
Donnybrook: enabling large-scale, high-speed, peer-to-peer games
Proceedings of the ACM SIGCOMM 2008 conference on Data communication
Interactivity and scalability enhancements for quality-adaptive streaming
MM '08 Proceedings of the 16th ACM international conference on Multimedia
Fair and timely scheduling via cooperative polling
Proceedings of the 4th ACM European conference on Computer systems
Proceedings of the 4th ACM European conference on Computer systems
Searching for Concurrent Design Patterns in Video Games
Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
Native Client: a sandbox for portable, untrusted x86 native code
Communications of the ACM - Amir Pnueli: Ahead of His Time
The multikernel: a new OS architecture for scalable multicore systems
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
An evaluation of TCP-based rate-control algorithms for adaptive internet streaming of H.264/SVC
MMSys '10 Proceedings of the first annual ACM SIGMM conference on Multimedia systems
Paceline: latency management through adaptive output
MMSys '10 Proceedings of the first annual ACM SIGMM conference on Multimedia systems
Transactional memory support for scalable and transparent parallelization of multiplayer games
Proceedings of the 5th European conference on Computer systems
Fast and parallel webpage layout
Proceedings of the 19th international conference on World wide web
JSMeter: comparing the behavior of JavaScript benchmarks with real web applications
WebApps'10 Proceedings of the 2010 USENIX conference on Web application development
Synchronization via scheduling: techniques for efficiently managing shared state
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Atlantis: robust, extensible execution environments for web applications
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Sender-side buffers and the case for multimedia adaptation
Communications of the ACM
Sender-side Buffers and the Case for Multimedia Adaptation
Queue - Networks
TigerQuoll: parallel event-based JavaScript
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.02 |
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.