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

David K. Tam

dblp:86/5581 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
0since 2021 · last 2009
—ORCID · none

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

Systems, architecture and hardware · 3 · 2 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
3 papers
Memory systems · 75% Processor architecture and microarchitecture · 9% Embedded and real-time systems · 9%
Software engineering, system software, and programming languages
2 papers
Operating systems · 100%

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

TopicWeightPapersLastEvidence papers
Memory systems
cache
0.122009
RapidMRC: approximating L2 miss rate curves on commodity systems for online optimizations · ASPLOS 2009
Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors · EuroSys 2007
Memory systems › cache management
cache partitioning
0.112009
RapidMRC: approximating L2 miss rate curves on commodity systems for online optimizations · ASPLOS 2009
Memory systems › cache design
cache sizing
0.112009
RapidMRC: approximating L2 miss rate curves on commodity systems for online optimizations · ASPLOS 2009
Memory systems › cache › cache performance
miss ratio curve
0.112009
RapidMRC: approximating L2 miss rate curves on commodity systems for online optimizations · ASPLOS 2009
Operating systems › resource management
memory management
0.112008
Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer · MICRO 2008
Operating systems › resource management › memory management
page coloring
0.112008
Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer · MICRO 2008
Memory systems › cache management › cache interference
cache pollution
0.112008
Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer · MICRO 2008
Memory systems › cache management
cache replacement
0.112008
Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer · MICRO 2008
Operating systems › resource management › process management
CPU scheduling
0.112007
Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors · EuroSys 2007
Operating systems › resource management › process management › CPU scheduling
thread scheduling
0.112007
Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors · EuroSys 2007
Embedded and real-time systems › real-time scheduling › multicore scheduling
cache-aware scheduling
0.112007
Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors · EuroSys 2007
Processor architecture and microarchitecture
multicore design
0.112007
Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors · EuroSys 2007
Performance modeling and evaluation
workload characterization
0.012009
RapidMRC: approximating L2 miss rate curves on commodity systems for online optimizations · ASPLOS 2009
Performance modeling and evaluation › performance monitoring
hardware performance counters
0.012008
Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer · MICRO 2008
Memory systems › cache management
cache sharing
0.012007
Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors · EuroSys 2007

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

page coloring · 0.2hardware performance counters · 0.2thread clustering · 0.1sharing-aware scheduling · 0.1performance measurement · 0.1hardware performance monitoring · 0.1
YearPublicationVenuePosition
2009 RapidMRC: approximating L2 miss rate curves on commodity systems for online optimizations
abstract
Miss rate curves (MRCs) are useful in a number of contexts. In our research, online L2 cache MRCs enable us to dynamically identify optimal cache sizes when cache-partitioning a shared-cache multicore processor. Obtaining L2 MRCs has generally been assumed to be expensive when done in software and consequently, their usage for online optimizations has been limited. To address these problems and opportunities, we have developed a low-overhead software technique to obtain L2 MRCs online on current processors, exploiting features available in their performance monitoring units so that no changes to the application source code or binaries are required. Our technique, called RapidMRC, requires a single probing period of roughly 221 million processor cycles (147 ms), and subsequently 124 million cycles (83 ms) to process the data. We demonstrate its accuracy by comparing the obtained MRCs to the actual L2 MRCs of 30 applications taken from SPECcpu2006, SPECcpu2000, and SPECjbb2000. We show that RapidMRC can be applied to sizing cache partitions, helping to achieve performance improvements of up to 27%.
David K. Tam, Livio B. Soares, Michael Stumm
ASPLOS1
2008 Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer
abstract
It is well recognized that LRU cache-line replacement can be ineffective for applications with large working sets or non-localized memory access patterns. Specifically, in last-level processor caches, LRU can cause cache pollution by inserting non-reuseable elements into the cache while evicting reusable ones. The work presented in this paper addresses last-level cache pollution through a dynamic operating system mechanism, called ROCS, requiring no change to underlying hardware and no change to applications. ROCS employs hardware performance counters on a commodity processor to characterize application cache behavior at run-time. Using this online profiling, cache unfriendly pages are dynamically mapped to a pollute buffer in the cache, eliminating competition between reusable and non-reusable cache lines. The operating system implements the pollute buffer through a page-coloring based technique, by dedicating a small slice of the last-level cache to store non-reusable pages. Measurements show that ROCS, implemented in the Linux 2.6.24 kernel and running on a 2.3 GHz PowerPC 970FX, improves performance of memory-intensive SPEC CPU 2000 and NAS benchmarks by up to 34%, and 16% on average.
Livio B. Soares, David K. Tam, Michael Stumm
MICRO2
2007 Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors
abstract
The major chip manufacturers have all introduced chip multiprocessing (CMP) and simultaneous multithreading (SMT) technology into their processing units. As a result, even low-end computing systems and game consoles have become shared memory multiprocessors with L1 and L2 cache sharing within a chip. Mid- and large-scale systems will have multiple processing chips and hence consist of an SMP-CMP-SMT configuration with non-uniform data sharing overheads. Current operating system schedulers are not aware of these new cache organizations, and as a result, distribute threads across processors in a way that causes many unnecessary, long-latency cross-chip cache accesses.
David K. Tam, Michael Stumm
EuroSys1