DocumentCode :
3459450
Title :
Component-Based Lock Allocation
Author :
Halpert, Richard L. ; Pickett, Christopher J F ; Verbrugge, Clark
Author_Institution :
McGill Univ., Montreal
fYear :
2007
fDate :
15-19 Sept. 2007
Firstpage :
353
Lastpage :
364
Abstract :
The allocation of lock objects to critical sections in concurrent programs affects both performance and correctness. Recent work explores automatic lock allocation, aiming primarily to minimize conflicts and maximize parallelism by allocating locks to individual critical section interferences. We investigate component-based lock allocation, which allocates locks to entire groups of interfering critical sections. Our allocator depends on a thread-based side effect analysis, and benefits from precise points-to and may happen in parallel information. Thread-local object information has a small impact, and dynamic locks do not improve significantly on static locks. We experiment with a range of small and large Java benchmarks on 2-way, 4-way, and 8-way machines, and find that a single static lock is sufficient for mtrt, that performance degrades by 10% for hsqldb, that jbb2000 becomes mostly serialized, and that for lusearch, xalan, and jbb2005, component-based lock allocation recovers the performance of the original program.
Keywords :
concurrency control; object-oriented programming; parallel processing; automatic lock allocation; component-based lock allocation; concurrent programs; lock objects allocation; thread-based side effect analysis; Computer science; Concurrent computing; Degradation; Information analysis; Interference; Java; Parallel processing; Programming profession; Runtime; System recovery;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Architecture and Compilation Techniques, 2007. PACT 2007. 16th International Conference on
Conference_Location :
Brasov
ISSN :
1089-795X
Print_ISBN :
978-0-7695-2944-8
Type :
conf
DOI :
10.1109/PACT.2007.4336225
Filename :
4336225
Link To Document :
بازگشت