TY - GEN
T1 - Externalizing Java server concurrency with CAL
AU - Zhang, Charles
AU - Jacobsen, Hans Arno
PY - 2008
Y1 - 2008
N2 - One of the most important design decisions about a server program is regarding its concurrency mechanisms. However, good concurrency models for general-purpose server programs are 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 much as 10 times.
AB - One of the most important design decisions about a server program is regarding its concurrency mechanisms. However, good concurrency models for general-purpose server programs are 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 much as 10 times.
UR - http://www.scopus.com/inward/record.url?scp=49049097523&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-70592-5_16
DO - 10.1007/978-3-540-70592-5_16
M3 - Conference contribution
AN - SCOPUS:49049097523
SN - 3540705910
SN - 9783540705918
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 362
EP - 386
BT - ECOOP 2008 - Object-Oriented Programming - 22nd European Conference, Proceedings
T2 - 22nd European Conference on Object-Oriented Programming, ECOOP 2008
Y2 - 7 July 2008 through 11 July 2008
ER -