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

Changhui Lin

dblp:95/9116 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none

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

Systems, architecture and hardware · 7 · 4 first-authorArtificial intelligence and machine learning · 1Software engineering, systems software and programming languages · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 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
Memory systems · 39% Parallel and multicore computing · 35% Processor architecture and microarchitecture · 27%
Software engineering, system software, and programming languages
3 papers
Concurrent programming · 69% Compilers and program optimization · 31%

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

TopicWeightPapersLastEvidence papers
Memory systems
memory consistency
0.322014
Fence Scoping · SC 2014
Efficient sequential consistency via conflict ordering · ASPLOS 2012
Processor architecture and microarchitecture › memory system microarchitecture
memory ordering
0.322014
Fence Scoping · SC 2014
Efficient sequential consistency via conflict ordering · ASPLOS 2012
Parallel and multicore computing
speculative parallelization
0.322012
PLDS: Partitioning linked data structures for parallelism · ACM Trans. Archit. Code Optim. 2012
Enhanced speculative parallelization via incremental recovery · PPoPP 2011
Processor architecture and microarchitecture
instruction set architecture
0.212014
Fence Scoping · SC 2014
Parallel and multicore computing
data distribution
0.112012
PLDS: Partitioning linked data structures for parallelism · ACM Trans. Archit. Code Optim. 2012
Parallel and multicore computing
parallel programming models
0.112012
PLDS: Partitioning linked data structures for parallelism · ACM Trans. Archit. Code Optim. 2012
Memory systems › memory consistency › memory consistency model
sequential consistency
0.112012
Efficient sequential consistency via conflict ordering · ASPLOS 2012
Memory systems › cache management › cache replacement
adaptive replacement
0.112011
Dynamic access distance driven cache replacement · ACM Trans. Archit. Code Optim. 2011
Memory systems › cache management
cache replacement
0.112011
Dynamic access distance driven cache replacement · ACM Trans. Archit. Code Optim. 2011
Parallel and multicore computing › speculative parallelization
thread-level speculation
0.112011
Enhanced speculative parallelization via incremental recovery · PPoPP 2011
Concurrent programming › non-blocking algorithms
lock-free algorithms
0.112014
Fence Scoping · SC 2014
Memory systems › cache
cache miss reduction
0.012011
Dynamic access distance driven cache replacement · ACM Trans. Archit. Code Optim. 2011

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

scoped fence · 0.4hardware-software co-design · 0.4speculation · 0.3data partitioning · 0.3state separation · 0.2incremental recovery · 0.2post-retirement speculation · 0.1conflict ordering · 0.1reuse information prediction · 0.1profile-based static predictor · 0.1
YearPublicationVenuePosition
2015 Techniques for fast and scalable time series traffic generation
abstract
Many IoT applications ingest and process time series data with emphasis on 5Vs (Volume, Velocity, Variety, Value and Veracity). To design and test such systems, it is desirable to have a high-performance traffic generator specifically designed for time series data, preferably using archived data to create a truly realistic workload. However, most existing traffic generator tools either are designed for generic network applications, or only produce synthetic data based on certain time series models. In addition, few have raised their performance bar to millions-packets-per-second level with minimum time violations. In this paper, we design, implement and evaluate a highly efficient and scalable time series traffic generator for IoT applications. Our traffic generator stands out in the following four aspects: 1) it generates time-conforming packets based on high-fidelity reproduction of archived time series data; 2) it leverages an open-source Linux Exokernel middleware and a customized userspace network subsystem; 3) it includes a scalable 10G network card driver and uses "absolute" zero-copy in stack processing; and 4) it has an efficient and scalable application-level software architecture and threading model. We have conducted extensive experiments on both a quad-core Intel workstation and a 20-core Intel server equipped with Intel X540 10G network cards and Samsung's NVMe SSDs. Compared with a stock Linux baseline and a traditional mmap-based file I/O approach, we observe that our traffic generator significantly outperforms other alternatives in terms of throughput (10X), scalability (3.6X) and time violations (46.2X).
Jilong Kuang, Daniel G. Waddington, Changhui Lin
IEEE BigData3
2014 Fence Scoping
abstract
We observe that fence instructions used by programmers are usually only intended to order memory accesses within a limited scope. Based on this observation, we propose the concept fence scope which defines the scope within which a fence enforces the order of memory accesses, called scoped fence (S-Fence). S-Fence is a customizable fence, which enables programmers to express ordering demands by specifying the scope of fences when they only want to order part of memory accesses. At runtime, hardware uses the scope information conveyed by programmers to execute fence instructions in a manner that imposes fewer memory ordering constraints than a traditional fence, and hence improves program performance. Our experimental results show that the benefit of S-Fence hinges on the characteristics of applications and hardware parameters. A group of lock-free algorithms achieve peak speedups ranging from 1.13x to 1.34x, while full applications achieve speedups ranging from 1.04x to 1.23x.
Changhui Lin, Vijay Nagarajan, Rajiv Gupta 0001
SC1
2013 Address-aware fences
abstract
Many modern multicore architectures support shared memory for ease of programming and relaxed memory models to deliver high performance. With relaxed memory models, memory accesses can be reordered dynamically and seen by other processors. Therefore, fence instructions are provided to enforce the memory orderings that are critical to the correctness of a program. However, fence instructions are costly as they cause the processor to stall. Prior works have observed that most of the executions of fence instructions are unnecessary. In this paper we propose address-aware fence, a hardware solution for reducing the overhead of fence instructions without resorting to speculation. Address-aware fence only enforces memory orderings that are necessary to maintain the effect that the traditional fence strives to enforce. This is achieved by dynamically checking a condition for when an execution of a fence must take effect and delay the memory accesses following the fence. When a fence instruction is encountered, first, necessary memory addresses are collected to form a watchlist, and then, only the memory accesses to addresses that are contained in the watchlist are delayed. The memory accesses whose addresses are not contained in the watchlist are allowed to complete without waiting for the completion of pending memory accesses from before the fence. Our experiments conducted on a group of concurrent lock-free algorithms and SPLASH-2 benchmarks show that address-aware fence eliminates nearly all the overhead due to fences and achieves an average improvement of 12.2\% on programs with traditional fences.
Changhui Lin, Vijay Nagarajan, Rajiv Gupta 0001
ICS1
2012 Efficient sequential consistency via conflict ordering
abstract
Although the sequential consistency (SC) model is the most intuitive, processor designers often choose to support relaxed memory consistency models for higher performance. This is because SC implementations that match the performance of relaxed memory models require post-retirement speculation and its associated hardware costs. In this paper we propose an efficient approach for enforcing SC without requiring post-retirement speculation. While prior SC implementations guarantee SC by explicitly completing memory operations within a processor in program order, we guarantee SC by completing conflicting memory operations, within and across processors, in an order that is consistent with the program order. More specifically, we identify those conflicting memory operations whose ordering is critical for the maintenance of SC and explicitly order them. This allows us to safely (non-speculatively) complete memory operations past pending writes, thus reducing memory ordering stalls. Our experiments with SPLASH-2 programs show that SC can be achieved efficiently, with performance comparable to RMO (relaxed memory order).
Changhui Lin, Vijay Nagarajan, Rajiv Gupta 0001, Bharghava Rajaram
ASPLOS1
2012 PLDS: Partitioning linked data structures for parallelism
abstract
Recently, parallelization of computations in the presence of dynamic data structures has shown promising potential. In this paper, we present PLDS, a system for easily expressing and efficiently exploiting parallelism in computations that are based on dynamic linked data structures. PLDS improves the execution efficiency by providing support for data partitioning and then distributing computation across threads based on the partitioning. Such computations often require the use of speculation to exploit dynamic parallelism. PLDS supports a conditional speculation mechanism that reduces the cost of speculation. PLDS can be employed in the context of different forms of parallelism, which to cover a wide range of parallel applications. PLDS provides easy-to-use compiler directives, using enabling programmers to choose from among a variety of data partitionings to distribute computation across threads in a partitioning-sensitive fashion, and to use conditional speculation when required. We evaluate our implementation of PLDS using ten benchmarks, of which six are parallelized using speculation. PLDS achieves 1.3x--6.9x speedups on an 8-core machine.
Min Feng 0001, Changhui Lin, Rajiv Gupta 0001
ACM Trans. Archit. Code Optim.2
2011 Enhanced speculative parallelization via incremental recovery
abstract
The widespread availability of multicore systems has led to an increased interest in speculative parallelization of sequential programs using software-based thread level speculation. Many of the proposed techniques are implemented via state separation where non-speculative computation state is maintained separately from the speculative state of threads performing speculative computations. If speculation is successful, the results from speculative state are committed to non-speculative state. However, upon misspeculation, discard-all scheme is employed in which speculatively computed results of a thread are discarded and the computation is performed again. While this scheme is simple to implement, one disadvantage of discard-all is its inability to tolerate high misspeculation rates due to its high runtime overhead. Thus, it is not suitable for use in applications where misspeculation rates are input dependent
Chen Tian 0002, Changhui Lin, Min Feng 0001, Rajiv Gupta 0001
PPoPP2
2011 Dynamic access distance driven cache replacement
abstract
In this article, we propose a new cache replacement policy that makes the replacement decision based on the reuse information of the cache lines and the requested data. We present the architectural support and evaluate the performance of our approach using SPEC benchmarks. We also develop two reuse information predictors: a profile-based static predictor and a runtime predictor. The applicability of each predictor is discussed in this paper. We further extend our reuse information predictors so that the cache can adaptively choose between the reuse information based replacement policy and an approximation of LRU policy. According to the experimental results, our adaptive reuse information based replacement policy performs either better than or close to the LRU policy. Our experiments show that L2 cache misses are reduced by 12.32% and 19.95% using the profiling-based static and runtime adaptive predictors respectively.
Min Feng 0001, Chen Tian 0002, Changhui Lin, Rajiv Gupta 0001
ACM Trans. Archit. Code Optim.3
2010 Efficient sequential consistency using conditional fences
abstract
Among the various memory consistency models, the sequential consistency (SC) model, in which memory operations appear to take place in the order specified by the program, is the most intuitive and enables programmers to reason about their parallel programs the best. Nevertheless, processor designers often choose to support relaxed memory consistency models because the weaker ordering constraints imposed by such models allow for more instructions to be reordered and enable higher performance. Programs running on machines supporting weaker consistency models, can be transformed into ones in which SC is enforced. The compiler does this by computing a minimal set of memory access pairs whose ordering automatically guarantees SC. To ensure that these memory access pairs are not reordered, memory fences are inserted. Unfortunately, insertion of such memory fences can significantly slowdown the program.
Changhui Lin, Vijay Nagarajan, Rajiv Gupta 0001
PACT1