DocumentCode :
669928
Title :
Do C and Java programs scale differently on Hardware Transactional Memory?
Author :
Odaira, R. ; Castanos, Jose G. ; Nakaike, T.
Author_Institution :
IBM Res. - Tokyo, Tokyo, Japan
fYear :
2013
fDate :
22-24 Sept. 2013
Firstpage :
34
Lastpage :
43
Abstract :
People program in many different programming languages in the multi-core era, but how does each programming language affect application scalability with transactional memory? As commercial implementations of Hardware Transactional Memory (HTM) enter the market, the HTM support in two major programming languages, C and Java, is of critical importance to the industry. We studied the scalability of the same transactional memory applications written in C and Java, using the STAMP benchmarks. We performed our HTM experiments on an IBM mainframe zEnterprise EC12. We found that in 4 of the 10 STAMP benchmarks Java was more scalable than C. The biggest factor in this higher scalability was the efficient thread-local memory allocator in our Java VM. In two of the STAMP benchmarks C was more scalable because in C padding can be inserted efficiently among frequently updated fields to avoid false sharing. We also found Java VM services could cause severe aborts. By fixing or avoiding these problems, we confirmed that C and Java had similar HTM scalability for the STAMP benchmarks.
Keywords :
C language; Java; concurrency control; multiprocessing systems; virtual machines; C programs; HTM; HTM scalability; IBM mainframe zEnterprise EC12; Java VM services; Java programs; STAMP benchmarks; hardware transactional memory; multicore era; thread-local memory allocator; Abstracts; Benchmark testing; Hardware; Java; Registers; Scalability; C; Java; programming language; transactional memory;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Workload Characterization (IISWC), 2013 IEEE International Symposium on
Conference_Location :
Portland, OR
Print_ISBN :
978-1-4799-0553-9
Type :
conf
DOI :
10.1109/IISWC.2013.6704668
Filename :
6704668
Link To Document :
بازگشت