Student research opportunities
Evict-Me And Other Interesting Cache Semantics
Project Code: CECS_633
This project is available at the following levels:
Honours, Summer Scholar, Masters, PhD
Supervisor:
Professor Steve BlackburnOutline:
Memory performance is key to application performance. Caches typically implement an approximation to an LRU (least recently used) eviction policy, with the goal of evicting that data which is least likely to be used next. However, there exist important use-patterns which do not play well to LRU. One such example, is the case where data is used very briefly then discarded. In previous work our colleagues developed the "evict-me" policy which allows the application to provide a hint to the cache that a given cache line should be evicted. This proved to be useful in a number of situations, however the idea was not evaluated against Java (or other managed language) workloads. We believe that programing languages such as Java which encourage high allocation rates may be well suited to evict me and similar such policies. In our prior work we noted that many Java applications allocate many objects that are only used very briefly. Such objects would be very good candidates for evict-me.
Goals of this project
This project will examine the effectiveness of special ISA-supported cache semantics in the context of a high allocation rate language such as Java.
Requirements/Prerequisites
Students will need to be proficient programmers with a good basic understanding of computer architecture.
Student Gain
The student will have the opportunity to gain in-depth experience in a significant research problem that crosses two research fields. The project has sufficient depth and scope to allow a capable student to produce publishable work.
Links
Evict-meEvict-me and keep-me

