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

Xianglong Huang

dblp:70/2156 · DBLP profile ↗
← Back
4ranked-venue papers
3as first author
0since 2021 · last 2006
—ORCID · none

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

Software engineering, systems software and programming languages · 2 · 2 first-authorSystems, architecture and hardware · 1 · 1 first-authorHuman-computer interaction and ubiquitous 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.

Software engineering, system software, and programming languages
1 paper
Runtime systems and virtual machines · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Memory systems · 100%

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

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines › garbage collection
copying garbage collection
0.012004
The garbage collection advantage: improving program locality · OOPSLA 2004
Runtime systems and virtual machines
garbage collection
0.012004
The garbage collection advantage: improving program locality · OOPSLA 2004
Memory systems
cache
0.012004
The garbage collection advantage: improving program locality · OOPSLA 2004
Memory systems
memory layout
0.012004
The garbage collection advantage: improving program locality · OOPSLA 2004

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

static analysis · 0.1run-time method sampling · 0.1online class analysis · 0.1JIT compilation · 0.1
YearPublicationVenuePosition
2006 Fast and efficient partial code reordering: taking advantage of dynamic recompilatior
abstract
Poor instruction cache locality can degrade performance on modern architectures. For example, our simulation results show that eliminating all instruction cache misses improves performance by as much as 16% for a modestly sized instruction cache. In this paper, we show how to take advantage of dynamic code generationin a Java Virtual Machine (VM) to improve instruction locality at run-time. We develop a dynamic code reordering (DCR) system; alow overhead, online approach for improving instruction locality. DCR has three optimizations: (1) Interprocedural method separation; (2) Intraprocedural code splitting; and (3) Code padding. DCR uses the dynamic call graph and an edge profile that most VMs already collect to separate hot/cold methods and hot/cold code within a method. It also puts padding between methods to minimize conflict misses between frequent caller/callee pairs. It incrementally performs these optimizations only when the VM is optimizing a method at a higher level. We implement DCR in Jikes RVM and show its overhead is negligible. Extensive simulation and run-time experiments show that a simple code space improves average performance on a Pentium 4 by around 6% on SPEC and DaCapo Java benchmarks. These programs however have very small instruction cache footprints that limit opportunities for DCR to improve performance. Consequently, DCR optimizations on average show little effect, sometimes degrading performance and occasionally improving performance by up to 5%. Our work shows that the VM has the potential to dynamically improve instruction locality incrementally by simply piggybacking on hotspot recompilation.
Xianglong Huang, Steve Blackburn, David Grove, Kathryn S. McKinley
ISMM1
2006 Dynamic code management: improving whole program code locality in managed runtimes
abstract
Poor code locality degrades application performance by increasing memory stalls due to instruction cache and TLB misses. This problem is particularly an issue for large server applications written in languages such as Java and C# that provide just-in-time (JIT) compilation, dynamic class loading, and dynamic recompilation. However, managed runtimes also offer an opportunity to dynamically profile applications and adapt them to improve their performance. This paper describes a Dynamic Code Management system (DCM) in a managed runtime that performs whole program code layout optimizations to improve instruction locality.We begin by implementing the widely used Pettis-Hansen algorithm for method layout to improve code locality. Unfortunately, this algorithm is too costly for a dynamic optimization system, O(n3) in time in the call graph. For example, Pettis-Hansen requires a prohibitively expensive 35 minutes to lay out MiniBean which has 15,586 methods. We propose three new code placement algorithms that target ITLB misses, which typically have the greatest impact on performance. The best of these algorithms, Code Tiling, groups methods into page sized tiles by performing a depth-first traversal of the call graph based on call frequency. Excluding overhead, experimental results show that DCM with Code Tiling improves performance by 6% on the large MiniBean benchmark over a baseline that orders methods based on invocation order, whereas Pettis-Hansen placement offers less improvement, 2%, over the same base. Furthermore, Code Tiling lays out MiniBean in just 0.35 seconds for 15,586 methods (6000 times faster than Pettis-Hansen) which makes it suitable for high-performance managed runtimes.
Xianglong Huang, Brian T. Lewis, Kathryn S. McKinley
VEE1
2004 The garbage collection advantage: improving program locality
abstract
As improvements in processor speed continue to outpace improvements in cache and memory speed, poor locality increasingly degrades performance. Because copying garbage collectors move objects, they have an opportunity to improve locality. However, no static copying order is guaranteed to match program traversal orders. This paper introduces online object reordering (OOR) which includes a new dynamic, online class analysis for Java that detects program traversal patterns and exploits them in a copying collector. OOR uses run-time method sampling that drives just-in-time (JIT) compilation. For each hot (frequently executed) method, OOR analysis identifies the hot field accesses. At garbage collection time, the OOR collector then copies referents of hot fields together with their parent. Enhancements include static analysis to exclude accesses in cold basic blocks, heuristics that decay heat to respond to phase changes, and a separate space for hot objects. The overhead of OOR is on average negligible and always less than 2% on Java benchmarks in Jikes RVM with MMTk. We compare program performance of OOR to static class-oblivious copying orders (e.g., breadth and depth first). Performance variation due to static orders is often low, but can be up to 25%. In contrast, OOR matches or improves upon the best static order since its history-based copying tunes memory layout to program traversal.
Xianglong Huang, Steve Blackburn, Kathryn S. McKinley, J. Eliot B. Moss, Zhenlin Wang 0003, Perry Cheng
OOPSLA1
2000 A visualization system for multithreaded programming
abstract
Article Free Access Share on A visualization system for multithreaded programming Authors: Michael Bedy Department of Computer Science, Michigan Technological University, Houghton, MI Department of Computer Science, Michigan Technological University, Houghton, MIView Profile , Steve Carr Department of Computer Science, Michigan Technological University, Houghton, MI Department of Computer Science, Michigan Technological University, Houghton, MIView Profile , Xianlong Huang Department of Computer Science, Michigan Technological University, Houghton, MI Department of Computer Science, Michigan Technological University, Houghton, MIView Profile , Ching-Kuang Shene Department of Computer Science, Michigan Technological University, Houghton, MI Department of Computer Science, Michigan Technological University, Houghton, MISearch about this author Authors Info & Claims SIGCSE '00: Proceedings of the thirty-first SIGCSE technical symposium on Computer science educationMay 2000Pages 1–5https://doi.org/10.1145/330908.331798Published:01 March 2000Publication History 24citation607DownloadsMetricsTotal Citations24Total Downloads607Last 12 Months46Last 6 weeks4 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Michael Bedy, Steve Carr 0001, Xianglong Huang, Ching-Kuang Shene
SIGCSE3