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

Yutao Zhong 0001

dblp:51/3178 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
0since 2021 · last 2009
0009-0004-1998-4748ORCID · corroborated

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

Software engineering, systems software and programming languages · 6 · 3 first-authorSystems, architecture and hardware · 3 · 1 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
6 papers
Performance modeling and evaluation · 55% Memory systems · 40% Storage systems · 5%
Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 100%
Theoretical computer science
1 paper
Algorithms and data structures · 100%

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

TopicWeightPapersLastEvidence papers
Performance modeling and evaluation
workload characterization
0.342009
Program locality analysis using reuse distance · ACM Trans. Program. Lang. Syst. 2009
Miss Rate Prediction Across Program Inputs and Cache Configurations · IEEE Trans. Computers 2007
Locality phase prediction · ASPLOS 2004
Performance modeling and evaluation › workload characterization
locality analysis
0.232009
Program locality analysis using reuse distance · ACM Trans. Program. Lang. Syst. 2009
Miss Rate Prediction Across Program Inputs and Cache Configurations · IEEE Trans. Computers 2007
Predicting whole-program locality through reuse distance analysis · PLDI 2003
Memory systems
cache management
0.122006
A hierarchical model of data locality · POPL 2006
Locality phase prediction · ASPLOS 2004
Memory systems › memory referencing behavior
reuse distance
0.112009
Program locality analysis using reuse distance · ACM Trans. Program. Lang. Syst. 2009
Memory systems
cache
0.122007
Miss Rate Prediction Across Program Inputs and Cache Configurations · IEEE Trans. Computers 2007
Predicting whole-program locality through reuse distance analysis · PLDI 2003
Performance modeling and evaluation › cache performance modeling
cache miss rate prediction
0.112007
Miss Rate Prediction Across Program Inputs and Cache Configurations · IEEE Trans. Computers 2007
Memory systems
data locality
0.112006
A hierarchical model of data locality · POPL 2006
Storage systems
data placement
0.112006
A hierarchical model of data locality · POPL 2006
Memory systems
data layout optimization
0.012004
Array regrouping and structure splitting using whole-program reference affinity · PLDI 2004
Memory systems › data layout optimization
structure splitting
0.012004
Array regrouping and structure splitting using whole-program reference affinity · PLDI 2004
Performance modeling and evaluation › cache performance modeling
reuse distance analysis
0.012003
Predicting whole-program locality through reuse distance analysis · PLDI 2003
Compilers and program optimization › memory optimization
data locality optimization
0.012009
Program locality analysis using reuse distance · ACM Trans. Program. Lang. Syst. 2009
Compilers and program optimization
binary rewriting
0.012004
Locality phase prediction · ASPLOS 2004
Memory systems › data locality
data reuse
0.012003
Predicting whole-program locality through reuse distance analysis · PLDI 2003

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

statistical prediction · 0.2approximate reuse-distance measurement · 0.2satisfiability reduction · 0.1sampling · 0.1wavelet filtering · 0.1variable-distance sampling · 0.1hierarchical partitioning · 0.1grammar compression · 0.1parameterized model · 0.1locality analysis · 0.1reference affinity model · 0.0
YearPublicationVenuePosition
2009 Program locality analysis using reuse distance
abstract
On modern computer systems, the memory performance of an application depends on its locality. For a single execution, locality-correlated measures like average miss rate or working-set size have long been analyzed using reuse distance —the number of distinct locations accessed between consecutive accesses to a given location. This article addresses the analysis problem at the program level, where the size of data and the locality of execution may change significantly depending on the input. The article presents two techniques that predict how the locality of a program changes with its input. The first is approximate reuse-distance measurement, which is asymptotically faster than exact methods while providing a guaranteed precision. The second is statistical prediction of locality in all executions of a program based on the analysis of a few executions. The prediction process has three steps: dividing data accesses into groups, finding the access patterns in each group, and building parameterized models. The resulting prediction may be used on-line with the help of distance-based sampling. When evaluated on fifteen benchmark applications, the new techniques predicted program locality with good accuracy, even for test executions that are orders of magnitude larger than the training executions. The two techniques are among the first to enable quantitative analysis of whole-program locality in general sequential code. These findings form the basis for a unified understanding of program locality and its many facets. Concluding sections of the article present a taxonomy of related literature along five dimensions of locality and discuss the role of reuse distance in performance modeling, program optimization, cache and virtual memory management, and network traffic analysis.
Yutao Zhong 0001, Xipeng Shen, Chen Ding 0001
ACM Trans. Program. Lang. Syst.1
2008 Sampling-based program locality approximation
abstract
Reuse signature, or reuse distance pattern, is an accurate model for program memory accessing behaviors. It has been studied and shown to be effective in program analysis and optimizations by many recent works. However, the high overhead associated with reuse distance measurement restricts the scope of its application. This paper explores applying sampling in reuse signature collection to reduce the time overhead. We compare different sampling strategies and show that an enhanced systematic sampling with a uniform coverage of all distance ranges can be used to extrapolate the reuse distance distribution. Based on that analysis, we present a novel sampling method with a measurement accuracy of more than 99%. Our average speedup of reuse signature collection is 7.5 while the best improvement observed is 34. This is the first attempt to utilize sampling in measuring reuse signatures. Experiments with varied programs and instrumentation tools show that sampling has great potential in promoting the practical uses of reuse signatures and enabling more optimization opportunities.
Yutao Zhong 0001, Wentao Chang
ISMM1
2007 Predicting locality phases for dynamic memory optimization
Xipeng Shen, Yutao Zhong 0001, Chen Ding 0001
J. Parallel Distributed Comput.2
2007 Miss Rate Prediction Across Program Inputs and Cache Configurations
abstract
Improving cache performance requires understanding cache behavior. However, measuring cache performance for one or two data input sets provides little insight into how cache behavior varies across all data input sets and all cache configurations. This paper uses locality analysis to generate a parameterized model of program cache behavior. Given a cache size and associativity, this model predicts the miss rate for arbitrary data input set sizes. This model also identifies critical data input sizes where cache behavior exhibits marked changes. Experiments show this technique is within 2 percent of the hit rate for set associative caches on a set of floating-point and integer programs using array and pointer-based data structures. Building on the new model, this paper presents an interactive visualization tool that uses a three-dimensional plot to show miss rate changes across program data sizes and cache sizes and its use in evaluating compiler transformations. Other uses of this visualization tool include assisting machine and benchmark-set design. The tool can be accessed on the Web at http://www.cs.rochester.edu/research/locality
Yutao Zhong 0001, Steven G. Dropsho, Xipeng Shen, Ahren Studer, Chen Ding 0001
IEEE Trans. Computers1
2006 A hierarchical model of data locality
abstract
In POPL 2002, Petrank and Rawitz showed a universal result— finding optimal data placement is not only NP-hard but also impossible to approximate within a constant factor if P ̸ = NP. Here we study a recently published concept called reference affinity, which characterizes a group of data that are always accessed together in computation. On the theoretical side, we give the complexity for finding reference affinity in program traces, using a novel reduction that converts the notion of distance into satisfiability. We also prove that reference affinity automatically captures the hierarchical locality in divide-and-conquer computations including matrix solvers and N-body simulation. The proof establishes formal links between computation patterns in time and locality relations in space. On the practical side, we show that efficient heuristics exist. In particular, we present a sampling method and show that it is more effective than the previously published technique, especially for data that are often but not always accessed together. We show the effect on generated and real traces. These theoretical and empirical results demonstrate that effective data placement is still attainable in general-purpose programs because common (albeit not all) locality patterns can be precisely modeled and efficiently analyzed.
Chengliang Zhang, Chen Ding 0001, Mitsunori Ogihara, Yutao Zhong 0001, Youfeng Wu
POPL4
2004 Locality phase prediction
abstract
As computer memory hierarchy becomes adaptive, its performance increasingly depends on forecasting the dynamic program locality. This paper presents a method that predicts the locality phases of a program by a combination of locality profiling and run-time prediction. By profiling a training input, it identifies locality phases by sifting through all accesses to all data elements using variable-distance sampling, wavelet filtering, and optimal phase partitioning. It then constructs a phase hierarchy through grammar compression. Finally, it inserts phase markers into the program using binary rewriting. When the instrumented program runs, it uses the first few executions of a phase to predict all its later executions.Compared with existing methods based on program code and execution intervals, locality phase prediction is unique because it uses locality profiles, and it marks phase boundaries in program code. The second half of the paper presents a comprehensive evaluation. It measures the accuracy and the coverage of the new technique and compares it with best known run-time methods. It measures its benefit in adaptive cache resizing and memory remapping. Finally, it compares the automatic analysis with manual phase marking. The results show that locality phase prediction is well suited for identifying large, recurring phases in complex programs.
Xipeng Shen, Yutao Zhong 0001, Chen Ding 0001
ASPLOS2
2004 Array regrouping and structure splitting using whole-program reference affinity
abstract
While the memory of most machines is organized as a hierarchy, program data are laid out in a uniform address space. This paper defines a model of reference affinity, which measures how close a group of data are accessed together in a reference trace. It proves that the model gives a hierarchical partition of program data. At the top is the set of all data with the weakest affinity. At the bottom is each data element with the strongest affinity. Based on the theoretical model, the paper presents k-distance analysis, a practical test for the hierarchical affinity of source-level data. When used for array regrouping and structure splitting, k-distance analysis consistently outperforms data organizations given by the programmer, compiler analysis, frequency profiling, statistical clustering, and all other methods we have tried.
Yutao Zhong 0001, Maksim Orlovich, Xipeng Shen, Chen Ding 0001
PLDI1
2003 Predicting whole-program locality through reuse distance analysis
abstract
Profiling can accurately analyze program behavior for select data inputs. We show that profiling can also predict program locality for inputs other than profiled ones. Here locality is defined by the distance of data reuse. Studying whole-program data reuse may reveal global patterns not apparent in short-distance reuses or local control flow. However, the analysis must meet two requirements to be useful. The first is efficiency. It needs to analyze all accesses to all data elements in full-size benchmarks and to measure distance of any length and in any required precision. The second is predication. Based on a few training runs, it needs to classify patterns as regular and irregular and, for regular ones, it should predict their (changing) behavior for other inputs. In this paper, we show that these goals are attainable through three techniques: approximate analysis of reuse distance (originally called LRU stack distance), pattern recognition, and distance-based sampling. When tested on 15 integer and floating-point programs from SPEC and other benchmark suites, our techniques predict with on average 94% accuracy for data inputs up to hundreds times larger than the training inputs. Based on these results, the paper discusses possible uses of this analysis.
Chen Ding 0001, Yutao Zhong 0001
PLDI2