Title
Flux: a language for programming high-performance servers
Abstract
Programming high-performance server applications is challenging: it is both complicated and error-prone to write the concurrent code required to deliver high performance and scalability. Server performance bottlenecks are difficult to identify and correct. Finally, it is difficult to predict server performance prior to deployment. This paper presents Flux, a language that dramatically simplifies the construction of scalable high-performance server applications. Flux lets programmers compose off-the-shelf, sequential C or C++ functions into concurrent servers. Flux programs are type-checked and guaranteed to be deadlock-free. We have built a number of servers in Flux, including a web server with PHP support, an image-rendering server, a BitTorrent peer, and a game server. These Flux servers match or exceed the performance of their counterparts written entirely in C. By tracking hot paths through a running server, Flux simplifies the identification of performance bottlenecks. The Flux compiler also automatically generates discrete event simulators that accurately predict actual server performance under load and with different hardware resources.
Year
Venue
Keywords
2006
USENIX Annual Technical Conference, General Track
server performance bottleneck,concurrent server,actual server performance,web server,image-rendering server,game server,programming high-performance server application,scalable high-performance server application,flux server,server performance,bittorrent,discrete event simulation
Field
DocType
Citations 
Log shipping,Server farm,Computer science,Server,Real-time computing,Compiler,Operating system,Client–server model,Scalability,Application server,Web server,Distributed computing
Conference
17
PageRank 
References 
Authors
2.04
19
5
Name
Order
Citations
PageRank
Brendan Burns130427.70
Kevin Grimaldi2172.04
Alexander Kostadinov3172.04
Emery D. Berger4104855.87
Mark D. Corner51292101.03