Node.Scala: Implicit parallel programming for high-performance web services

Daniele Bonetta, Danilo Ansaloni, Achille Peternier, Cesare Pautasso, Walter Binder

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

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. © 2012 Springer-Verlag.
Original languageEnglish
Title of host publicationParallel Processing - 18th International Conference, Euro-Par 2012, Proceedings
Pages626-637
DOIs
Publication statusPublished - 2012
Externally publishedYes
Event18th International Conference on Parallel Processing, Euro-Par 2012 - , Greece
Duration: 27 Aug 201231 Aug 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference18th International Conference on Parallel Processing, Euro-Par 2012
Country/TerritoryGreece
Period27/08/1231/08/12

Fingerprint

Dive into the research topics of 'Node.Scala: Implicit parallel programming for high-performance web services'. Together they form a unique fingerprint.

Cite this