Title :
Scaling Instant Messaging communication services: A comparison of blocking and non-blocking techniques
Author :
Griffin, Leigh ; Ryan, Kieran ; De Leastar, Eamonn ; Botvich, Dmitri
Author_Institution :
Telecommun. Software & Syst. Group, Waterford Inst. of Technol., Waterford, Ireland
fDate :
June 28 2011-July 1 2011
Abstract :
Designing innovative communications services that scale to facilitate potential new usage patterns can pose significant challenges. This is particularly the case if these services are to be delivered over existing protocols and interoperate with legacy services. This work explores design choices for such a service: large scale message delivery to existing Instant Messaging users. In particular we explore message throughput, accuracy and server load for several alternative implementation strategies. These strategies focus on approaches to concurrency, with best practice in current and emerging techniques thoroughly benchmarked. Specifically, a conventional Java Executor approach is compared with a functional approach realised through Scala and its Actors framework. These could be termed “blocking I/O” technology. A third approach has also been measured - a “non-blocking I/O” based on an alternative to Java Virtual Machine approaches - employing Node.js and Javascript. We believe that some of the results are startling.
Keywords :
Java; concurrency control; electronic messaging; protocols; virtual machines; Java Executor approach; Java virtual machine approach; Javascript; Node.js; Scala; blocking I/O technology; concurrency programming; instant messaging communication service scaling; legacy service; nonblocking I/O; protocol; Concurrent computing; Instant messaging; Instruction sets; Java; Scalability; Servers; Blocking IO; Instant Messaging; Non-Blocking IO; Scalability; XMPP;
Conference_Titel :
Computers and Communications (ISCC), 2011 IEEE Symposium on
Conference_Location :
Kerkyra
Print_ISBN :
978-1-4577-0680-6
Electronic_ISBN :
1530-1346
DOI :
10.1109/ISCC.2011.5983895