Externalizing Java Server Concurrency with CAL

13 years 1 months ago
Externalizing Java Server Concurrency with CAL
One of the most important decisions about the architecture of a server program is its concurrency mechanisms. However, a good concurrency model for general-purpose server programs is increasingly difficult to conceive as the runtime conditions are hard to predict. In this work, we advocate that the concurrency code is to be decoupled from server programs. To enable such separation, we propose and evaluate CAL, -- the Concurrency Aspect Library. CAL provides uniform concurrency programming abstractions and mediates the intrinsic differences among concurrency models. Through CAL, a server program is not tied to any particular concurrency model and framework. CAL can be configured without modifications to use concurrency frameworks of fundamentally different natures. The concurrency code based on CAL is simpler and looks closer to the design. Leveraging the customizability of CAL, we show that a commercial middleware server, refactored to use CAL, outperforms its original version by as mu...
Charles Zhang, Hans-Arno Jacobsen
Added 19 Oct 2010
Updated 19 Oct 2010
Type Conference
Year 2008
Authors Charles Zhang, Hans-Arno Jacobsen
Comments (0)