We propose and evaluate a multi-thread memory scheduler that targets high performance CMPs. The proposed memory scheduler is based on concepts originally developed for network fair queuing scheduling algorithms. The memory scheduler is fair and provides Quality of Service (QoS) while improving system performance. On a four processor CMP running workloads… (More)
A new structure for implementing data cache prefetching is proposed and analyzed via simulation. The structure is based on a Global History Buffer that holds the most recent miss addresses in FIFO order. Linked lists within this global history buffer connect addresses that have some common property, e.g. they were all generated by the same load instruction.… (More)
Virtual Private Machines (VPM) provide a framework for Quality of Service (QoS) in CMP-based computer systems. VPMs incorporate microarchitecture mechanisms that allow shares of hardware resources to be allocated to executing threads, thus providing applications with an upper bound on execution time regardless of other thread activity. Virtual Private… (More)
AC/DC is an adaptive method for prefetching data from main memory.The basic prefetch method divides the memory address space into equal-sized concentration zones (CZones), and uses a global history buffer to track and detect patterns in miss address "deltas" (differences between consecutive addresses) within each CZone.When simulated with a realistic… (More)
Virtual Private Machines (VPM) are an abstraction for managing resource sharing in multi-core computer systems. A VPM consists of a complete set of resources, which includes both spatial (microar-chitecture) and temporal (processor time slice) resources. Tasks assigned VPMs achieve a minimum level of performance regardless of other tasks in the system –… (More)
1. Motivation To provide both efficiency and high throughput, CMP-based systems exploit resource sharing, especially in the memory hierarchy. Shared resources include both bandwidth, including interconnection paths with associated buffering, and storage space. Resource sharing leads to interference among threads so that a thread's performance depends on the… (More)
Top five reasons why sequential programming models could be the best way to program many-core systems A Predictive Performance Model for Superscalar Processors.
The computer industry is undergoing a momentous transformation. General-purpose computing is moving off of desktops and onto diverse device such as smart phones, digital entertainment centers, and data center servers. At the same time, high-performance semiconductor manufacturers are continuing the long-term trend of increasing integration and are now… (More)