Ting  Yang

Architecture and Language Implementation (ALI)
Programming Language and Systems at UMASS (PLASMA)
Department of Computer Science
University of Massachusetts at Amherst
Amherst, MA, 01003


Email:
tingy@cs.umass.edu

Office:  413-545-0256
Mobile: 413-687-1244

Vita:  [PDF],[PS]


Home
Projects
Publications
Experience
Research Links
My Favourites

 

  Redline: Integrated Scheduling of CPU, Memory, and I/O [website]

     The objective of this project is to develop a system that has predictable performance for all the tasks running on it.

    We are now targeting at personal desktops (workstations), that normally has a mix of different workloads, such as instantaneous, interactive, and batched processes. The term performance here really means the quality of service (QoS) that the system can provide to a certain task, where different tasks may have different criteria. For some processes, such as system daemons, and GUI updates, responsiveness is important, while batched processes may care more about progress rate (i.e. throughput). The fundamental trade-off here is responsiveness vs. throughput and resource utilization (CPU, memory, and I/O bandwidth)

   Our goal here is to provide a system that overcomes these problems through the cooperation between CPU scheduler, Memory manager, and I/O management. It should make its best effort to satisfy the QoS requirements of different tasks in system, and ensure the system's responsiveness and availability, even under extreme heavy load, such as fork bombs, malloc working set bombs, and large amount of I/O requests.

 

  CRAMM: Cooperative Robust Automatic Memory Management [website][PDF][PS]
                                                                         [ISMM'04] [OSDI'06] [PLDI'05] [OOPSLA'05]

    CRAMM includes a new virtual memory manager (VM) and new garbage collectors (GCs) that will allow garbage-collected applications to perform well and when overloaded, to degrade gracefully.

    We are developing a new virtual memory manager that can not only provide reliable, detailed information but also cooperate with garbage collectors to respond more effectively and flexibly to memory pressure. On the garbage collection side, we are developing what we term coarse-grained and fine-grained memory management algorithms. Coarse-grained memory managers adjust application footprint dynamically in response to memory pressure. We will develop models of the interaction between application performance and heap size that will permit applications to evaluate the performance trade-offs of reducing or growing their heaps.

     Fine-grained memory managers operate when paging is imminent. We have designed a preliminary fine-grained garbage collection algorithm that cooperates with the virtual memory manager to eliminate page faults that require disk accesses. Because coarse-grained and fine-grained memory management are complementary, we will develop and combine both approaches.
 

  Pretenuring for Java [website]                                                 [OOPSLA'01] [TOPLAS'07]

    Generational copying GC partitions the heap into age-based generations of objects. Newly allocated objects go into the youngest generation, the nursery. Rather than collecting the entire heap, generational collectors collect the nursery, copy survivors into the next older generation, and collect successively older generations only if necessary.
    Pretenuring
allocates some objects directly into older generations. If pretenured objects are indeed long-lived, then the pretenuring avoids copying the objects from the nursery into the generation where they are allocated. An ideal pretenuring algorithm would inform the allocator of the exact lifespan of a new object, and then the allocator would select the ideal generation in which to place the object. The collector would thus consider an object only after it has sufficient time to die, avoiding ever copying it.  We develop pretenuring advice from application profiling, on a per allocation-site basis. For our suite of Java programs, we show that allocation-site advice results in accurate predictions, and that these predictions are robust over different input data.
 

  Other Projects:

  •  SAVMM: Scheduler Aware Virtual Memory Mangement

  •  Memory Pressure Alarm/Coordinator for Garbage Collection (Intel)

  •  Deferred Reference Counting Garbage Collector in Bartok (Microsoft)

  •  Object Alignment in Heap for Java


Last Update: 02/20/08

Home | Projects | Publications | Experience | Research Links | My Favourites