Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Li Zhao 0002

dblp:97/4708-2 · DBLP profile ↗
← Back
32ranked-venue papers
7as first author
1since 2021 · last 2021
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 26 · 5 first-author · 1 since 2021Software engineering, systems software and programming languages · 5 · 1 first-authorComputer networks · 2 · 1 first-authorSecurity and privacy · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
11 papers
Memory systems · 36% Cloud and datacenter computing · 18% Processor architecture and microarchitecture · 16%
Network and information security
1 paper
Cyber-physical and IoT security · 50% Network security · 50%

Topics — the 30 heaviest of 36, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Network security › intrusion detection and prevention › intrusion detection
intrusion detection system
0.312017
POSTER: Intrusion Detection System for In-vehicle Networks using Sensor Correlation and Integration · CCS 2017
Cyber-physical and IoT security
in-vehicle network security
0.312017
POSTER: Intrusion Detection System for In-vehicle Networks using Sensor Correlation and Integration · CCS 2017
Processor architecture and microarchitecture
chip multiprocessor
0.342012
Dynamic QoS management for chip multiprocessors · ACM Trans. Archit. Code Optim. 2012
A Framework for Providing Quality of Service in Chip Multi-Processors · MICRO 2007
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
Memory systems
cache management
0.222010
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
CHOP: Adaptive filter-based DRAM caching for CMP server platforms · HPCA 2010
Cloud and datacenter computing
quality of service
0.222010
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
A Framework for Providing Quality of Service in Chip Multi-Processors · MICRO 2007
Processor architecture and microarchitecture › multicore design › heterogeneous multicore
asymmetric multicore
0.112012
QuickIA: Exploring heterogeneous architectures on real prototypes · HPCA 2012
Electronic design automation
design space exploration
0.112012
QuickIA: Exploring heterogeneous architectures on real prototypes · HPCA 2012
GPUs and heterogeneous computing
heterogeneous architecture
0.112012
QuickIA: Exploring heterogeneous architectures on real prototypes · HPCA 2012
Embedded and real-time systems
quality-of-service management
0.112012
Dynamic QoS management for chip multiprocessors · ACM Trans. Archit. Code Optim. 2012
Cloud and datacenter computing › resource management
shared resource management
0.112012
Dynamic QoS management for chip multiprocessors · ACM Trans. Archit. Code Optim. 2012
Hardware accelerators and domain-specific architectures › accelerator architecture
accelerator local memory
0.112011
Buffer-integrated-Cache: a cost-effective SRAM architecture for handheld and embedded platforms · DAC 2011
Memory systems
cache
0.112011
ACCESS: Smart scheduling for asymmetric cache CMPs · HPCA 2011
Parallel and multicore computing › task scheduling › memory-aware scheduling
cache-aware task scheduling
0.112011
ACCESS: Smart scheduling for asymmetric cache CMPs · HPCA 2011
Memory systems
cache design
0.112011
Buffer-integrated-Cache: a cost-effective SRAM architecture for handheld and embedded platforms · DAC 2011
Processor architecture and microarchitecture › chip multiprocessor
heterogeneous chip multiprocessor
0.112011
HeteroScouts: hardware assist for OS scheduling in heterogeneous CMPs · SIGMETRICS 2011
Electronic design automation › high-level synthesis
scheduling
0.112011
ACCESS: Smart scheduling for asymmetric cache CMPs · HPCA 2011
Memory systems › cache management
cache partitioning
0.112010
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
Memory systems › cache
DRAM cache
0.112010
CHOP: Adaptive filter-based DRAM caching for CMP server platforms · HPCA 2010
Memory systems › cache management
shared cache management
0.112010
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
Memory systems › memory hierarchy › cache hierarchy
3d stacked cache
0.112009
Optimizing communication and capacity in a 3D stacked reconfigurable cache hierarchy · HPCA 2009
Memory systems › memory hierarchy
cache hierarchy
0.112009
Optimizing communication and capacity in a 3D stacked reconfigurable cache hierarchy · HPCA 2009
Memory systems › cache design
reconfigurable cache
0.112009
Optimizing communication and capacity in a 3D stacked reconfigurable cache hierarchy · HPCA 2009
Cloud and datacenter computing › virtualization › virtual machine management
server consolidation
0.132010
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
QoS policies and architecture for cache/memory in CMP platforms · SIGMETRICS 2007
A Framework for Providing Quality of Service in Chip Multi-Processors · MICRO 2007
High-performance computing › data transfer
bulk data transfer
0.112007
Hardware Support for Accelerating Data Movement in Server Platform · IEEE Trans. Computers 2007
Cloud and datacenter computing
data movement acceleration
0.112007
Hardware Support for Accelerating Data Movement in Server Platform · IEEE Trans. Computers 2007
Cloud and datacenter computing › resource allocation › resource allocation policy
resource partitioning
0.112007
A Framework for Providing Quality of Service in Chip Multi-Processors · MICRO 2007
Operating systems › resource management › process management › CPU scheduling
thread scheduling
0.012011
HeteroScouts: hardware assist for OS scheduling in heterogeneous CMPs · SIGMETRICS 2011
Memory systems › cache management
cache resource management
0.012010
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
Cloud and datacenter computing
performance isolation
0.012010
Quality of service shared cache management in chip multiprocessor architecture · ACM Trans. Archit. Code Optim. 2010
Interconnection networks and networks-on-chip › network topology
tree networks
0.012009
Optimizing communication and capacity in a 3D stacked reconfigurable cache hierarchy · HPCA 2009

Methods — techniques the papers use, named apart from their topics

regression learning · 0.3hardware performance prediction · 0.2full-system simulation · 0.2simulation · 0.2prototyping · 0.1dynamic resource management · 0.1case study · 0.1PI feedback controller · 0.1cache performance prediction · 0.1SRAM partitioning · 0.1OS scheduler support · 0.1
YearPublicationVenuePosition
2021 Cache Compression with Efficient in-SRAM Data Comparison
abstract
We present a novel cache compression method that leverages the fine-grained data duplication across cache lines. We leverage the XOR operation of the in-SRAM bit-line computing peripherals, to search for compressible data over a wide range of data locations on cache, reducing the data movement requirements. To reduce the decompression latency, we design specialized compression schemes by fetching the data with the same parallelism as the original cache, according to the architecture of the last-level cache slice. The proposed compression method achieves a 2.05× compression ratio on average (up to 67×), and 4.73% of speedup on average (up to 29%), over the SPEC2006 benchmarks.
Xiaowei Wang 0005, Charles Augustine, Eriko Nurvitadhi, Ravi R. Iyer 0001, Li Zhao 0002, Reetuparna Das
NAS5
2017 POSTER: Intrusion Detection System for In-vehicle Networks using Sensor Correlation and Integration
abstract
The increasing utilization of Electronic Control Units (ECUs) and wireless connectivity in modern vehicles has favored the emergence of security issues. Recently, several attacks have been demonstrated against in-vehicle networks therefore drawing significant attention. This paper presents an Intrusion Detection System (IDS) based on a regression learning approach which estimates certain parameters by using correlated/redundant data. The estimated values are compared to observed ones to identify abnormal contexts that would indicate intrusion. Experiments performed with real-world vehicular data have shown that more than 90% of vehicle speed data can be precisely estimated within the error bound of 3 kph. The proposed IDS is capable of detecting and localizing attacks in real-time, which is fundamental to achieve automotive security.
Huaxin Li, Li Zhao 0002, Marcio Juliato, Manoj R. Sastry, Lily L. Yang
CCS2
2014 QoS management on heterogeneous architecture for parallel applications
abstract
Quality of service (QoS) management is widely employed to provide differentiable performance to programs with distinctive priorities on conventional chip multi-processor (CMP) platforms. Recently, heterogeneous architecture integrating diverse processor cores on the same silicon has been proposed to better serve various application domains and it is expected to be an important design paradigm of future processors. Therefore, the QoS management on emerging heterogeneous systems will be of great significance. On the other hand, parallel applications are becoming increasingly important in modern computing community in order to explore the benefit of thread-level parallelism on CMPs. However, considering the diverse characteristics of thread synchronization, data sharing, and parallelization pattern, governing the execution of multiple parallel programs with different performance requirements becomes a complicated yet significant problem. In this paper, we study QoS management for parallel applications running on heterogeneous CMP systems. We comprehensively assess a series of task-to-core mapping policies on a real heterogeneous hardware (QuickIA) by characterizing their impacts on performance of individual applications. Our evaluation results show that the proposed QoS policies are effective to improve the performance of programs with highest priority while striking good tradeoff with system fairness.
Ying Zhang 0016, Li Zhao 0002, Ramesh Illikkal, Ravi R. Iyer 0001, Andrew Herdrich, Lu Peng 0001
ICCD2
2013 EMERALD: Characterization of emerging applications and algorithms for low-power devices
abstract
Compute-intensive applications are emerging in intelligent home, retail store and automotive industries. These applications are becoming more sophisticated with new features rich in audio, video, image, and machine learning capabilities that demand heavy computations. We present the EMERALD (EMERging Applications and algorithms for Low power Device) workload suite. We profile the workloads to show the hotspot functions that are candidates for hardware accelerators.
Chuanjun Zhang, Glenn G. Ko, Jungwook Choi, Shang-nien Tsai, Minje Kim 0001, Abner Guzmán-Rivera, Rob A. Rutenbar, Paris Smaragdis, Mi Sun Park, Narayanan Vijaykrishnan, Hongyi Xin, Onur Mutlu, Bin Li 0018, Li Zhao 0002
ISPASS14
2013 Reducing cache and TLB power by exploiting memory region and privilege level semantics
Zhen Fang 0002, Li Zhao 0002, Xiaowei Jiang, Shih-Lien Lu, Ravi R. Iyer 0001, Tong Li 0003
J. Syst. Archit.2
2012 Exploiting Semantics of Virtual Memory to Improve the Efficiency of the On-Chip Memory System
Bin Li 0018, Zhen Fang 0002, Li Zhao 0002, Xiaowei Jiang, Andrew Herdrich, Ravi R. Iyer 0001, Srihari Makineni
Euro-Par3
2012 QuickIA: Exploring heterogeneous architectures on real prototypes
abstract
Over the last decade, homogeneous multi-core processors emerged and became the de-facto approach for offering high parallelism, high performance and scalability for a wide range of platforms. We are now at an interesting juncture where several critical factors (smaller form factor devices, power challenges, need for specialization, etc) are guiding architects to consider heterogeneous chips and platforms for the next decade and beyond. Exploring heterogeneous architectures is challenging since it involves re-evaluating architecture options, OS implications and application development. In this paper, we describe these research challenges and then introduce a heterogeneous prototype platform called QuickIA that enables rapid exploration of heterogeneous architectures employing multiple generations of Intel processors for evaluating the implications of asymmetry and FPGAs to experiment with specialized processors or accelerators. We also show example case studies using the QuickIA research prototype to highlight its value in conducting heterogeneous architecture, OS and applications research.
Bhushan Chitlur, Ganapati Srinivasa, Scott Hahn, Dheeraj Reddy, David A. Koufaty, Paul Brett, Abirami Prabhakaran, Li Zhao 0002, Nelson Ijih, Suchit Subhaschandra, Sabina Grover, Xiaowei Jiang, Ravi R. Iyer 0001
HPCA9
2012 Reducing L1 caches power by exploiting software semantics
abstract
To access a set-associative L1 cache in a high-performance processor, all ways of the selected set are searched and fetched in parallel using physical address bits. Such a cache is oblivious of memory references' software semantics such as stack-heap bifurcation of the memory space, and user-kernel ring levels. This constitutes a waste of energy since e.g., a user-mode instruction fetch will never hit a cache block that contains kernel code. Similarly, a stack access will not hit a cacheline that contains heap data.
Zhen Fang 0002, Li Zhao 0002, Xiaowei Jiang, Shih-Lien Lu, Ravi R. Iyer 0001, Tong Li 0003
ISLPED2
2012 Dynamic QoS management for chip multiprocessors
abstract
With the continuing scaling of semiconductor technologies, chip multiprocessor (CMP) has become the de facto design for modern high performance computer architectures. It is expected that more and more applications with diverse requirements will run simultaneously on the CMP platform. However, this will exert contention on shared resources such as the last level cache, network-on-chip bandwidth and off-chip memory bandwidth, thus affecting the performance and quality-of-service (QoS) significantly. In this environment, efficient resource sharing and a guarantee of a certain level of performance is highly desirable. Researchers have proposed different frameworks for providing QoS. Most of these frameworks focus on individual resource for QoS management. Coordinated management of multiple QoS-aware shared resources at runtime remains an open problem. Recently, there has been work that proposed a class-of-serviced based framework to jointly managing cache, NoC and memory resources simultaneously. However, the work allocates shared resources statically at the beginning of application runtime, and do not dynamically track, manage and share shared resources across applications. In this article, we address this limitation by proposing dynamic resource management policies that monitor the resource usage of applications at runtime, then steals resources from the high-priority applications for lower-priority ones. The goal is to maintain the targeted level of performance for high-priority applications while improving the performance of lower-priority applications. We use a PI (Proportional-Integral gain) feedback controller based technique to maintain stability in our framework. Our evaluation results show that our policy can improve performance for lower-priority applications significantly while maintaining the performance for high-priority application, thus demonstrating the effectiveness of our dynamic QoS resource management policy.
Bin Li 0018, Li-Shiuan Peh, Li Zhao 0002, Ravi R. Iyer 0001
ACM Trans. Archit. Code Optim.3
2011 Buffer-integrated-Cache: a cost-effective SRAM architecture for handheld and embedded platforms
abstract
In an SoC, building local storage in each accelerator is area inefficient due to the low average utilization. In this paper, we present design and implementation of Buffer-integrated-Caching (BiC), which allows many buffers to be instantiated simultaneously in caches. BiC enables cores to view portions of the SRAM as cache while accelerators access other portions of the SRAM as private buffers.
Carlos Flores Fajardo, Zhen Fang 0002, Ravi R. Iyer 0001, German Fabila Garcia, Li Zhao 0002
DAC6
2011 ACCESS: Smart scheduling for asymmetric cache CMPs
abstract
In current Chip-multiprocessors (CMPs), a significant portion of the die is consumed by the last-level cache. Until recently, the balance of cache and core space has been primarily guided by the needs of single applications. However, as multiple applications or virtual machines (VMs) are consolidated on such a platform, researchers have observed that not all VMs or applications require significant amount of cache space. In order to take advantage of this phenomenon, we explore the use of asymmetric last-level caches in a CMP platform. While asymmetric cache CMPs provide the benefit of reduced power and area, it is important to build in hardware/software support to appropriately schedule applications on to cores with suitable cache capacity. In this paper, we address this problem with our ACCESS architecture comprising of: (a) asymmetric caches across a group of cores, (b) hardware support that enables prediction of cache performance on the different sized caches and (c) OS scheduler support to make use of the prediction capability and appropriately schedule applications on to core with suitable cache capacity. Measurements on a working prototype using SPEC2006 benchmarks show that our ACCESS architecture can effectively schedule jobs in an asymmetric cache CMP and provide 23% performance improvement compared to a naive scheduler, and is 97% close to an oracle scheduler in making schedules.
Xiaowei Jiang, Asit K. Mishra, Li Zhao 0002, Ravi R. Iyer 0001, Zhen Fang 0002, Sadagopan Srinivasan, Srihari Makineni, Paul Brett, Chita R. Das
HPCA3
2011 Cost-effectively offering private buffers in SoCs and CMPs
abstract
High performance SoCs and CMPs integrate multiple cores and hardware accelerators such as network interface devices and speech recognition engines. Cores make use of SRAM organized as a cache. Accelerators make use of SRAM as special-purpose storage such as FIFOs, scratchpad memory, or other forms of private buffers. Dedicated private buffers provide benefits such as deterministic access, but are highly area inefficient due to the lower average utilization of the total available storage.
Zhen Fang 0002, Li Zhao 0002, Ravi R. Iyer 0001, Carlos Flores Fajardo, German Fabila Garcia, Bin Li 0018, Steve R. King, Xiaowei Jiang, Srihari Makineni
ICS2
2011 HeteroScouts: hardware assist for OS scheduling in heterogeneous CMPs
abstract
Designing heterogeneous chip multiprocessors (CMPs) with a mix of big cores (complex superscalar out-of-order pipelines) and small cores (simple in-order pipeline) is emerging as an attractive option for future architectures. Such architectures have the potential to deliver both high performance and power efficiency but this requires operating systems (OS) or virtual machine monitors (VMMs) to efficiently schedule each software thread on the type of core that is best suited for it. In this paper, we highlight the need for architectural support for OS scheduling in a heterogeneous CMP. We propose HeteroScouts, a hardware mechanism to assist the OS to efficiently predict the performance of a task on different cores in the platform.
Sadagopan Srinivasan, Ravi R. Iyer 0001, Li Zhao 0002, Ramesh Illikkal
SIGMETRICS3
2011 CoQoS: Coordinating QoS-aware shared resources in NoC-based SoCs
Bin Li 0018, Li Zhao 0002, Ravi R. Iyer 0001, Li-Shiuan Peh, Michael Leddige, Michael Espig, Donald Newell
J. Parallel Distributed Comput.2
2010 CHOP: Adaptive filter-based DRAM caching for CMP server platforms
abstract
As manycore architectures enable a large number of cores on the die, a key challenge that emerges is the availability of memory bandwidth with conventional DRAM solutions. To address this challenge, integration of large DRAM caches that provide as much as 5× higher bandwidth and as low as 1/3rd of the latency (as compared to conventional DRAM) is very promising. However, organizing and implementing a large DRAM cache is challenging because of two primary tradeoffs: (a) DRAM caches at cache line granularity require too large an on-chip tag area that makes it undesirable and (b) DRAM caches with larger page granularity require too much bandwidth because the miss rate does not reduce enough to overcome the bandwidth increase. In this paper, we propose CHOP (Caching HOt Pages) in DRAM caches to address these challenges. We study several filter-based DRAM caching techniques: (a) a filter cache (CHOP-FC) that profiles pages and determines the hot subset of pages to allocate into the DRAM cache, (b) a memory-based filter cache (CHOP-MFC) that spills and fills filter state to improve the accuracy and reduce the size of the filter cache and (c) an adaptive DRAM caching technique (CHOP-AFC) to determine when the filter cache should be enabled and disabled for DRAM caching. We conduct detailed simulations with server workloads to show that our filter-based DRAM caching techniques achieve the following: (a) on average over 30% performance improvement over previous solutions, (b) several magnitudes lower area overhead in tag space required for cache-line based DRAM caches, (c) significantly lower memory bandwidth consumption as compared to page-granular DRAM caches.
Xiaowei Jiang, Niti Madan, Li Zhao 0002, Mike Upton, Ravi R. Iyer 0001, Srihari Makineni, Donald Newell, Yan Solihin, Rajeev Balasubramonian
HPCA3
2010 Quality of service shared cache management in chip multiprocessor architecture
abstract
The trends in enterprise IT toward service-oriented computing, server consolidation, and virtual computing point to a future in which workloads are becoming increasingly diverse in terms of performance, reliability, and availability requirements. It can be expected that more and more applications with diverse requirements will run on a Chip Multi-Processor (CMP) and share platform resources such as the lowest level cache and off-chip bandwidth. In this environment, it is desirable to have microarchitecture and software support that can provide a guarantee of a certain level of performance, which we refer to as performance Quality of Service . In this article, we investigated a framework would be needed to manage the shared cache resource for fully providing QoS in a CMP. We found in order to fully provide QoS, we need to specify an appropriate QoS target for each job and apply an admission control policy to accept jobs only when their QoS targets can be satisfied. We also found that providing strict QoS often leads to a significant reduction in throughput due to resource fragmentation. We proposed throughput optimization techniques that include: (1) exploiting various QoS execution modes, and (2) a microarchitecture technique, which we refer to as resource stealing, that detects and reallocates excess cache capacity from a job while preserving its QoS target. We designed and evaluated three algorithms for performing resource stealing, which differ in how aggressive they are in stealing excess cache capacity, and in the degree of confidence in meeting QoS targets. In addition, we proposed a mechanism to dynamically enable or disable resource stealing depending on whether other jobs can benefit from additional cache capacity. We evaluated our QoS framework with a full system simulation of a 4-core CMP and a recent version of the Linux Operating System. We found that compared to an unoptimized scheme, the throughput can be improved by up to 47%, making the throughput significantly closer to a non-QoS CMP.
Yan Solihin, Li Zhao 0002, Ravi R. Iyer 0001
ACM Trans. Archit. Code Optim.3
2009 Architecture Support for Improving Bulk Memory Copying and Initialization Performance
abstract
Bulk memory copying and initialization is one of the most ubiquitous operations performed in current computer systems by both user applications and Operating Systems. While many current systems rely on a loop of loads and stores, there are proposals to introduce a single instruction to perform bulk memory copying. While such an instruction can improve performance due to generating fewer TLB and cache accesses, and requiring fewer pipeline resources, in this paper we show that the key to significantly improving the performance is removing pipeline and cache bottlenecks of the code that follows the instructions. We show that the bottlenecks arise due to (1) the pipeline clogged by the copying instruction, (2) lengthened critical path due to dependent instructions stalling while waiting for the copying to complete, and (3) the inability to specify (separately) the cacheability of the source and destination regions. We propose FastBCI, an architecture support that achieves the granularity efficiency of a bulk copying/ initialization instruction, but without its pipeline and cache bottlenecks. When applied to OS kernel buffer management, we show that on average FastBCI achieves anywhere between 23% to 32% speedup ratios, which is roughly 3x-4x of an alternative scheme, and 1.5x-2x of a highly optimistic DMA with zero setup and interrupt overheads.
Xiaowei Jiang, Yan Solihin, Li Zhao 0002, Ravi R. Iyer 0001
PACT3
2009 Frequent value compression in packet-based NoC architectures
abstract
The proliferation of chip multiprocessors (CMPs) has led to the integration of large on-chip caches. For scalability reasons, a large on-chip cache is often divided into smaller banks that are interconnected through packet-based network-on-chip (NoC). With increasing number of cores and cache banks integrated on a single die, the on-chip network introduces significant communication latency and power consumption. In this paper, we propose a novel scheme that exploitsfrequentvaluecompression to optimize the power and performance of NoC. Our experimental results show that the proposed scheme reduces the router power by up to 16.7%, with CPI reduction as much as 23.5% in our setting. Comparing to the recent zero pattern compression scheme, thefrequentvaluescheme saves up to 11.0% more router power and has up to 14.5% more CPI reduction. Hardware design of the FV table and its overhead are also presented.
Bo Zhao 0007, Yu Du 0002, Yi Xu 0010, Youtao Zhang, Jun Yang 0002, Li Zhao 0002
ASP-DAC7
2009 Optimizing communication and capacity in a 3D stacked reconfigurable cache hierarchy
abstract
Cache hierarchies in future many-core processors are expected to grow in size and contribute a large fraction of overall processor power and performance. In this paper, we postulate a 3D chip design that stacks SRAM and DRAM upon processing cores and employs OS-based page coloring to minimize horizontal communication of cache data. We then propose a heterogeneous reconfigurable cache design that takes advantage of the high density of DRAM and the superior power/delay characteristics of SRAM to efficiently meet the working set demands of each individual core. Finally, we analyze the communication patterns for such a processor and show that a tree topology is an ideal fit that significantly reduces the power and latency requirements of the on-chip network. The above proposals are synergistic: each proposal is made more compelling because of its combination with the other innovations described in this paper. The proposed reconfigurable cache model improves performance by up to 19% along with 48% savings in network power.
Niti Madan, Li Zhao 0002, Naveen Muralimanohar, Aniruddha N. Udipi, Rajeev Balasubramonian, Ravi R. Iyer 0001, Srihari Makineni, Donald Newell
HPCA2
2009 Hardware/Software Co-Simulation for Last Level Cache Exploration
abstract
Larger last level caches are being considered for bridging the performance gap between the processors and the memory subsystem. It requires much longer simulation time to exercise the whole cache and get accurate evaluation results. In this paper, we motivate the need for a trace-driven hardware/software co-simulation approach to solve this problem. We describe the components of the hardware/software co-simulation: (a) a hardware approach for FSB (front side bus) cycle accurate long trace extraction and (b) a software simulation infrastructure to simulate arbitrary length of traces limited only by the storage system. We compare this hardware/software co-simulation approach to previous approaches (software-only and hardware FPGA-cache simulation) and articulate why our proposed approach is more flexible, more repeatable and sufficiently fast for last-level cache exploration. Evaluation results based on our hardware/software co-simulation infrastructure shows that our approach provides accurate results and shows the importance of timing information in accurate trace-driven simulations. We also demonstrate that it is not adequate to use short traces to get accurate results. Instead, the whole trace for the whole lifecycle of the workload, or at least a long trace (~5 minutes) should be used to capture the real behavior of the workloads.
Tao Wang 0004, Qigang Wang, Michael Liao, Li Zhao 0002, Ravi R. Iyer 0001, Ramesh Illikkal, John Du
NAS7
2009 VM3: Measuring, modeling and managing VM shared resources
Ravi R. Iyer 0001, Ramesh Illikkal, Omesh Tickoo, Li Zhao 0002, Padma Apparao, Donald Newell
Comput. Networks4
2007 CacheScouts: Fine-Grain Monitoring of Shared Caches in CMP Platforms
Li Zhao 0002, Ravi R. Iyer 0001, Ramesh Illikkal, Jaideep Moses, Srihari Makineni, Donald Newell
PACT1
2007 Constraint-Aware Large-Scale CMP Cache Design
Li Zhao 0002, Ravi R. Iyer 0001, Srihari Makineni, Ramesh Illikkal, Jaideep Moses, Donald Newell
HiPC1
2007 Exploring DRAM cache architectures for CMP server platforms
abstract
As dual-core and quad-core processors arrive in the marketplace, the momentum behind CMP architectures continues to grow strong. As more and more cores/threads are placed on-die, the pressure on the memory subsystem is rapidly increasing. To address this issue, we explore DRAM cache architectures for CMP platforms. In this paper, we investigate the impact of introducing a low latency, large capacity and high bandwidth DRAM-based cache between the last level SRAM cache and memory subsystem. We first show the potential benefits of large DRAM caches for key commercial server workloads. As the primary hurdle to achieving these benefits with DRAM caches is the tag space overheads associated with them, we identify the most efficient DRAM cache organization and investigate various options. Our results show that the combination of 8-bit partial tags and 2-way sectoring achieves the highest performance (20% to 70%) with the lowest tag space (<25%) overhead.
Li Zhao 0002, Ravi R. Iyer 0001, Ramesh Illikkal, Donald Newell
ICCD1
2007 Accelerating Full-System Simulation through Characterizing and Predicting Operating System Performance
abstract
The ongoing trend of increasing computer hardware and software complexity has resulted in the increase in complexity and overheads of cycle-accurate processor system simulation, especially in full-system simulation which not only simulates user applications, but also the operating system (OS) and system libraries. This paper seeks to address how to accelerate full-system simulation through studying, characterizing, and predicting the performance behavior of OS services. Through studying the performance behavior of OS services, we found that each OS service exhibits multiple but limited behavior points that are repeated frequently. OS services also exhibit application-specific performance behavior and largely irregular patterns of occurrences. We exploit the observation to speed up full system simulation. A simulation run is divided into two non-overlapping periods: a learning period in which performance behavior of instances of an OS service are characterized and recorded, and a prediction period in which detailed simulation is replaced with a much faster emulation mode. During a prediction period, the behavior signature of an instance of an OS service is obtained through emulation while performance of the instance is predicted based on its signature and records of the OS service's past performance behavior. Statistically-rigorous algorithms are used to determine when to switch between learning and prediction periods. We test our simulation acceleration method with a set of OS-intensive applications and a recent version of Linux OS running on top of a detailed processor and memory hierarchy model implemented on Simics, a popular full-system simulator. On average, the method needs the learning periods to cover only 11% of OS service invocations in order to produce highly accurate performance estimates. This leads to an estimated simulation speedup of 4.9times, with an average performance prediction error of only 3.2%, and a worst case error of 4.2%
Seongbeom Kim, Yan Solihin, Ravi R. Iyer 0001, Li Zhao 0002, W. Cohen
ISPASS5
2007 A Framework for Providing Quality of Service in Chip Multi-Processors
abstract
The trends in enterprise IT toward service-oriented computing, server consolidation, and virtual computing point to a future in which workloads are becoming increasingly diverse in terms of performance, reliability, and availability requirements. It can be expected that more and more applications with diverse requirements will run on a CMP and share platform resources such as the lowest level cache and off-chip bandwidth. In this environment, it is desirable to have microarchitecture and software support that can provide a guarantee of a certain level of performance, which we refer to as performance Quality of Service. In this paper, we investigate a framework that would be needed for a CMP to fully provide QoS. We found that the ability of a CMP to partition platform resources alone is not sufficient for fully providing QoS. We also need an appropriate way to specify a QoS target, and an admission control policy that accepts jobs only when their QoS targets can be satisfied. We also found that providing strict QoS often leads to a significant reduction in throughput due to resource fragmentation. We propose novel throughput optimization techniques that include: (1) exploiting various QoS execution modes, and (2) a microarchitecture technique that steals excess resources from a job while still meeting its QoS target. We evaluated our QoS framework with a full system simulation of a 4-core CMP and a recent version of the Linux Operating System. We found that compared to an unoptimized scheme, the throughput can be improved by up to 47%, making the throughput significantly closer to a non-QoS CMP.
Yan Solihin, Li Zhao 0002, Ravi R. Iyer 0001
MICRO3
2007 QoS policies and architecture for cache/memory in CMP platforms
abstract
As we enter the era of CMP platforms with multiple threads/cores on the die, the diversity of the simultaneous workloads running on them is expected to increase. The rapid deployment of virtualization as a means to consolidate workloads on to a single platform is a prime example of this trend. In such scenarios, the quality of service (QoS) that each individual workload gets from the platform can widely vary depending on the behavior of the simultaneously running workloads. While the number of cores assigned to each workload can be controlled, there is no hardware or software support in today's platforms to control allocation of platform resources such as cache space and memory bandwidth to individual workloads. In this paper, we propose a QoS-enabled memory architecture for CMP platforms that addresses this problem. The QoS-enabled memory architecture enables more cache resources (i.e. space) and memory resources (i.e. bandwidth) for high priority applications based on guidance from the operating environment. The architecture also allows dynamic resource reassignment during run-time to further optimize the performance of the high priority application with minimal degradation to low priority. To achieve these goals, we will describe the hardware/software support required in the platform as well as the operating environment (O/S and virtual machine monitor). Our evaluation framework consists of detailed platform simulation models and a QoS-enabled version of Linux. Based on evaluation experiments, we show the effectiveness of a QoS-enabled architecture and summarize key findings/trade-offs.
Ravi R. Iyer 0001, Li Zhao 0002, Ramesh Illikkal, Srihari Makineni, Donald Newell, Yan Solihin, Lisa R. Hsu, Steven K. Reinhardt
SIGMETRICS2
2007 Hardware Support for Accelerating Data Movement in Server Platform
abstract
Data movement (memory copies) is a very common operation during network processing and application execution on servers. The performance of this operation is rather poor on today's microprocessors due to the following aspects: 1) Several long-latency memory accesses are involved because the source and/or the destination are typically in memory, 2) latency hiding techniques, such as out-of-order execution, hardware threading, and prefetching, are not very effective for bulk data movement, and 3) microprocessors move data at register (small) granularity. In this paper, we show this overhead of bulk data movement and propose the use of dedicated copy engines to minimize it. We present a detailed analysis of copy engine architectures along two dimensions: 1) on-die versus off-die and 2) synchronous versus asynchronous. These copy engine architectures are superior to traditional direct memory access (DMA) engines because they are tightly coupled to the core architecture and enable lower overhead communication and signaling. We describe the hardware support required to implement these copy engines and integrate them into server platforms. We perform a detailed case study to evaluate the performance of these copy engines. The evaluation is based on an execution-driven simulator, which was extended with detailed models of copy engines. Our simulation results show that copy engines are effective in reducing the bulk data movement overhead and, hence, hold significant promise for high-performance server platforms
Li Zhao 0002, Laxmi N. Bhuyan, Ravi R. Iyer 0001, Srihari Makineni, Donald Newell
IEEE Trans. Computers1
2006 Receive Side Coalescing for Accelerating TCP/IP Processing
Srihari Makineni, Ravi R. Iyer 0001, Partha Sarangam, Donald Newell, Li Zhao 0002, Ramesh Illikkal, Jaideep Moses
HiPC5
2005 SpliceNP: a TCP splicer using a network processor
abstract
TCP Splicing can be used in content-aware switches to tremendously reduce overall request latency. In order to reduce the processing latency further, we propose to offload the protocol processing onto network processors (NPs). An NP consists of a multithreaded multiprocessor architecture that can provide high throughput for packet processing or forwarding. However, offloading any protocol software to an NP needs to be carefully designed due to its low-level programming and limited control memory size.In this paper, we first analyze the operation of TCP Splicing in detail and evaluate its performance through measurements on a Linux-based switch. Then various possibilities of workload allocation among different computation resources in an NP are presented, and the design tradeoffs are discussed. A content aware switch is implemented using IXP 2400 NP and evaluated for performance comparison. The measurement results demonstrate that our NP-based switch can reduce the http processing latency by an average of 83.3% for a 1K byte web page. The amount of reduction increases with larger file sizes. It is also shown that the packet throughput can be improved by up to 5.7x across a range of files by taking advantage of multithreading and multiprocessing, available in the NP.
Li Zhao 0002, Yan Luo 0001, Laxmi N. Bhuyan, Ravi R. Iyer 0001
ANCS1
2005 Hardware Support for Bulk Data Movement in Server Platforms
abstract
Bulk data movement occurs commonly in server work-loads and their performance is rather poor on today's microprocessors. We propose the use of small dedicated copy engines, and present a detailed analysis of a bulk data copy engine architecture. We describe the hardware support required to implement the copy engine and to tightly integrate it into server platforms. Our evaluation is based on an execution driven simulator that was extended with detailed models of bulk data movement engines. The simulation results show that dedicated engines are quite effective in eliminating the data movement overhead and are an attractive choice for handling bulk data in future high performance server platforms.
Li Zhao 0002, Ravi R. Iyer 0001, Srihari Makineni, Laxmi N. Bhuyan, Donald Newell
ICCD1
2005 Anatomy and Performance of SSL Processing
abstract
A wide spectrum of e-commerce (B2B/B2C), banking, financial trading and other business applications require the exchange of data to be highly secure. The Secure Sockets Layer (SSL) protocol provides the essential ingredients of secure communications - privacy, integrity and authentication. Though it is well-understood that security always comes at the cost of performance, these costs depend on the cryptographic algorithms. In this paper, we present a detailed description of the anatomy of a secure session. We analyze the time spent on the various cryptographic operations (symmetric, asymmetric and hashing) during the session negotiation and data transfer. We then analyze the most frequently used cryptographic algorithms (RSA, AES, DES, 3DES, RC4, MD5 and SHA-1). We determine the key components of these algorithms (setting up key schedules, encryption rounds, substitutions, permutations, etc) and determine where most of the time is spent. We also provide an architectural analysis of these algorithms, show the frequently executed instructions and discuss the ISA/hardware support that may be beneficial to improving SSL performance. We believe that the performance data presented in this paper is useful to performance analysts and processor architects to help accelerate SSL performance in future processors
Li Zhao 0002, Ravi R. Iyer 0001, Srihari Makineni, Laxmi N. Bhuyan
ISPASS1