Servers are always part of a distributed ecosystem. Less focus is given to the fact that servers are also deployed on internally distributed hardware, namely multicore/ multiprocessor machines. Shared-memory concurrency -- the current approach -- is extremely error-prone and unmaintainable. One alternative is to program with communicating actors, which are active objects with a private heap and thread of their own they do not share memory and communicate and synchronize only by passing messages.
My research has focussed on making actor-oriented programming viable and performance-competitive in extreme server environments such as Amazon.com or financial systems. The solution is part of the Kilim framework (http://kilim.malhar.net). We find it to be much faster and scalable than existing best-of-industry approaches we will look at the Jetty web server and the Berkeley DB database, and compare them to Kilim variants.
The talk will provide an overview of two aspects of my research: an annotation-based type system to control pointer aliasing (to obtain isolation and for zero-copy messaging), and a continuation-passing style transformation of Java bytecode to obtain ultra-lightweight threads (can have hundreds of thousands of threads).
Bio: Sriram Srinivasan has been designing and delivering systems for the past 22 years. He has worked on high-performance transactional systems, CORBA and EJB frameworks, flight planning systems and communication protocols, to name a few. He was one of the primary designers and engineers of the Weblogic Application server. He recently took a detour via the University of Cambridge for a PhD in computer science.