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.

Xin Tong 0005

dblp:86/2176-5 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
0since 2021 · last 2015
0000-0001-8534-3827ORCID · corroborated

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

Systems, architecture and hardware · 6 · 2 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-author

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
Memory systems · 85% Electronic design automation · 7% Cloud and datacenter computing · 6%
Databases, data mining, and information retrieval
1 paper
Transaction processing and concurrency control · 100%

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

TopicWeightPapersLastEvidence papers
Memory systems › memory management › virtual memory
address translation
0.422015
Prediction-based superpage-friendly TLB designs · HPCA 2015
Optimizing Memory Translation Emulation in Full System Emulators · ACM Trans. Archit. Code Optim. 2014
Memory systems
cache
0.422015
Self-contained, accurate precomputation prefetching · MICRO 2015
RECAP: A region-based cure for the common cold (cache) · HPCA 2013
Memory systems
cache design
0.222015
STREX: boosting instruction cache reuse in OLTP workloads through stratified transaction execution · ISCA 2013
Prediction-based superpage-friendly TLB designs · HPCA 2015
Memory systems › cache › prefetching
data prefetching
0.212015
Self-contained, accurate precomputation prefetching · MICRO 2015
Memory systems › memory management › virtual memory
huge pages
0.212015
Prediction-based superpage-friendly TLB designs · HPCA 2015
Memory systems › memory management › virtual memory › address translation › TLB
TLB design
0.212015
Prediction-based superpage-friendly TLB designs · HPCA 2015
Electronic design automation › hardware verification and test › functional verification › emulation
full-system emulation
0.212014
Optimizing Memory Translation Emulation in Full System Emulators · ACM Trans. Archit. Code Optim. 2014
Memory systems › virtual memory management
software TLB
0.212014
Optimizing Memory Translation Emulation in Full System Emulators · ACM Trans. Archit. Code Optim. 2014
Memory systems › cache › cache behavior
cache reuse
0.212013
STREX: boosting instruction cache reuse in OLTP workloads through stratified transaction execution · ISCA 2013
Memory systems › cache › CPU cache
instruction cache
0.212013
STREX: boosting instruction cache reuse in OLTP workloads through stratified transaction execution · ISCA 2013
Cloud and datacenter computing
virtualization
0.212013
RECAP: A region-based cure for the common cold (cache) · HPCA 2013
Memory systems › cache › prefetching
hardware prefetching
0.112015
Self-contained, accurate precomputation prefetching · MICRO 2015
Performance modeling and evaluation
simulation
0.112014
Optimizing Memory Translation Emulation in Full System Emulators · ACM Trans. Archit. Code Optim. 2014
Transaction processing and concurrency control
OLTP
0.012013
STREX: boosting instruction cache reuse in OLTP workloads through stratified transaction execution · ISCA 2013
Memory systems › cache
prefetching
0.012013
RECAP: A region-based cure for the common cold (cache) · HPCA 2013

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

thread migration · 0.3set-associative design · 0.2program slicing · 0.2prediction table · 0.2profiling · 0.2STLB optimization · 0.2compression · 0.2block reuse filtering · 0.2
YearPublicationVenuePosition
2015 Prediction-based superpage-friendly TLB designs
abstract
This work demonstrates that a set of commercial and scale-out applications exhibit significant use of superpages and thus suffer from the fixed and small superpage TLB structures of some modern core designs. Other processors better cope with superpages at the expense of using power-hungry and slow fully-associative TLBs. We consider alternate designs that allow all pages to freely share a single, power-efficient and fast set-associative TLB. We propose a prediction-guided multi-grain TLB design that uses a superpage prediction mechanism to avoid multiple lookups in the common case. In addition, we evaluate the previously proposed skewed TLB [1] which builds on principles similar to those used in skewed associative caches [2]. We enhance the original skewed TLB design by using page size prediction to increase its effective associativity. Our prediction-based multi-grain TLB design delivers more hits and is more power efficient than existing alternatives. The predictor uses a 32-byte prediction table indexed by base register values.
Misel-Myrto Papadopoulou, Xin Tong 0005, André Seznec, Andreas Moshovos
HPCA2
2015 QTrace: a framework for customizable full system instrumentation
abstract
This work presents QTrace, an open-source instrumentation extension API for QEMU (1) that can instrument unmodified applications and OS binaries for uni- and multi-processor systems. QTrace facilitates the development of custom, full-system instrumentation tools for the X86 guest architecture enabling statistics collection and program execution studies including system-level code. This paper: illustrates QTrace's API through instrumentation examples, discusses how QEMU was modified to implement QTrace, explains the validation testing procedures, shows QTrace's usefulness in comparison to a user-level binary instrumentation tool in workloads that spend significant time in the kernel, and illustrates that QTrace does not impose a significant performance penalty. Experiments show that for an instruction count plug-in, QTrace is 12.2X slower than PIN [2], a user-level only instrumentation tool, and 4.1X faster than BOCHS [3], a full-system emulator. QTrace without instrumentation performs similarly to the un-modified QEMU.
Xin Tong 0005, Andreas Moshovos
ISPASS1
2015 Self-contained, accurate precomputation prefetching
abstract
This work revisits precomputation prefetching targeting long access latency loads with access patterns that are hard to predict. It presents Ekivolos, a precomputation prefetcher system that automatically builds prefetching slices that contain enough control flow instructions to faithfully and autonomously recreate the program's access behavior without inducing monitoring and execution overhead on the main thread. Ekivolos departs from the traditional notion of creating optimized short slices. In contrast, it shows that even longer slices can run ahead of the main thread and perform useful prefetches as long as they are sufficiently accurate. Ekivolos operates on arbitrary application binaries and takes advantage of the observed execution paths in creating its slices. On a set of emerging workloads Ekivolos outperforms three state-of-the-art hardware prefetchers and previously proposed precomputation-based prefetchers.
Islam Atta, Xin Tong 0005, Vijayalakshmi Srinivasan, Ioana Baldini, Andreas Moshovos
MICRO2
2014 BarTLB: Barren page resistant TLB for managed runtime languages
abstract
This work observes that many translation lookaside buffer (TLB) misses in Java workloads originate from barren pages. That is, pages that contain mostly dead objects sprinkled with only a few live objects. Barren pages experience only a few accesses every time they are touched thrashing a conventional TLB. This work characterizes the barren page phenomenon and proposes (1) a low-cost barren page identification technique, and (2) two simple, low-cost techniques for improving TLB performance: (a) The Barren Page First (BPF) replacement policy extends an existing TLB replacement policy to prefer barren pages on evictions. (b) Selective In-Cache Translation Caching (SICTC) avoids installing barren pages in the TLB by augmenting one way of a virtually-indexed, physically-tagged L1 data cache with virtual tags. For all workloads considered BPF and SICTC not only prove robust but also improve performance by 1.7% and 5.1% on average and by up to 4.6% and 12.0% respectively.
Xin Tong 0005, Andreas Moshovos
ICCD1
2014 Optimizing Memory Translation Emulation in Full System Emulators
abstract
The emulation speed of a full system emulator (FSE) determines its usefulness. This work quantitatively measures where time is spent in QEMU [Bellard 2005], an industrial-strength FSE. The analysis finds that memory emulation is one of the most heavily exercised emulator components. For workloads studied, 38.1% of the emulation time is spent in memory emulation on average, even though QEMU implements a software translation lookaside buffer (STLB) to accelerate dynamic address translation. Despite the amount of time spent in memory emulation, there has been no study on how to further improve its speed. This work analyzes where time is spent in memory emulation and studies the performance impact of a number of STLB optimizations. Although there are several performance optimization techniques for hardware TLBs, this work finds that the trade-offs with an STLB are quite different compared to those with hardware TLBs. As a result, not all hardware TLB performance optimization techniques are applicable to STLBs and vice versa. The evaluated STLB optimizations target STLB lookups, as well as refills, and result in an average emulator performance improvement of 24.4% over the baseline.
Xin Tong 0005, Toshihiko Koju, Motohiro Kawahito, Andreas Moshovos
ACM Trans. Archit. Code Optim.1
2013 RECAP: A region-based cure for the common cold (cache)
abstract
Virtualization has become a magic bullet to increase utilization, improve security, lower costs, and reduce management overheads. In many scenarios, the number of virtual machines consolidated onto a single processor has grown even faster than the number of hardware threads. This results in multiprogrammed virtualization where many virtual machines time-share a single processor core. Such fine-grain sharing comes at a cost; each time a virtual machine gets scheduled by the hypervisor, it effectively begins with a “cold” cache, since any cache blocks it accessed in the past have likely been evicted by other virtual machines. Recently, cache restoration prefetchers have been shown to reduce the cold cache effects caused by multiprogrammed virtualization. However, these prefetchers waste large amounts of bandwidth prefetching many useless blocks and writing and reading metadata to and from memory. Using block reuse based filtering, we enhance two existing cache restoration prefetchers and reduce their bandwidth overheads by 16% and 32%, with slowdowns of only 0.5% and 0.6%. We also propose a Region-Based Cache Restoration Prefetcher (RECAP), which groups cache blocks into coarse-grain regions of memory, and predicts which regions contain useful blocks to prefetch the next time the current virtual machine executes. Based on these predictions, and using a simple compression technique that exploits spatial locality, RECAP provides a robust prefetcher that improves performance by up to 42% for some applications and only uses 14% more bandwidth and 3.5% more power than a stride prefetcher, on average. Compared to other prefetchers designed for multiprogrammed virtualization, RECAP provides comparable performance while using an average of 12% to 27% less bandwidth, and reducing the energy-delay product of the L2 cache and main memory by 12% to 13% on average.
Jason Zebchuk, Harold W. Cain, Xin Tong 0005, Vijayalakshmi Srinivasan, Andreas Moshovos
HPCA3
2013 STREX: boosting instruction cache reuse in OLTP workloads through stratified transaction execution
abstract
Online transaction processing (OLTP) workload performance suffers from instruction stalls; the instruction footprint of a typical transaction exceeds by far the capacity of an L1 cache, leading to ongoing cache thrashing. Several proposed techniques remove some instruction stalls in exchange for error-prone instrumentation to the code base, or a sharp increase in the L1-I cache unit area and power. Others reduce instruction miss latency by better utilizing a shared L2 cache. SLICC [2], a recently proposed thread migration technique that exploits transaction instruction locality, is promising for high core counts but performs sub-optimally or may hurt performance when running on few cores.
Islam Atta, Pinar Tözün, Xin Tong 0005, Anastasia Ailamaki, Andreas Moshovos
ISCA3
2013 QTrace: An interface for customizable full system instrumentation
abstract
This work presents QTrace, an open-source instrumentation extension API developed on top of QEMU. QTrace instruments unmodified applications and OS binaries for uni- and multi-processor systems, enabling custom, full-system instrumentation tools for the x86 guest architecture. Computer architects can use QTrace to study whole program execution including system-level code. This paper motivates the need for QTrace, illustrates what QTrace can do, and discusses how QEMU was modified to implement QTrace.
Xin Tong 0005, Jack Luo, Andreas Moshovos
ISPASS1