Proceedings of the ACM 2000 conference on Java Grande
Concurrent Programming in Java: Design Principles and Patterns
Concurrent Programming in Java: Design Principles and Patterns
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
MapReduce: simplified data processing on large clusters
Communications of the ACM - 50th anniversary issue: 1958 - 2008
HOTOS'07 Proceedings of the 11th USENIX workshop on Hot topics in operating systems
Software Transactional Memory: Why Is It Only a Research Toy?
Queue - The Concurrency Problem
Stretching transactional memory
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Transactional Memory, 2nd Edition
Transactional Memory, 2nd Edition
Structured parallel programming with deterministic patterns
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Why STM can be more than a research toy
Communications of the ACM
Piccolo: building fast, distributed programs with partitioned tables
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
The F# asynchronous programming model
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Dynamic parallelization of JavaScript applications using an ultra-lightweight speculation mechanism
HPCA '11 Proceedings of the 2011 IEEE 17th International Symposium on High Performance Computer Architecture
DISC'06 Proceedings of the 20th international conference on Distributed Computing
S: a scripting language for high-performance RESTful web services
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
DOHA: scalable real-time web applications through adaptive concurrent execution
Proceedings of the 21st international conference on World Wide Web
Parallel programming for the web
HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
Parallel closures: a new twist on an old idea
HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
Hi-index | 0.00 |
JavaScript, the most popular language on the Web, is rapidly moving to the server-side, becoming even more pervasive. Still, JavaScript lacks support for shared memory parallelism, making it challenging for developers to exploit multicores present in both servers and clients. In this paper we present TigerQuoll, a novel API and runtime for parallel programming in JavaScript. TigerQuoll features an event-based API and a parallel runtime allowing applications to exploit a mutable shared memory space. The programming model of TigerQuoll features automatic consistency and concurrency management, such that developers do not have to deal with shared-data synchronization. TigerQuoll supports an innovative transaction model that allows for eventual consistency to speed up high-contention workloads. Experiments show that TigerQuoll applications scale well, allowing one to implement common parallelism patterns in JavaScript.