Samuel Larsen

dblp:08/4601 · DBLP profile ↗
← Back
4ranked-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 · 2 · 1 first-authorSoftware engineering, systems software and programming languages · 2 · 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.

Software engineering, system software, and programming languages
3 papers
Debugging and program repair · 55% Compilers and program optimization · 36% Operating systems · 8%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Processor architecture and microarchitecture · 56% Memory systems · 30% Energy-efficient computing · 15%
Network and information security
1 paper
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Systems and software security
vulnerability discovery
0.112009
Automatically patching errors in deployed software · SOSP 2009
Debugging and program repair
automated program repair
0.112009
Automatically patching errors in deployed software · SOSP 2009
Debugging and program repair › automated program repair
patch generation
0.112009
Automatically patching errors in deployed software · SOSP 2009
Compilers and program optimization
vectorization
0.122005
Exploiting Vector Parallelism in Software Pipelined Loops · MICRO 2005
Exploiting superword level parallelism with multimedia instruction sets · PLDI 2000
Processor architecture and microarchitecture
instruction set architecture
0.112005
Exploiting Vector Parallelism in Software Pipelined Loops · MICRO 2005
Processor architecture and microarchitecture › SIMD
vector instructions
0.112005
Exploiting Vector Parallelism in Software Pipelined Loops · MICRO 2005
Memory systems
cache
0.012001
Direct addressed caches for reduced power consumption · MICRO 2001
Energy-efficient computing › power management › memory power management
cache energy reduction
0.012001
Direct addressed caches for reduced power consumption · MICRO 2001
Memory systems › cache › CPU cache
data cache
0.012001
Direct addressed caches for reduced power consumption · MICRO 2001
Compilers and program optimization › vectorization
superword level parallelism
0.012000
Exploiting superword level parallelism with multimedia instruction sets · PLDI 2000
Processor architecture and microarchitecture › SIMD
SIMD instructions
0.012000
Exploiting superword level parallelism with multimedia instruction sets · PLDI 2000

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

software pipelining · 0.1cost analysis · 0.1SPEC FP benchmarking · 0.1
YearPublicationVenuePosition
2009 Automatically patching errors in deployed software
abstract
We present ClearView, a system for automatically patching errors in deployed software. ClearView works on stripped Windows x86 binaries without any need for source code, debugging information, or other external information, and without human intervention.
Jeff H. Perkins, Sunghun Kim 0001, Samuel Larsen, Saman P. Amarasinghe, Jonathan Bachrach, Michael Carbin, Carlos Pacheco, Frank Sherwood, Stelios Sidiroglou-Douskos, Gregory T. Sullivan, Weng-Fai Wong, Yoav Zibin, Michael D. Ernst, Martin C. Rinard
SOSP3
2005 Exploiting Vector Parallelism in Software Pipelined Loops
abstract
An emerging trend in processor design is the addition of short vector instructions to general-purpose and embedded ISAs. Frequently, these extensions are employed using traditional vectorization technology first developed for supercomputers. In contrast, scalar hardware is typically targeted using ILP techniques such as software pipelining. This paper presents a novel approach for exploiting vector parallelism in software pipelined loops. The proposed methodology (i) lowers the burden on the scalar resources by offloading computation to the vector functional units, (ii) explicitly manages communication of operands between scalar and vector instructions, (in) naturally handles misaligned vector memory operations, and (iv) partially (or fully) inhibits the optimization when vectorization will decrease performance. Our approach results in better resource utilization and allows for software pipelining with shorter initiation intervals. The proposed optimization is applied in the compiler backend, where vectorization decisions are more amenable to cost analysis. This is unique in that traditional vectorization optimizations are usually carried out at the statement level. Although our technique most naturally complements statically scheduled machines, we believe it is applicable to any architecture that tightly integrates support for instruction and data level parallelism. We evaluate our methodology using nine SPEC FP benchmarks. In comparison to software pipelining, our approach achieves a maximum speedup of 1.38times, with an average of 1.11times
Samuel Larsen, Rodric M. Rabbah, Saman P. Amarasinghe
MICRO1
2001 Direct addressed caches for reduced power consumption
abstract
A direct addressed cache is a hardware-software design for an energy-efficient microprocessor data cache. Direct addressing allows software to access cache data without a hardware cache tag check. These tag-unchecked loads and stores save the energy of a tag check when the compiler can guarantee an access will be to the same line as an earlier access. We have added support for tag-unchecked loads and stores to C and Java compilers. For Mediabench C programs, the compiler eliminates 16-76% of data cache tag accesses, with half of the benchmarks avoiding over 40% of the data tag checks. For SPECjvm98 Java programs, the compiler eliminates 18-63% of data cache tag checks. These tag check reductions translate into data cache energy savings of 9-40%, and overall processor and cache energy savings of 2-8%.
Emmett Witchel, Samuel Larsen, C. Scott Ananian, Krste Asanovic
MICRO2
2000 Exploiting superword level parallelism with multimedia instruction sets
abstract
Increasing focus on multimedia applications has prompted the addition of multimedia extensions to most existing general purpose microprocessors. This added functionality comes primarily with the addition of short SIMD instructions. Unfortunately, access to these instructions is limited to in-line assembly and library calls. Generally, it has been assumed that vector compilers provide the most promising means of exploiting multimedia instructions. Although vectorization technology is well understood, it is inherently complex and fragile. In addition, it is incapable of locating SIMD-style parallelism within a basic block.
Samuel Larsen, Saman P. Amarasinghe
PLDI1