loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP'06)
Evaluating Hardware Support for Reference Counting Using Software Configurable Processors
Steamboat Springs, Colorado, USA
September 11-September 13
ISBN: 0-7695-2682-9
Feng Xian, University of Nebraska-Lincoln
Witawas Srisa-an, University of Nebraska-Lincoln
Hong Jiang, University of Nebraska-Lincoln

Reference counting is an incremental garbage collection technique that yields nearly unnoticeable pause time but can suffer from high processing overhead. Previous attempts to use hardware to reduce this overhead have shown successes but limited applicability. With recent discovery that reference counting can be well suited for Java embedded devices, it is worthwhile to rethink hardware solutions that can further improve its performance by leveraging current trends in embedded computing.

In this paper, we introduce a custom instruction solution that is (i) more practical because it only provides hardware support for the expensive but straight-forward software function-reference count update; the existing complex runtime functions such as memory allocation and liberation remain unchanged and (ii) better positioned for widespread adoption because it is designed to leverage readily available configurable logics in many embedded processor cores. As a proof-of-concept, we implement two reference counting algorithms that utilize the proposed custom instructions on Stretch S5000 software reconfigurable processors. We then analyze the performance impacts on the execution time as well as the architectural behavior. The results show that we can achieve as much as 70% performance gain over pure software implementation.

Citation:
Feng Xian, Witawas Srisa-an, Hong Jiang, "Evaluating Hardware Support for Reference Counting Using Software Configurable Processors," asap, pp.297-302, IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP'06), 2006
Usage of this product signifies your acceptance of the Terms of Use.