Erick Lavoie

Post-Doc, Computer Networks Group, University of Basel, Basel, Switzerland

Ph.D in Computer Science (2019) advised by Laurie Hendren (1958-2019)

curriculum vitae

I want to empower individuals, communities, and organizations (businesses, non-profits, and governments) with peer-to-peer tools that leverage resources they already own but may not use to their full potential.

Current Projects

I am designing and implementing local crypto-tokens, which contrary to Bitcoin and Ethereum, use double-spending detection instead of prevention making the required infrastructure orders of magnitude cheaper. They are aimed at local economics, in which any participant can create new tokens. The tokens are linked to their own identity and to their economic activity within a community of participants that know each other.

I am also currently helping to bootstrap the Secure-Scuttlebutt community and peer-to-peer protocols. Secure-Scuttlebutt is used to implement local crypto-tokens.

Past Projects

D-Cliques: Compensating Data Heterogeneity with Topology in Decentralized Federated Learning

D-Cliques is a topology and a refinement of Decentralized Stochastic Gradient Descent (D-SGD) that compensates for skewed label distribution between nodes by creating cliques of diverse nodes such that IIDness is recovered in each local neighbourhood. This makes decentralized learning in the presence of data heterogeneity as fast as centralized learning without the need for a server.

Pando (PhD)

Pando is a tool for personal volunteer computing that enables programmers from the general public, including scientists and engineers, to use their personal devices and those of their friends to collaboratively map a function on a stream of inputs.

Pando is easier to deploy than BOINC for smaller projects: the master process can run on user hardware and all workers are dynamically opened in participating devices' browsers with no prior installation. Pando has been tested in local area networks with a dozen of personal devices (including smartphones), on Grid5000 with hundreds of cores, and Europe-wide PlanetLab nodes connected over WebRTC. Interestingly, in many cases, a collection of older personal devices provided similar performance as more recent devices or server nodes (running the same unspecialized code): users therefore have an incentive to use all their personal devices and the other machines they have access to before renting distant resources.

Pando should be accessible to a large majority of programmers: it abstracts the complexity of distribution with a fault-tolerant declarative concurrent programming model; it is usable in Unix pipelines; and it transparently supports user-defined processing functions that leverage existing JavaScript libraries.

Pando's StreamLender, and Limiter core abstractions are clearly described in my dissertation to make them easier to reimplement in other programming environments that support higher-order functions. The design of Pando should therefore be resilient to the quick evolution of Web technologies.


Google Scholar

Proceedings papers

Anne-Marie Kermarrec, Erick Lavoie, Christian Tschudin
"Gossiping with Append-Only Logs in Secure-Scuttlebutt"
Distributed Infrastructure for the Common Good. Delft, The Netherlands. December, 2020.
Paper: [DOI]
Talk: [YouTube]
Erick Lavoie, Laurie Hendren, Frederic Desprez, Miguel Correia
"Pando: Personal Volunteer Computing in Browsers"
Middleware. Davis, California, US. December, 2019.
Paper: [Arxiv][DOI]
Slides: [pdf]
Artifact: [github][instructions]

Dominic Tarr, Erick Lavoie, Aljoscha Meyer, Christian Tschudin
"Secure Scuttlebutt: An Identity-Centric Protocol for Subjective and Decentralized Applications"
Information-Centric Networking (ICN). Macao, China. September, 2019.
Paper: [ICN (Open Access)]

Erick Lavoie, Laurie Hendren, Frederic Desprez, Miguel Correia
"Genet: A Quickly Scalable Fat-Tree Overlay for Personal Volunteer Computing using WebRTC"
Self-Adaptive and Self-Organizing Systems (SASO). Umea, Sweden. June, 2019.
Paper: [Arxiv][DOI]

Erick Lavoie, Laurie Hendren
"Personal Volunteer Computing"
Computing Frontiers (CF). Alghero, Sardinia, Italy. May, 2019.
Paper: [Arxiv][DOI]
Slides: [pdf]

David Herrera, Hanfeng Chen, Erick Lavoie, Laurie Hendren
"Numerical computing on the web: benchmarking for the future"
Dynamic Language Symposium (DLS). Boston, MA. USA. November, 2018.
Paper: [pdf]
Wu-Wei Tool: [github]

Erick Lavoie, Miguel Correia, Laurie Hendren
"Xor-overlay Topology Management Beyond Kademlia"
Self-Adaptive and Self-Organizing Systems (SASO). Tucson, AZ, USA. September, 2017.
Paper: [pdf]

Hanfeng Chen, Alexander Krolik, Erick Lavoie, Laurie Hendren
"Automatic Vectorization for MATLAB"
International Workshop on Languages and Compilers for Parallel Computing. Texas A\&M University, College Station, Texas, USA. October, 2017.
Paper: [pdf]
Experiments: [github]

Faiz Khan, Vincent Foley-Bourgon, Sujay Kathrotia, Erick Lavoie, and Laurie Hendren
"Using JavaScript and WebCL for Numerical Computations: A Comparative Study of Native and Web Technologies"
Dynamic Language Symposium (DLS). Portland, Oregon. USA. October, 2014.
Paper: [pdf]
Source Code: [github]

Erick Lavoie, Bruno Dufour, and Marc Feeley
"Portable and Efficient Run-time Monitoring of JavaScript Applications Using Virtual Machine Layering"
European Conference on Object-Oriented Programming (ECOOP). Uppsala, Sweden. August, 2014.
Paper: [pdf]
Source Code: [github]

Maxime Chevalier-Boisvert, Erick Lavoie, Marc Feeley and Bruno Dufour.
"Bootstrapping a Self-Hosted Research Virtual Machine for JavaScript - An Experience Report."
Dynamic Language Symposium (DLS). Portland, Oregon. USA. October, 2011.
Most Notable Paper Award from 10 years ago, DLS, October, 2021.
Paper: [pdf]
Source Code: [github]

Grégoire Mesnil, Yann Dauphin, Xavier Glorot, Salah Rifai, Yoshua Bengio, Ian Goodfellow, Erick Lavoie, Xavier Muller, Guillaume Desjardins, David Warde-Farley, Pascal Vincent, Aaron Courville and James Bergstra.
"Unsupervised and Transfer Learning Challenge: a Deep Learning approach."
JMLR W\& CP: Proceedings of the Unsupervised and Transfer Learning challenge and workshop. Bellevue, Washington. USA. 2011. pages 97-110.
Paper: [pdf]

Workshop papers

Peer-reviewed but unpublished

Erick Lavoie, Bruno Dufour and Marc Feeley. "Metacircular Virtual Machine Layering for Run-Time Instrumentation" Runtime Environments, Systems, Layering and Virtualized Environments (RESoLVE). Houston, Texas. USA. March, 2013.
Slides: [pdf]


"Personal Volunteer Computing"
Ph.D Dissertation. McGill University. 2019.

"Harnessing performance for flexibility in instrumenting a virtual machine for JavaScript through metacircularity."
Master Dissertation. Université de Montréal. 2012.


The SAFE Network from First Principles
YouTube Videos: [playlist]
"1. XOR Distance Metric and Basic Routing". McLab Seminars. McGill University, Montreal, October 2014.
Slides: [pdf]

"In Praise of Metacircular Virtual Machine Layering."
Mozilla Corp.San Francisco, California. USA. 2013-02-01.
Principles Of Programming Languages, Student Session's Short Talk (POPL). Rome, Italy. 2013.
The SIGPLAN Programming Language Mentoring Workshop, One Minute Madness (PLMW, co-located with POPL 2013) Rome, Italy. 2013.
Slides: 1min [pdf] 10min [pdf] 30min [pdf][video]