Hello!
I am a sixth (and final!) year Ph.D. student in the University of Washington
Department of Computer Science and Engineering. I am advised by Luis Ceze and I do
research on Computer
Architecture.
My research is on improving programmability, correctness, and reliability in
concurrent software. I am especially interested in defining new concurrent
programming models, inventing better architecture support for concurrency
debugging, and building systems and architectures that automatically avoid
failures in broken concurrent software. I am most interested in designs that
are useful during development, but remain useful for the lifetime of a system.
I like working across the layers of the system stack to attack problems at the
right level of abstraction. I think statistical methods, empirical systems,
and systems that dynamically adapt their behavior are all really cool.
My Ph.D. thesis (coming soon...)incorporates all of these
concepts.
My publications are available on Google Scholar.
I am blucia0a on GitHub
I made the Chango. Check it out.
My publications are available on Google Scholar.
I am blucia0a on GitHub
I made the Chango. Check it out.
News
Aviso, our latest paper about making
systems cooperate to avoid concurrency-related failures, will appear at ASPLOS 2013!
I received an honorable mention for the 2011 Graduate Student Bob Bandes Memorial Award for Excellence in Teaching for TAing undergraduate computer architecture with Susan Eggers.
I received a 2010 IBM PhD Fellowship for my work in improving the performance and reliability of concurrent software.
I received an honorable mention for the 2011 Graduate Student Bob Bandes Memorial Award for Excellence in Teaching for TAing undergraduate computer architecture with Susan Eggers.
I received a 2010 IBM PhD Fellowship for my work in improving the performance and reliability of concurrent software.
Publications
Refereed Conference Papers
Cooperative Empirical Failure Avoidance for Multithreaded ProgramsBrandon Lucia, Luis Ceze
ASPLOS 2013[paper]
IFRit: Interference-Free Regions for Dynamic Data-Race Detection
Laura Effinger-Dean, Brandon Lucia, Luis Ceze, Dan Grossman, Hans-J. Boehm
OOPSLA 2012[paper]
Isolating and Understanding Concurrency Errors Using Reconstructed Execution Fragments
Brandon Lucia, Benjamin P. Wood, Luis Ceze
PLDI 2011[paper][Try Recon!]
Acknowledgements to undergrads Julian Knutsen and Zach Rait for their early contributions to this project.
ColorSafe: Architectural Support for Debugging and Dynamically Avoiding Multi-variable Atomicity Violations
Brandon Lucia, Luis Ceze, Karin Strauss
ISCA 2010[paper]
Conflict Exceptions: Providing Simple Parallel Language Semantics with Precise Hardware Exceptions
Brandon Lucia, Luis Ceze, Karin Strauss, Shaz Qadeer, Hans Boehm
ISCA 2010[paper]
Finding Concurrency Bugs with Context-Aware Communication Graphs
Brandon Lucia, Luis Ceze
MICRO 2009[paper]
DMP: Deterministic shared-memory MultiProcessing
Joseph Devietti, Brandon Lucia, Mark Oskin, Luis Ceze
ASPLOS 2009 [paper]
Selected for IEEE Micro Top Picks '10
Atom-Aid: Surviving and Detecting Atomicity Violations
Brandon Lucia, Joseph Devietti, Karin Strauss, Luis Ceze
ISCA 2008 [paper][slides(.key),(.ppt)]
Selected for IEEE Micro Top Picks '09
Slide decks for talks I've given about these papers are available on SpeakerDeck.
Audio of gibberish produced by Mumbley based on a phoneme model of my papers.
Workshop Papers
Playing Cupid: The IDE as a Matchmaker for Plug-InsTodd Schiller and Brandon Lucia
Workshop on Developing Tools as Plug-ins 2012 (co-located with ICSE) [paper]
Automatic Empirical Failure Avoidance Support for Concurrent Software
Brandon Lucia Luis Ceze
Workshop on Determinism and Correctness in Parallel Programming (WoDET) 2012 (co-located with ASPLOS) [paper]
Greedy Coherence
Emily Fortuna, Brandon Lucia, Adrian Sampson, Benjamin P. Wood, Luis Ceze
Workshop on Hardware Support for Parallel Performance and Correctness 2011 (co-located with MICRO)[paper]
Hardware Watchmachines
Nicholas Hunt, Brandon Lucia, Luis Ceze
PLDI FIT 2011[paper]
Lock Prediction
Brandon Lucia, Joseph Devietti, Tom Bergan, Luis Ceze, Dan Grossman
Usenix HotPar 2010[paper]
The Case for System Support for Concurrency Exceptions
Luis Ceze, Joseph Devietti, Brandon Lucia, Shaz Qadeer
USENIX HotPar 2009[paper]
Explicitly Parallel Programming with Shared-Memory is Insane: At Least Make it Deterministic!
Joe Devietti, Brandon Lucia, Luis Ceze and Mark Oskin
Workshop on Software and Hardware Challenges of Manycore Platforms '08 [paper ]
PoCSci (Potentially Computer Science...)
The Barnyard of Pig Data Research: A View from UW CSABenjamin P. Wood, Brandon Lucia,
UW PoCSci 2013 [paper]
Teaching Stuff
Here (PDF) are some slides that I use in an advanced undergrad architecture course to
teach the concept of memory consistency. Feel free to use them. If you think
there is any way I could improve them, let me know!
Brandon M. Lucia [My CV]
Graduate Student
Dept. of Computer Science
University of Washington
PO Box 352350
Seattle, WA 98195
Paul Allen Center, rm. 602
Email: blucia [ at ] gmail [ dot ] com
science.
music.
Software
Useful for Doing Computer Science Research
Recon: A Tool for Finding and Understanding Concurrency Errors.Legerdemain (LDM): A program instrumentation and debugging tool for Linux.
DRProbe: A library for accessing the debug/watchpoint/breakpoint registers on x86/x86-64.Written with Nick HuntDRProbe is part of the Looking Within Project
MultiCacheSim: A really simple multiprocessor cache simulator based on the SESC cache model.
Concurrency Bug Benchmarks: A set of kernel microbenchmarks and full application benchmarks that I (and others) have used for doing concurrency bug research.
Miscellaneous Computer Science Related
Tips for building LLVM passes that work on old broken software. I want Google to index this so others can find it.A plot characterizing the performance of the GCC-4.7 TM implementation(benchmark)
CList: A pure C implementation of a templated list class
Mon: A curses based POSIX Memory Anomaly Monitor
Music Related
Mahalo: A hardware abstract layer for mac to make it easy to make creative audio programming projectsPlayData - Chromatically and rhythmically interpret any file on your file system (try for i in $(HOME); do ./PlayData $i; done).
AndroChango - An Android app version of the PhotoChango.
PhotoChango - A computer vision based tool to audiolyze video in realtime.
Mumbley: A stupid program that generates semi-convincing gibberish using a Markov model of syllables based on wikipedia text. Also: Mumbley-made gibberish derived from a phoneme model built from the contents of all my research papers.
Chango: A musical instrument.
Audiolyzer: A tool I wrote that generates music from concurrent programs, and a composition (program) intended to be played that way.
StreamThru: A script I wrote to listen to records in a different room. Streams audio-in over the network.
Carillon: An MP3 player for Windows.
ServeMp3: A cross-platform playlist based streaming MP3 server written in Perl.
Miscellaneous
Tupac your Stocks(Tony Fader made this, not me)Acronymizer: A tool to make your paper shorter
ParticleSystem: A physics-ish based particle system
CheezePad: A Lightweight Formattable Text Editor