Transient caches and object streams [electronic resource] / Stephen M. Blackburn, Kathryn S. McKinley
- Bib ID:
- 5549358
- Format:
- Book
- Author:
- Blackburn, Stephen Michael
- Online Access:
- Archived at ANL
- Online Version:
- Publisher site
- Description:
- Canberra : Dept. of Computer Science, Faculty of Engineering and Information Technology, Australian National University, 2006
- Series:
-
- Joint computer science technical report series (Online) ; TR-CS-06-03.
- Joint computer science technical report series ; TR-CS-06-03.
- PANDORA electronic collection.
- Technical Details:
-
- Mode of access: Internet via World Wide Web. Address as at 16/08/2011: http://cs.anu.edu.au/techreports/
- System requirements: Adobe Acrobat reader.
- Summary:
-
Memory latency limits program performance. Object-oriented languages such as C and Java exacerbate this problem, but their software engineering benefits make them increasingly popular. We show that current memory hierarchies are not particularly well suited to Java in which object streams write and read a window of short-lived objects that pollute the cache. These observations motivate the exploration of transient caches which assist a parent cache. For an L1 parent cache, transient caches are positioned similarly to a classic L0, providing one cycle access time. Their distinguishing features are (1) they are tiny (4 to 8 lines), (2) they are highly associative, and (3) the processor may seek them in parallel with their parent. They can assist any cache level. To address object stream behavior, we explore policies for read and write instantiation, promotion, filtering, and valid bits to implement no-fetch on write. Good design points include a parallel L0 (PL0) which improves Java programs by 3% on average, and C by 2% in cycle-accurate simulation over a two-cycle 32KB, 128B line, 2-way L1. A transient qualifying cache (TQ) improves further by a) minimizing pollution in the parent by filtering short-lived lines without temporal reuse, and b) using a write no-fetch policy with per-byte valid bits to eliminate wasted fetch bandwidth. TQs at L1 and L2 improve Java programs by 5% on average and up to 15%. The TQ even achieves improvements when the parent has half the capacity or associativity compared to the original larger L1. The one-cycle access time, a write no-fetch policy, and filtering bestow these benefits. Java motivates this approach, but it also improves for C programs.
- Notes:
-
- "October 2006".
- Title from title screen (viewed on Aug. 16, 2011)
- Includes bibliographical references.
- Text and graphics.
- Published jointly by the Dept. of Computer Science, Faculty of Engineering and Information Technology; and the Computer Sciences Laboratory, Research School of Information Sciences and Engineering, the Australian National University.
- Selected for archiving
- Subject:
- Other authors/contributors:
- Copyright:
-
In Copyright
You may copy under some circumstances, for example you may copy a portion for research or study. Order a copy through Copies Direct to the extent allowed under fair dealing. Contact us for further information about copying.
Copyright status was determined using the following information:
- Material type:
- Literary Dramatic Musical
- Published status:
- Published
- Publication date:
- 2006
Copyright status may not be correct if data in the record is incomplete or inaccurate. Other access conditions may also apply. For more information please see: Copyright in library collections.
Feedback
Similar items
- The DaCapo benchmarks [electronic resource] : Java benchmarking development and analysis (extended version) / Stephen M Blackburn ... [et al.]
- Efficient implementation of design patterns in java programs [electronic resource] / Alonso Marquez
- A distributed visualisation tool for digital terrain models [electronic resource] / Samuel Taylor
- SPARC V9 instruction set specification [electronic resource] / Bill Clarke
- Constitution