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

Chun Xia

dblp:59/3463 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 1999
—ORCID · none

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

Systems, architecture and hardware · 5 · 3 first-authorSoftware engineering, systems software and programming languages · 1 · 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
5 papers
Memory systems · 64% Processor architecture and microarchitecture · 15% Embedded and real-time systems · 13%
Software engineering, system software, and programming languages
5 papers
Operating systems · 57% Compilers and program optimization · 43%

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

TopicWeightPapersLastEvidence papers
Memory systems › memory hierarchy
cache hierarchy
0.021999
Comprehensive Hardware and Software Support for Operating Systems to Exploit · IEEE Trans. Computers 1999
Improving the Data Cache Performance of Multiprocessor Operating Systems · HPCA 1996
Processor architecture and microarchitecture › instruction fetch
instruction prefetching
0.021999
Comprehensive Hardware and Software Support for Operating Systems to Exploit · IEEE Trans. Computers 1999
Instruction Prefetching of Systems Codes with Layout Optimized for Reduced Cache Misses · ISCA 1996
Memory systems
cache
0.021998
Optimizing the Instruction Cache Performance of the Operating System · IEEE Trans. Computers 1998
Optimizing Instruction Cache Performance for Operating System Intensive Workloads · HPCA 1995
Embedded and real-time systems
code layout optimization
0.021998
Optimizing the Instruction Cache Performance of the Operating System · IEEE Trans. Computers 1998
Optimizing Instruction Cache Performance for Operating System Intensive Workloads · HPCA 1995
Memory systems › cache › CPU cache
instruction cache
0.021998
Optimizing the Instruction Cache Performance of the Operating System · IEEE Trans. Computers 1998
Optimizing Instruction Cache Performance for Operating System Intensive Workloads · HPCA 1995
Distributed systems
operating system support
0.011999
Comprehensive Hardware and Software Support for Operating Systems to Exploit · IEEE Trans. Computers 1999
Compilers and program optimization › memory optimization
cache optimization
0.011996
Improving the Data Cache Performance of Multiprocessor Operating Systems · HPCA 1996
Operating systems › multiprocessing
multiprocessor operating system
0.011996
Improving the Data Cache Performance of Multiprocessor Operating Systems · HPCA 1996
Memory systems
cache coherence
0.011996
Improving the Data Cache Performance of Multiprocessor Operating Systems · HPCA 1996
Memory systems
cache management
0.011996
Instruction Prefetching of Systems Codes with Layout Optimized for Reduced Cache Misses · ISCA 1996
Memory systems › cache coherence
coherence miss reduction
0.011996
Improving the Data Cache Performance of Multiprocessor Operating Systems · HPCA 1996
Memory systems › cache management › instruction cache management
instruction cache miss reduction
0.011996
Instruction Prefetching of Systems Codes with Layout Optimized for Reduced Cache Misses · ISCA 1996
Operating systems
operating system performance
0.011999
Comprehensive Hardware and Software Support for Operating Systems to Exploit · IEEE Trans. Computers 1999
Compilers and program optimization
code layout optimization
0.011996
Instruction Prefetching of Systems Codes with Layout Optimized for Reduced Cache Misses · ISCA 1996

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

simulation · 0.0code layout optimization · 0.0block operation support · 0.0locality characterization · 0.0cache interference reduction · 0.0trace-driven simulation · 0.0prefetching · 0.0data privatization · 0.0cache bypassing · 0.0DMA-like transfer · 0.0
YearPublicationVenuePosition
1999 Comprehensive Hardware and Software Support for Operating Systems to Exploit
abstract
High-performance multiprocessor workstations are becoming increasingly popular. Since many of the workloads running on these machines are operating-system intensive, we are interested in exploring the types of support for the operating system that the memory hierarchy of these machines should provide. In this paper, we evaluate a comprehensive set of hardware and software supports that minimize the performance losses for the operating system in a sophisticated cache hierarchy. These supports, selected from recent papers, are code layout optimization, guarded sequential instruction prefetching, instruction stream buffers, support for block operations, support for coherence activity, and software data prefetching. We evaluate these supports under a simulated environment. We show that they have a largely complementary impact and that, when combined, speed up the operating system by an average of 40 percent. Finally, a cost-performance comparison of these schemes suggests that the most cost-effective ones are code layout optimization and block operation support, while the least cost-effective one is software data prefetching.
Chun Xia, Josep Torrellas
IEEE Trans. Computers1
1998 Optimizing the Instruction Cache Performance of the Operating System
abstract
High instruction cache hit rates are key to high performance. One known technique to improve the hit rate of caches is to minimize cache interference by improving the layout of the basic blocks of the code. However, the performance impact of this technique has been reported for application code only, even though there is evidence that the operating system often uses the cache heavily and with less uniform patterns than applications. It is unknown how well existing optimizations perform for systems code acid whether better optimizations can be found. We address this problem in this paper. This paper characterizes, in detail, the locality patterns of the operating system code and shows that there is substantial locality Unfortunately, caches are not able to extract much of it: Rarely-executed special-case code disrupts spatial locality loops with few iterations that call routines make loop locality hard to exploit, and plenty of loop-less code hampers temporal locality. Based on our observations, we propose an algorithm to expose these localities and reduce interference in the cache. For a range of cache sizes, associativities, lines sizes, and organizations, we show that we reduce total instruction miss rates by 31-86 percent, or up to 2.9 absolute points. Using a simple model, this corresponds to execution time reductions of the order of 10-25 percent. In addition, our optimized operating system combines well with optimized and unoptimized applications.
Josep Torrellas, Chun Xia, Russell L. Daigle
IEEE Trans. Computers2
1996 Improving the Data Cache Performance of Multiprocessor Operating Systems
abstract
Bus-based shared-memory multiprocessors with coherent caches have recently become very popular. To achieve high performance, these systems rely on increasingly sophisticated cache hierarchies. However, while these machines often run loads with substantial operating system activity, performance measurements have consistently indicated that the operating system uses the data cache hierarchy poorly. In this paper, we address the issue of how to eliminate most of the data cache misses in a multiprocessor operating system while still using off-the-shelf processors. We use a performance monitor to examine traces of a 4-processor machine running four system-intensive loads under UNIX. Based on our observations, we propose hardware and software support that targets block operations, coherence activity, and cache conflicts. For block operations, simple cache bypassing or prefetching schemes are undesirable. Instead, it is best to use a DMA-like scheme that pipelines the data transfer in the bus without involving the processor. Coherence misses are handled with data, privatization and relocation, and the use of updates for a small core of shared variables. Finally, the remaining miss hot spots are handled with data prefetching. Overall, our simulations show that all these optimizations combined eliminate or hide 75% of the operating system data misses in 32-Kbyte primary caches. Furthermore, they speed up the operating system by 19%.
Chun Xia, Josep Torrellas
HPCA1
1996 Instruction Prefetching of Systems Codes with Layout Optimized for Reduced Cache Misses
abstract
High-performing on-chip instruction caches are crucial to keep fast processors busy. Unfortunately, while on-chip caches are usually successful at intercepting instruction fetches in loop-intensive engineering codes, they are less able to do so in large systems codes. To improve the performance of the latter codes, the compiler can be used to lay out the code in memory for reduced cache conflicts. Interestingly, such an operation leaves the code in a state that can be exploited by a new type of instruction prefetching: guarded sequential prefetching.The idea is that the compiler leaves hints in the code as to how the code was laid out. Then, at run time, the prefetching hardware detects these hints and uses them to prefetch more effectively. This scheme can be implemented very cheaply: one bit encoded in control transfer instructions and a prefetch module that requires minor extensions to existing next-line sequential prefetchers. Furthermore, the scheme can be turned off and on at run time with the toggling of a bit in the TLB. The scheme is evaluated with simulations using complete traces from a 4-processor machine. Overall, for 16-Kbyte primary instruction caches, guarded sequential prefetching removes, on average, 66% of the instruction misses remaining in an operating system with an optimized layout, speeding up the operating system by 10%. Moreover, the scheme is more cost-effective and robust than existing sequential prefetching techniques.
Chun Xia, Josep Torrellas
ISCA1
1995 Optimizing Instruction Cache Performance for Operating System Intensive Workloads
abstract
High instruction cache hit rates are key to high performance. One known technique to improve the hit rate of caches is to use an optimizing compiler to minimize cache interference via an improved layout of the code. This technique, however, has been applied to application code only, even though there is evidence that the operating system often uses the cache heavily and with less uniform patterns than applications. Therefore, it is unknown how well existing optimizations perform for systems code and whether better optimizations can be found. We address this problem in this paper. This paper characterizes in detail the locality patterns of the operating system code and shows that there is substantial locality. Unfortunately, caches are not able to extract much of it: rarely-executed special-case code disrupts spatial locality, loops with few iterations that call routines make loop locality hard to exploit, and plenty of loop-less code hampers temporal locality. As a result, interference within popular execution paths dominates instruction cache misses. Based on our observations, we propose an algorithm to expose these localities and reduce interference. For a range of cache sizes, associativities, lines sizes, and other organizations we show that we reduce total instruction miss rates by 31-86% (up to 2.9 absolute points). Using a simple model this corresponds to execution time reductions in the order of 12-26%. In addition, our optimized operating system combines well with optimized or unoptimized applications.>
Josep Torrellas, Chun Xia, Russell L. Daigle
HPCA2