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

Tong Li 0003

dblp:29/3826-3 · DBLP profile ↗
← Back
11ranked-venue papers
6as first author
0since 2021 · last 2013
—ORCID · conflict

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

Systems, architecture and hardware · 10 · 6 first-authorArtificial intelligence and machine learning · 1Software engineering, systems software and programming languages · 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
5 papers
Processor architecture and microarchitecture · 35% Parallel and multicore computing · 26% GPUs and heterogeneous computing · 18%
Software engineering, system software, and programming languages
4 papers
Operating systems · 56% Concurrent programming · 44%

Topics — the 19 heaviest of 20, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › resource management › process management
CPU scheduling
0.332010
Operating system support for overlapping-ISA heterogeneous multi-core architectures · HPCA 2010
Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin · PPoPP 2009
Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007
GPUs and heterogeneous computing › heterogeneous architecture
heterogeneous processors
0.112010
Operating system support for overlapping-ISA heterogeneous multi-core architectures · HPCA 2010
Concurrent programming
fair scheduling
0.112009
Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin · PPoPP 2009
Embedded and real-time systems › real-time scheduling
multiprocessor scheduling
0.112009
Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin · PPoPP 2009
Parallel and multicore computing › task scheduling › process scheduling
proportional share scheduling
0.112009
Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin · PPoPP 2009
Processor architecture and microarchitecture
multithreading
0.112006
Spin Detection Hardware for Improved Management of Multithreaded Systems · IEEE Trans. Parallel Distributed Syst. 2006
Parallel and multicore computing
synchronization
0.112006
Spin Detection Hardware for Improved Management of Multithreaded Systems · IEEE Trans. Parallel Distributed Syst. 2006
Concurrent programming
deadlock detection
0.112005
Pulse: A Dynamic Deadlock Detection Mechanism Using Speculative Execution · USENIX ATC, General Track 2005
Concurrent programming › deadlock detection
dynamic deadlock detection
0.112005
Pulse: A Dynamic Deadlock Detection Mechanism Using Speculative Execution · USENIX ATC, General Track 2005
Concurrent programming
synchronization
0.112005
Pulse: A Dynamic Deadlock Detection Mechanism Using Speculative Execution · USENIX ATC, General Track 2005
Processor architecture and microarchitecture › out-of-order execution
instruction window
0.012002
A Large, Fast Instruction Window for Tolerating Cache Misses · ISCA 2002
Processor architecture and microarchitecture › out-of-order execution
issue queue
0.012002
A Large, Fast Instruction Window for Tolerating Cache Misses · ISCA 2002
Processor architecture and microarchitecture
out-of-order execution
0.012002
A Large, Fast Instruction Window for Tolerating Cache Misses · ISCA 2002
Operating systems › resource management › process management › CPU scheduling
NUMA-aware scheduling
0.012007
Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007
Processor architecture and microarchitecture › multicore design › heterogeneous multicore
asymmetric multicore
0.012007
Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007
Processor architecture and microarchitecture
multicore design
0.012007
Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007
Performance modeling and evaluation › performance monitoring
hardware performance counters
0.012006
Spin Detection Hardware for Improved Management of Multithreaded Systems · IEEE Trans. Parallel Distributed Syst. 2006
Memory systems
cache
0.012002
A Large, Fast Instruction Window for Tolerating Cache Misses · ISCA 2002
Memory systems › cache
cache miss tolerance
0.012002
A Large, Fast Instruction Window for Tolerating Cache Misses · ISCA 2002

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

linux kernel implementation · 0.2proportional fairness analysis · 0.2distributed thread queues · 0.2load balancing · 0.1CPU clock modulation · 0.1full-system simulation · 0.1speculative execution · 0.1simulation · 0.0
YearPublicationVenuePosition
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.6
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
ISLPED6
2010 Operating system support for overlapping-ISA heterogeneous multi-core architectures
abstract
A heterogeneous processor consists of cores that are asymmetric in performance and functionality. Such a design provides a cost-effective solution for processor manufacturers to continuously improve both single-thread performance and multi-thread throughput. This design, however, faces significant challenges in the operating system, which traditionally assumes only homogeneous hardware. This paper presents a comprehensive study of OS support for heterogeneous architectures in which cores have asymmetric performance and overlapping, but non-identical instruction sets. Our algorithms allow applications to transparently execute and fairly share different types of cores. We have implemented these algorithms in the Linux 2.6.24 kernel and evaluated them on an actual heterogeneous platform. Evaluation results demonstrate that our designs efficiently manage heterogeneous hardware and enable significant performance improvements for a range of applications.
Tong Li 0003, Paul Brett, Rob C. Knauerhase, David A. Koufaty, Dheeraj Reddy, Scott Hahn
HPCA1
2009 Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin
abstract
Fairness is an essential requirement of any operating system scheduler. Unfortunately, existing fair scheduling algorithms are either inaccurate or inefficient and non-scalable for multiprocessors. This problem is becoming increasingly severe as the hardware industry continues to produce larger scale multi-core processors. This paper presents Distributed Weighted Round-Robin (DWRR), a new scheduling algorithm that solves this problem. With distributed thread queues and small additional overhead to the underlying scheduler, DWRR achieves high efficiency and scalability. Besides conventional priorities, DWRR enables users to specify weights to threads and achieve accurate proportional CPU sharing with constant error bounds. DWRR operates in concert with existing scheduler policies targeting other system attributes, such as latency and throughput. As a result, it provides a practical solution for various production OSes. To demonstrate the versatility of DWRR,we have implemented it in Linux kernels 2.6.22.15 and 2.6.24, which represent two vastly different scheduler designs. Our evaluation shows that DWRR achieves accurate proportional fairness and high performance for a diverse set of workloads.
Tong Li 0003, Dan P. Baumberger, Scott Hahn
PPoPP1
2007 Soft Real-Time Scheduling on Performance Asymmetric Multicore Platforms
abstract
This paper discusses an approach for supporting soft real-time periodic tasks in Linux on performance asymmetric multicore platforms (AMPs). Such architectures consist of a large number of processing units on one or several chips, where each processing unit is capable of executing the same instruction set at a different performance level. We discuss deficiencies of Linux in supporting periodic real-time tasks, particularly when cores are asymmetric, and how such deficiencies were overcome. We also investigate how to provide good performance for non-real-time tasks in the presence of a real-time workload. We show that this can be done by using deferrable servers to explicitly reserve a share of each core for non-real-time tasks. This allows non-real-time tasks to have priority over real-time tasks when doing so will not cause timing requirements to be violated, thus improving non-real-time response times. Experiments show that even small deferrable servers can have a dramatic impact on non-real-time task performance
John M. Calandrino, Dan P. Baumberger, Tong Li 0003, Scott Hahn, James H. Anderson
IEEE Real-Time and Embedded Technology and Applications Symposium3
2007 Efficient operating system scheduling for performance-asymmetric multi-core architectures
abstract
Recent research advocates asymmetric multi-core architectures, where cores in the same processor can have different performance. These architectures support single-threaded performance and multithreaded throughput at lower costs (e.g., die size and power). However, they also pose unique challenges to operating systems, which traditionally assume homogeneous hardware. This paper presents AMPS, an operating system scheduler that efficiently supports both SMP-and NUMA-style performance-asymmetric architectures. AMPS contains three components: asymmetry-aware load balancing, faster-core-first scheduling, and NUMA-aware migration. We have implemented AMPS in Linux kernel 2.6.16 and used CPU clock modulation to emulate performance asymmetry on an SMP and NUMA system. For various workloads, we show that AMPS achieves a median speedup of 1.16 with a maximum of 1.44 over stock Linux on the SMP, and a median of 1.07 with a maximum of 2.61 on the NUMA system. Our results also show that AMPS improves fairness and repeatability of application performance measurements.
Tong Li 0003, Dan P. Baumberger, David A. Koufaty, Scott Hahn
SC1
2006 Spin Detection Hardware for Improved Management of Multithreaded Systems
abstract
Spinning is a synchronization mechanism commonly used in applications and operating systems. Excessive spinning, however, often indicates performance or correctness (e.g., livelock) problems. Detecting if applications and operating systems are spinning is essential for achieving high performance, especially in consolidated servers running virtual machines. Prior research has used source or binary instrumentation to detect spinning. However, these approaches place a significant burden on programmers and may even be infeasible in certain situations. In this paper, we propose efficient hardware to detect spinning in unmodified applications and operating systems. Based on this hardware, we develop 1) scheduling and power policies that adaptively manage resources for spinning threads, 2) system support that helps detect when a multithreaded program is livelocked, and 3) hardware performance counters that accurately reflect system performance. Using full-system simulation with SPEC OMP, SPLASH-2, and Wisconsin commercial workloads, we demonstrate that our mechanisms effectively improve the management of multithreaded systems
Tong Li 0003, Alvin R. Lebeck, Daniel J. Sorin
IEEE Trans. Parallel Distributed Syst.1
2005 Pulse: A Dynamic Deadlock Detection Mechanism Using Speculative Execution
Tong Li 0003, Carla Schlatter Ellis, Alvin R. Lebeck, Daniel J. Sorin
USENIX ATC, General Track1
2003 Quantifying instruction criticality for shared memory multiprocessors
abstract
Recent research on processor microarchitecture suggests using instruction criticality as a metric to guide hardware control policies. Fields et al. [3, 4] have proposed a directed acyclic graph (DAG) model for characterizing program microexecutions on uniprocessors. Under such a model, critical path analysis can be applied and instructions' slack values can be used to quantify instruction criticality. In this paper, we extend the uniprocessor DAG model to characterize parallel program executions on shared memory multiprocessor systems. We describe how critical path analysis can be applied, at a fine grain, in a multiprocessor system running both finite and continuous workloads. We provide detailed evaluations for various aspects of multiprocessor executions under the DAG model. To enable efficient offline critical path analysis, we propose a novel graph reduction technique that reduces a DAG to an equivalent but significantly smaller DAG.
Tong Li 0003, Alvin R. Lebeck, Daniel J. Sorin
SPAA1
2002 A Large, Fast Instruction Window for Tolerating Cache Misses
abstract
Instruction window size is an important design parameter for many modern processors. This paper presents a new instruction window design targeted at achieving the latency tolerance of large windows with the clock cycle time of small windows. The key observation is that instructions dependent on a long latency operation (e.g., cache miss) cannot execute until that source operation completes. These instructions are moved out of the conventional, small, issue queue to a much larger waiting instruction buffer (WIB). When the long latency operation completes, the instructions are reinserted into the issue queue. In this paper, we focus specifically on load cache misses and their dependent instructions. Simulations reveal that, for an 8-way processor, a 2K-entry WIB with a 32-entry issue queue can achieve speedups of 20%, 84%, and 50% over a conventional 32-entry issue queue for a subset of the SPEC CINT2000, SPEC CFP2000, and Olden benchmarks, respectively.
Alvin R. Lebeck, Tong Li 0003, Eric Rotenberg, Jinson Koppanalil, Jaidev P. Patwardhan
ISCA2
1999 My Brain is Full: When More Memory Helps
Christopher Lusena, Tong Li 0003, Shelia Sittinger, Chris Wells, Judy Goldsmith
UAI2