• DocumentCode
    3382032
  • Title

    Real Java applications in software transactional memory

  • Author

    Nakaike, Takuya ; Odaira, Rei ; Nakatani, Toshio ; Michael, Maged M.

  • Author_Institution
    IBM Res. - Tokyo, Tokyo, Japan
  • fYear
    2010
  • fDate
    2-4 Dec. 2010
  • Firstpage
    1
  • Lastpage
    10
  • Abstract
    Transactional Memory (TM) shows promise as a new concurrency control mechanism to replace lock-based synchronization. However, there have been few studies of TM systems with real applications, and the real-world benefits and barriers of TM remain unknown. In this paper, we present a detailed analysis of the behavior of real applications on a software transactional memory system. Based on this analysis, we aim to clarify what programming work is required to achieve reasonable performance in TM-based applications. We selected three existing Java applications: (1) HSQLDB, (2) the Geronimo application server, and (3) the GlassFish application server, because each application has a scalability problem caused by lock contentions. We identified the critical sections where lock contentions frequently occur, and modified the source code so that the critical sections are executed transactionally. However, this simple modification proved insufficient to achieve reasonable performance because of excessive data conflicts. We found that most of the data conflicts were caused by application-level optimizations such as reusing objects to reduce the memory usage. After modifying the source code to disable those optimizations, the TM-based applications showed higher or competitive performance compared to lock-based applications. Another finding is that the number of variables that actually cause data conflicts is much smaller than the number of variables that can be accessed in critical sections. This implies that the performance tuning of TM-based applications may be easier than that of lock-based applications where we need to take care of all of the variables that can be accessed in the critical sections.
  • Keywords
    Java; parallel programming; storage management; Geronimo application server; GlassFish application server; HSQLDB; lock contentions; real Java applications; software transactional memory; source code; Databases; Java; Runtime library; Servers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Workload Characterization (IISWC), 2010 IEEE International Symposium on
  • Conference_Location
    Atlanta, GA
  • Print_ISBN
    978-1-4244-9297-8
  • Electronic_ISBN
    978-1-4244-9296-1
  • Type

    conf

  • DOI
    10.1109/IISWC.2010.5654431
  • Filename
    5654431