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.

Yunlian Jiang

dblp:41/6781 · DBLP profile ↗
← Back
17ranked-venue papers
9as first author
0since 2021 · last 2013
—ORCID · none

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

Systems, architecture and hardware · 13 · 8 first-authorSoftware engineering, systems software and programming languages · 5 · 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
6 papers
Memory systems · 31% Performance modeling and evaluation · 27% GPUs and heterogeneous computing · 22%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 70% Program analysis · 30%

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

TopicWeightPapersLastEvidence papers
Performance modeling and evaluation
workload characterization
0.322012
The Significance of CMP Cache Sharing on Contemporary Multithreaded Applications · IEEE Trans. Parallel Distributed Syst. 2012
Exploiting inter-sequence correlations for program behavior prediction · OOPSLA 2012
Memory systems
cache
0.322012
The Significance of CMP Cache Sharing on Contemporary Multithreaded Applications · IEEE Trans. Parallel Distributed Syst. 2012
Does cache sharing on modern CMP matter to the performance of contemporary multithreaded programs? · PPoPP 2010
Processor architecture and microarchitecture
chip multiprocessor
0.222011
The Complexity of Optimal Job Co-Scheduling on Chip Multiprocessors and Heuristics-Based Solutions · IEEE Trans. Parallel Distributed Syst. 2011
Does cache sharing on modern CMP matter to the performance of contemporary multithreaded programs? · PPoPP 2010
Memory systems › data layout optimization
data layout reorganization
0.212013
Complexity analysis and algorithm design for reorganizing data to minimize non-coalesced memory accesses on GPU · PPoPP 2013
GPUs and heterogeneous computing
GPU memory access
0.212013
Complexity analysis and algorithm design for reorganizing data to minimize non-coalesced memory accesses on GPU · PPoPP 2013
GPUs and heterogeneous computing › GPU memory access
memory coalescing
0.212013
Complexity analysis and algorithm design for reorganizing data to minimize non-coalesced memory accesses on GPU · PPoPP 2013
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.112012
Exploiting inter-sequence correlations for program behavior prediction · OOPSLA 2012
Performance modeling and evaluation
program behavior prediction
0.112012
Exploiting inter-sequence correlations for program behavior prediction · OOPSLA 2012
GPUs and heterogeneous computing
GPU computing
0.112011
On-the-fly elimination of dynamic irregularities for GPU computing · ASPLOS 2011
Compilers and program optimization
dynamic optimization
0.112010
An input-centric paradigm for program dynamic optimizations · OOPSLA 2010
Memory systems › cache management
cache interference
0.112010
Does cache sharing on modern CMP matter to the performance of contemporary multithreaded programs? · PPoPP 2010
Memory systems › cache management
cache sharing
0.112010
Does cache sharing on modern CMP matter to the performance of contemporary multithreaded programs? · PPoPP 2010
Embedded and real-time systems
runtime adaptation
0.012011
On-the-fly elimination of dynamic irregularities for GPU computing · ASPLOS 2011
Parallel and multicore computing › parallel computing › parallel application performance
multithreaded application performance
0.012010
Does cache sharing on modern CMP matter to the performance of contemporary multithreaded programs? · PPoPP 2010

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

heuristic algorithm design · 0.3complexity analysis · 0.3statistical correlation analysis · 0.3sequence prediction · 0.3source code transformation · 0.1measurement · 0.1runtime adaptation · 0.1heuristics-based algorithms · 0.1heuristic algorithm · 0.1graph theory · 0.1program input characterization · 0.1input-behavior modeling · 0.1
YearPublicationVenuePosition
2013 Complexity analysis and algorithm design for reorganizing data to minimize non-coalesced memory accesses on GPU
abstract
The performance of Graphic Processing Units (GPU) is sensitive to irregular memory references. Some recent work shows the promise of data reorganization for eliminating non-coalesced memory accesses that are caused by irregular references. However, all previous studies have employed simple, heuristic methods to determine the new data layouts to create. As a result, they either do not provide any performance guarantee or are effective to only some limited scenarios. This paper contributes a fundamental study to the problem. It systematically analyzes the inherent complexity of the problem in various settings, and for the first time, proves that the problem is NP-complete. It then points out the limitations of existing techniques and reveals that in practice, the essence for designing an appropriate data reorganization algorithm can be reduced to a tradeoff among space, time, and complexity. Based on that insight, it develops two new data reorganization algorithms to overcome the limitations of previous methods. Experiments show that an assembly composed of the new algorithms and a previous algorithm can circumvent the inherent complexity in finding optimal data layouts, making it feasible to minimize non-coalesced memory accesses for a variety of irregular applications and settings that are beyond the reach of existing techniques.
Bo Wu 0002, Zhijia Zhao 0001, Eddy Z. Zhang, Yunlian Jiang, Xipeng Shen
PPoPP4
2012 Optimal Co-Scheduling to Minimize Makespan on Chip Multiprocessors
Yunlian Jiang, Xipeng Shen, Weizhen Mao
JSSPP2
2012 Exploiting inter-sequence correlations for program behavior prediction
abstract
Prediction of program dynamic behaviors is fundamental to program optimizations, resource management, and architecture reconfigurations. Most existing predictors are based on locality of program behaviors, subject to some inherent limitations. In this paper, we revisit the design philosophy and systematically explore a second source of clues: statistical correlations between the behavior sequences of different program entities. Concentrated on loops, it examines the correlations' existence, strength, and values in enhancing the design of program behavior predictors. It creates the first taxonomy of program behavior sequence patterns. It develops a new form of predictors, named sequence predictors, to effectively translate the correlations into large-scope, proactive predictions of program behavior sequences. It demonstrates the usefulness of the prediction in dynamic version selection and loop importance estimation, showing 19% average speedup on a number of real-world utility applications. By taking scope and timing of behavior prediction as the first-order design objectives, the new approach overcomes limitations of existing program behavior predictors, opening up many new opportunities for runtime optimizations at various layers of computing.
Bo Wu 0002, Zhijia Zhao 0001, Xipeng Shen, Yunlian Jiang, Yaoqing Gao, Raúl Silvera
OOPSLA4
2012 The Significance of CMP Cache Sharing on Contemporary Multithreaded Applications
abstract
Cache sharing on modern Chip Multiprocessors (CMPs) reduces communication latency among corunning threads, and also causes interthread cache contention. Most previous studies on the influence of cache sharing have concentrated on the design or management of shared cache. The observed influence is often constrained by the reliance on simulators, the use of out-of-date benchmarks, or the limited coverage of deciding factors. This paper describes a systematic measurement of the influence with most of the potentially important factors covered. The measurement shows some surprising results. Contrary to commonly perceived importance of cache sharing, neither positive nor negative effects from the cache sharing are significant for most of the program executions in the PARSEC benchmark suite, regardless of the types of parallelism, input data sets, architectures, numbers of threads, and assignments of threads to cores. After a detailed analysis, we find that the main reason is the mismatch between the software design (and compilation) of multithreaded applications and CMP architectures. By performing source code transformations on the programs in a cache-sharing-aware manner, we observe up to 53 percent performance increase when the threads are placed on cores appropriately, confirming the software-hardware mismatch as a main reason for the observed insignificance of the influence from cache sharing, and indicating the important role of cache-sharing-aware transformations-a topic only sporadically studied so far-for exerting the power of shared cache.
Eddy Z. Zhang, Yunlian Jiang, Xipeng Shen
IEEE Trans. Parallel Distributed Syst.2
2011 On-the-fly elimination of dynamic irregularities for GPU computing
abstract
The power-efficient massively parallel Graphics Processing Units (GPUs) have become increasingly influential for general-purpose computing over the past few years. However, their efficiency is sensitive to dynamic irregular memory references and control flows in an application. Experiments have shown great performance gains when these irregularities are removed. But it remains an open question how to achieve those gains through software approaches on modern GPUs.This paper presents a systematic exploration to tackle dynamic irregularities in both control flows and memory references. It reveals some properties of dynamic irregularities in both control flows and memory references, their interactions, and their relations with program data and threads. It describes several heuristics-based algorithms and runtime adaptation techniques for effectively removing dynamic irregularities through data reordering and job swapping. It presents a framework, G-Streamline, as a unified software solution to dynamic irregularities in GPU computing. G-Streamline has several distinctive properties. It is a pure software solution and works on the fly, requiring no hardware extensions or offline profiling. It treats both types of irregularities at the same time in a holistic fashion, maximizing the whole-program performance by resolving conflicts among optimizations. Its optimization overhead is largely transparent to GPU kernel executions, jeopardizing no basic efficiency of the GPU application. Finally, it is robust to the presence of various complexities in GPU applications. Experiments show that G-Streamline is effective in reducing dynamic irregularities in GPU computing, producing speedups between 1.07 and 2.5 for a variety of applications.
Eddy Z. Zhang, Yunlian Jiang, Xipeng Shen
ASPLOS2
2011 The Complexity of Optimal Job Co-Scheduling on Chip Multiprocessors and Heuristics-Based Solutions
abstract
In Chip Multiprocessors (CMPs) architecture, it is common that multiple cores share some on-chip cache. The sharing may cause cache thrashing and contention among co-running jobs. Job co-scheduling is an approach to tackling the problem by assigning jobs to cores appropriately so that the contention and consequent performance degradations are minimized. Job co-scheduling includes two tasks: the estimation of co-run performance, and the determination of suitable co-schedules. Most existing studies in job co-scheduling have concentrated on the first task but relies on simple techniques (e.g., trying different schedules) for the second. This paper presents a systematic exploration to the second task. The paper uncovers the computational complexity of the determination of optimal job co-schedules, proving its NP-completeness. It introduces a set of algorithms, based on graph theory and Integer/Linear Programming, for computing optimal co-schedules or their lower bounds in scenarios with or without job migrations. For complex cases, it empirically demonstrates the feasibility for approximating the optimal effectively by proposing several heuristics-based algorithms. These discoveries may facilitate the assessment of job co-schedulers by providing necessary baselines, as well as shed insights to the development of co-scheduling algorithms in practical systems.
Yunlian Jiang, Xipeng Shen, Jinghe Zhang, Jie Chen 0010, Rahul Tripathi
IEEE Trans. Parallel Distributed Syst.1
2010 Is Reuse Distance Applicable to Data Locality Analysis on Chip Multiprocessors?
Yunlian Jiang, Eddy Z. Zhang, Xipeng Shen
CC1
2010 Exploiting statistical correlations for proactive prediction of program behaviors
abstract
This paper presents a finding and a technique on program behavior prediction. The finding is that surprisingly strong statistical correlations exist among the behaviors of different program components (e.g., loops) and among different types of program level behaviors (e.g., loop trip-counts versus data values). Furthermore, the correlations can be beneficially exploited: They help resolve the proactivity-adaptivity dilemma faced by existing program behavior predictions, making it possible to gain the strengths of both approaches--the large scope and earliness of offline-profiling--based predictions, and the cross-input adaptivity of runtime sampling-based predictions.
Yunlian Jiang, Eddy Z. Zhang, Feng Mao, Malcom Gethers, Xipeng Shen, Yaoqing Gao
CGO1
2010 Combining Locality Analysis with Online Proactive Job Co-scheduling in Chip Multiprocessors
Yunlian Jiang, Xipeng Shen
HiPEAC1
2010 Streamlining GPU applications on the fly: thread divergence elimination through runtime thread-data remapping
abstract
Because of their tremendous computing power and remarkable cost efficiency, GPUs (graphic processing unit) have quickly emerged as a kind of influential platform for high performance computing. However, as GPUs are designed for massive data-parallel computing, their performance is subject to the presence of condition statements in a GPU application. On a conditional branch where threads diverge in which path to take, the threads taking different paths have to run serially. Such divergences often cause serious performance degradations, impairing the adoption of GPU for many applications that contain non-trivial branches or certain types of loops.
Eddy Z. Zhang, Yunlian Jiang, Xipeng Shen
ICS2
2010 An input-centric paradigm for program dynamic optimizations
abstract
Accurately predicting program behaviors (e.g., locality, dependency, method calling frequency) is fundamental for program optimizations and runtime adaptations. Despite decades of remarkable progress, prior studies have not systematically exploited program inputs, a deciding factor for program behaviors.Triggered by the strong and predictive correlations between program inputs and behaviors that recent studies have uncovered, this work proposes to include program inputs into the focus of program behavior analysis, cultivating a new paradigm named input-centric program behavior analysis. This new approach consists of three components, forming a three-layer pyramid. At the base is program input characterization, a component for resolving the complexity in program raw inputs and the extraction of important features. In the middle is input-behavior modeling, a component for recognizing and modeling the correlations between characterized input features and program behaviors. These two components constitute input-centric program behavior analysis, which (ideally) is able to predict the large-scope behaviors of a program's execution as soon as the execution starts. The top layer of the pyramid is input-centric adaptation, which capitalizes on the novel opportunities that the first two components create to facilitate proactive adaptation for program optimizations.By centering on program inputs, the new approach resolves a proactivity-adaptivity dilemma inherent in previous techniques. Its benefits are demonstrated through proactive dynamic optimizations and version selection, yielding significant performance improvement on a set of Java and C programs.
Yunlian Jiang, Eddy Z. Zhang, Xipeng Shen
OOPSLA2
2010 Does cache sharing on modern CMP matter to the performance of contemporary multithreaded programs?
abstract
Most modern Chip Multiprocessors (CMP) feature shared cache on chip. For multithreaded applications, the sharing reduces communication latency among co-running threads, but also results in cache contention.
Eddy Z. Zhang, Yunlian Jiang, Xipeng Shen
PPoPP2
2009 Speculation with Little Wasting: Saving Cost in Software Speculation through Transparent Learning
abstract
Software speculation has shown promise in parallelizing programs with coarse-grained dynamic parallelism. However, most speculation systems use offline profiling for the selection of speculative regions. The mismatch with the input-sensitivity of dynamic parallelism may result in large numbers of speculation failures in many applications. Although with certain protection, the failed speculations may not hurt the basic efficiency of the application, the wasted computing resource (e.g. CPU time and power consumption) may severely degrade system throughput and efficiency. The importance of this issue continuously increases with the advent of multicore and parallelization in portable devices and multiprogramming environments. In this work, we propose the use of transparent statistical learning to make speculation cross-input adaptive. Across production runs of an application, the technique recognizes the patterns of the profitability of the speculative regions in the application and the relation between the profitability and program inputs. On a new run, the profitability of the regions are predicted accordingly and the speculations are switched on and off adaptively. The technique differs from previous techniques in that it requires no explicit training, but is able to adapt to changes in program inputs. It is applicable to both loop-level and function-level parallelism by learning across iterations and executions, permitting arbitrary depth of speculations. Its implementation in a recent software speculation system, namely the behavior-oriented parallelization system, shows substantial reduction of speculation cost with negligible decrease (sometimes, considerable increase) of parallel execution performance.
Yunlian Jiang, Feng Mao, Xipeng Shen
ICPADS1
2008 Analysis and approximation of optimal co-scheduling on chip multiprocessors
abstract
Cache sharing among processors is important for Chip Multiprocessors to reduce inter-thread latency, but also brings cache contention, degrading program performance considerably. Recent studies have shown that job co-scheduling can effectively alleviate the contention, but it remains an open question how to efficiently find optimal co-schedules. Solving the question is critical for determining the potential of a co-scheduling system. This paper presents a theoretical analysis of the complexity of co-scheduling, proving its NP-completeness. Furthermore, for a special case when there are two sharers per chip, we propose an algorithm that finds the optimal co-schedules in polynomial time. For more complex cases, we design and evaluate a sequence of approximation algorithms, among which, the hierarchical matching algorithm produces near-optimal schedules and shows good scalability. This study facilitates the evaluation of co-scheduling systems, as well as offers some techniques directly usable in proactive job co-scheduling.
Yunlian Jiang, Xipeng Shen, Jie Chen 0010, Rahul Tripathi
PACT1
2008 Exploration of the Influence of Program Inputs on CMP Co-scheduling
Yunlian Jiang, Xipeng Shen
Euro-Par1
2008 Adaptive Software Speculation for Enhancing the Cost-Efficiency of Behavior-Oriented Parallelization
abstract
Recently, software speculation has shown promising results in parallelizing complex sequential programs by exploiting dynamic high-level parallelism. The speculation however is cost-inefficient. Failed speculations may cause unnecessary shared resource contention, power consumption, and interference to co-running applications. In this work, we propose adaptive speculation and design two algorithms to predict the profitability of a speculation and dynamically disable and enable the speculation of a region. Experimental results demonstrate significant improvement of computation efficiency without performance degradation. The adaptive speculation can also enhance the usability of behavior-oriented parallelization by allowing more flexibility in labeling possibly parallel regions.
Yunlian Jiang, Xipeng Shen
ICPP1
2008 Adaptive speculation in behavior-oriented parallelization
abstract
Behavior-oriented parallelization is a technique for parallelizing complex sequential programs that have dynamic parallelism. Although the technique shows promising results, the software speculation mechanism it uses is not cost-efficient. Failed speculations may waste computing resource and severely degrade system efficiency. In this work, we propose adaptive speculation to predict the profitability of a speculation and dynamically enable or disable the speculation of a region. Experimental results demonstrate the effectiveness of the scheme in improving the efficiency of software speculation. In addition, the adaptive speculation can also enhance the usability of behavior-oriented parallelization by allowing users to label potential parallel regions more flexibly.
Yunlian Jiang, Xipeng Shen
IPDPS1