Ph.D in Computer Science (2019) advised by Laurie Hendren (1958-2019)
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.
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'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.
Proceedings papersErick Lavoie, Laurie Hendren, Frederic Desprez, Miguel Correia
"Pando: Personal Volunteer Computing in Browsers"
Middleware. Davis, California, US. December, 2019.
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.
Erick Lavoie, Laurie Hendren
"Personal Volunteer Computing"
Computing Frontiers (CF). Alghero, Sardinia, Italy. May, 2019.
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.
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.
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.
Faiz Khan, Vincent Foley-Bourgon, Sujay Kathrotia, Erick Lavoie, and Laurie Hendren
Dynamic Language Symposium (DLS). Portland, Oregon. USA. October, 2014.
Source Code: [github]
Erick Lavoie, Bruno Dufour, and Marc Feeley
European Conference on Object-Oriented Programming (ECOOP). Uppsala, Sweden. August, 2014.
Source Code: [github]
Maxime Chevalier-Boisvert, Erick Lavoie, Marc Feeley and Bruno Dufour.
Dynamic Language Symposium (DLS). Portland, Oregon. USA. October, 2011.
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.
Peer-reviewed but unpublishedErick 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.
Dissertations"Personal Volunteer Computing"
Ph.D Dissertation. McGill University. 2019.
Master Dissertation. Université de Montréal. 2012.
"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]
Teaching Assistant, COMP 621: Program Analysis and Transformations, McGill University, Fall 2015
Teaching Assistant, IFT3065/IFT6232: Compilers and Programming Languages, Université de Montréal, Winter 2012