Luke Dalessandro

dblp:35/2924 · also Luke D'Alessandro · DBLP profile ↗
← Back
16ranked-venue papers
5as first author
1since 2021 · last 2022
0000-0002-4803-8003ORCID · corroborated

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

Systems, architecture and hardware · 10 · 4 first-authorSoftware engineering, systems software and programming languages · 5 · 1 first-author · 1 since 2021Human-computer interaction and ubiquitous 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.

Software engineering, system software, and programming languages
7 papers
Concurrent programming · 49% Software maintenance and evolution · 17% Program analysis · 15%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Parallel and multicore computing · 58% Interconnection networks and networks-on-chip · 32% Processor architecture and microarchitecture · 10%
Theoretical computer science
1 paper
Computational geometry · 100%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software updates
software patching
0.322017
Living on the edge: rapid-toggling probes with cross-modification on x86 · PLDI 2016
Instruction punning: lightweight instrumentation for x86-64 · PLDI 2017
Concurrent programming › transactional memory
software transactional memory
0.342011
NOrec: streamlining STM by abolishing ownership records · PPoPP 2010
A comprehensive strategy for contention management in software transactional memory · PPoPP 2009
Privatization techniques for software transactional memory · PODC 2007
Program analysis › dynamic analysis
dynamic instrumentation
0.312017
Instruction punning: lightweight instrumentation for x86-64 · PLDI 2017
Concurrent programming
transactional memory
0.332011
Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory · ASPLOS 2011
Privatization techniques for software transactional memory · PODC 2007
Transactions and privatization in Delaunay triangulation · PODC 2007
Interconnection networks and networks-on-chip › interconnect architecture
communication fabric
0.212016
Network-Managed Virtual Global Address Space for Message-driven Runtimes · HPDC 2016
Parallel and multicore computing › parallel programming models › distributed memory programming models
global address space
0.212016
Network-Managed Virtual Global Address Space for Message-driven Runtimes · HPDC 2016
Concurrent programming › transactional memory
hybrid transactional memory
0.112011
Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory · ASPLOS 2011
Parallel and multicore computing › transactional memory
hardware transactional memory
0.112011
Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory · ASPLOS 2011
Runtime systems and virtual machines › parallel runtime systems
transactional memory runtime
0.112010
NOrec: streamlining STM by abolishing ownership records · PPoPP 2010
Concurrent programming › transactional memory
contention management
0.112009
A comprehensive strategy for contention management in software transactional memory · PPoPP 2009
Parallel and multicore computing › parallel programming runtimes
message-driven runtime
0.112016
Network-Managed Virtual Global Address Space for Message-driven Runtimes · HPDC 2016
Concurrent programming
concurrent data structures
0.112007
Transactions and privatization in Delaunay triangulation · PODC 2007
Concurrent programming › transactional memory
privatization
0.112007
Privatization techniques for software transactional memory · PODC 2007
Computational geometry › triangulation
delaunay triangulation
0.112007
Transactions and privatization in Delaunay triangulation · PODC 2007
Computational geometry
parallel geometric algorithms
0.012007
Transactions and privatization in Delaunay triangulation · PODC 2007

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

statistical profiling · 0.5binary instrumentation · 0.5probe injection · 0.3transactional memory · 0.2simulation · 0.2active global address space · 0.2transactions · 0.1privatization · 0.1
YearPublicationVenuePosition
2022 NWGraph: A Library of Generic Graph Algorithms and Data Structures in C++20
Andrew Lumsdaine, Luke Dalessandro, Kevin Deweese, Jesun Sahariar Firoz, Xu T. Liu, Scott McMillan, John Phillip Ratzloff, Marcin Zalewski
ECOOP2
2017 Instruction punning: lightweight instrumentation for x86-64
abstract
Existing techniques for injecting probes into running applications are limited;
Buddhika Chamith, Bo Joel Svensson, Luke Dalessandro, Ryan Newton
PLDI3
2016 Network-Managed Virtual Global Address Space for Message-driven Runtimes
abstract
Maintaining a scalable high-performance virtual global address space using distributed memory hardware has proven to be challenging. In this paper we evaluate a new approach for such an active global address space that leverages the capabilities of the network fabric to manage addressing, rather than software at the endpoint hosts. We describe our overall approach, design alternatives, and present initial experimental results that demonstrate the effectiveness and limitations of existing network hardware.
Abhishek Kulkarni, Luke Dalessandro, Ezra Kissel, Andrew Lumsdaine, Thomas L. Sterling, D. Martin Swany
HPDC2
2016 Living on the edge: rapid-toggling probes with cross-modification on x86
abstract
Dynamic probe injection is now a widely used method to debug performance in production. Current techniques for dynamic probing of native code, however, rely on an expensive stop-the-world approach: binary changes are made within a safe state of the program---typically in which all the program threads are halted---to ensure that another thread executing the modified code region doesn't step into a partially-modified code. Stop-the-world patching is not scalable. In contrast, low overhead, scalable probes that can be rapidly toggled on and off in-place would open up new use cases for statistical profilers and language implementations, even traditional ahead-of-time, native-code compilers. In this paper we introduce safe cross-modification protocols that mutate x86 code between threads but do not require quiescing threads, resulting in radically lower overheads than existing solutions. A key problem is handling instructions that straddle cache lines. We empirically evaluate existing x86 architectures to derive a safe policy given current processor behavior, and we argue that future architectures should clarify the semantics of instruction fetching to make cheap cross-modification easier and future proof.
Buddhika Chamith, Bo Joel Svensson, Luke Dalessandro, Ryan Newton
PLDI3
2015 Pixel-oriented techniques for visualizing next-generation HPC systems
abstract
Visualization schemas need to be enhanced to support next-generation high-performance computing (HPC) environments. New HPC runtimes perform more actions in a unit of time, but they also perform a wider variety of actions. Existing schemas are too simple to illustrate the variety of information that HPC developers need. However, existing schemas can be extended in simple ways to become more effective for next-generation HPC environments. This paper presents extensions to the common Vampir style plot that use high-definition alpha composition and color weaving. These two techniques incorporate new detail into the traditional plot style, providing useful information for HPC developers.
Joseph A. Cottam, Benjamin Martin 0004, Luke Dalessandro, Andrew Lumsdaine
VISSOFT3
2012 Sandboxing transactional memory
abstract
Correct transactional memory systems (TMs) must address the possibility that a speculative transaction may read mutually inconsistent values from memory and then perform an operation that violates the underlying language semantics. TMs for managed languages can leverage type safety, just-in-time compilation, and fully monitored exceptions to sandbox transactions, isolating the rest of the system from damaging effects of inconsistent speculation. In contrast, TMs for unmanaged languages that lack these properties typically avoid erroneous behavior by validating a transaction's view of memory incrementally after each read operation.
Luke Dalessandro, Michael L. Scott
PACT1
2011 Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory
abstract
Transactional memory (TM) is a promising synchronization mechanism for the next generation of multicore processors. Best-effort Hardware Transactional Memory (HTM) designs, such as Sun's prototype Rock processor and AMD's proposed Advanced Synchronization Facility (ASF), can efficiently execute many transactions, but abort in some cases due to various limitations. Hybrid TM systems can use a compatible software TM (STM) in such cases.
Luke Dalessandro, François Carouge, Sean White, Yossi Lev, Mark Moir, Michael L. Scott, Michael F. Spear
ASPLOS1
2010 Transactional Mutex Locks
Luke Dalessandro, David Dice, Michael L. Scott, Nir Shavit, Michael F. Spear
Euro-Par (2)1
2010 NOrec: streamlining STM by abolishing ownership records
abstract
Drawing inspiration from several previous projects, we present an ownership-record-free software transactional memory (STM) system that combines extremely low overhead with unusually clean semantics. While unlikely to scale to hundreds of active threads, this "NOrec" system offers many appealing features: very low fast-path latency--as low as any system we know of that admits concurrent updates; publication and privatization safety; livelock freedom; a small, constant amount of global metadata, and full compatibility with existing data structure layouts; no false conflicts due to hash collisions; compatibility with both managed and unmanaged languages, and both static and dynamic compilation; and easy acccommodation of closed nesting, inevitable (irrevocable) transactions, and starvation avoidance mechanisms. To the best of our knowledge, no extant STM system combines this set of features.
Luke Dalessandro, Michael F. Spear, Michael L. Scott
PPoPP1
2010 Transactions as the Foundation of a Memory Consistency Model
Luke Dalessandro, Michael L. Scott, Michael F. Spear
DISC1
2009 A comprehensive strategy for contention management in software transactional memory
abstract
In Software Transactional Memory (STM), contention management refers to the mechanisms used to ensure forward progress--to avoid livelock and starvation, and to promote throughput and fairness. Unfortunately, most past approaches to contention management were designed for obstruction-free STM frameworks, and impose significant constant-time overheads. Priority-based approaches in particular typically require that reads be visible to all transactions, an expensive property that is not easy to support in most STM systems.
Michael F. Spear, Luke Dalessandro, Virendra J. Marathe, Michael L. Scott
PPoPP2
2008 Implementing and Exploiting Inevitability in Software Transactional Memory
abstract
Transactional Memory (TM) takes responsibility for concurrent, atomic execution of labeled regions of code, freeing the programmer from the need to manage locks. Typical implementations rely on speculation and rollback, but this creates problems for irreversible operations like interactive I/O.A widely assumed solution allows a transaction to operate in an inevitable mode that excludes all other transactions and is guaranteed to complete, but this approach does not scale. This paper explores a richer set of alternatives for software TM, and demonstrates that it is possible for an inevitable transaction to run in parallel with (non-conflicting) non-inevitable transactions, without introducing significant overhead in the non-inevitable case. We report experience with these alternatives in a graphical game application. We also consider the use of inevitability to accelerate certain common-case transactions.
Michael F. Spear, Michael Silverman, Luke Dalessandro, Maged M. Michael, Michael L. Scott
ICPP3
2008 Ordering-Based Semantics for Software Transactional Memory
Michael F. Spear, Luke Dalessandro, Virendra J. Marathe, Michael L. Scott
OPODIS2
2007 Transactions and privatization in Delaunay triangulation
abstract
No abstract available.
Michael L. Scott, Michael F. Spear, Luke Dalessandro, Virendra J. Marathe
PODC3
2007 Privatization techniques for software transactional memory
abstract
No abstract available.
Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, Michael L. Scott
PODC3
2007 Nonblocking transactions without indirection using alert-on-update
abstract
Nonblocking implementations of software transactional memory (STM) typically impose an extra level of indirection when accessing an object; some researchers have claimed that the cost of this indirection outweighs the semantic advantages of nonblocking progress guarantees. We consider this claim in the context of a simple hardware assist, alert-on-update (AOU), which allows a thread to request immediate notification if specified line(s) are replaced or invalidated in its cache. We show that even a single AOU line allows us to construct a simple, nonblocking STM system without extra indirection. At the same time, we observe that per-load validation operations, required for intra-object consistency in both the new system and in lock-based (blocking) STM, at least partially negate the resulting performance gain. Moreover, inter-object consistency checks, also required in both kinds of systems, remain the dominant cost for transactions that access many objects. We therefore present a second nonblocking STM system that uses multiple AOU lines (one per accessed object) to eliminate validation overhead entirely, resulting in a nonblocking, zero-indirection STM system that outperforms competing systems by as much as a factor of 2.
Michael F. Spear, Arrvindh Shriraman, Luke Dalessandro, Sandhya Dwarkadas, Michael L. Scott
SPAA3