SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
The state of the art in locally distributed Web-server systems
ACM Computing Surveys (CSUR)
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
Event-driven programming with Twisted and Python
Linux Journal
Event-driven programming for robust software
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
Auto-tune design and evaluation on staged event-driven architecture
Proceedings of the 1st workshop on MOdel Driven Development for Middleware (MODDM '06)
Why events are a bad idea (for high-concurrency servers)
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Flash: an efficient and portable web server
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Comparing the performance of web server architectures
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Actors that unify threads and events
COORDINATION'07 Proceedings of the 9th international conference on Coordination models and languages
Node.js: Using JavaScript to Build High-Performance Network Programs
IEEE Internet Computing
Object-relational event middleware for web applications
Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research
Hi-index | 0.00 |
Event-driven programming frameworks such as Node.JS have recently emerged as a promising option for Web service development. Such frameworks feature a simple programming model with implicit parallelism and asynchronous I/O. The benefits of the event-based programming model in terms of concurrency management need to be balanced against its limitations in terms of scalability on multicore architectures and against the impossibility of sharing a common memory space between multiple Node.JS processes. In this paper we present Node. Scala, an event-based programming framework for the JVM which overcomes the limitations of current event-driven frameworks. Node. Scala introduces safe stateful programming for event-based services. The programming model of Node. Scala allows threads to safely share state in a standard event-based programming model. The runtime system of Node. Scala automatically parallelizes and synchronizes state access to guarantee correctness. Experiments show that services developed in Node. Scala yield linear scalability and high throughput when deployed on multicore machines.