Project Snowflake: Non-blocking Safe Manual Memory Management for .NET
Garbage collection greatly improves programmer productivity and ensures memory safety. Manual memory management on the other hand
often delivers better performance but is typically unsafe and can lead to system crashes or security vulnerabilities. We propose integrating safe manual memory management with garbage collection in the .NET runtime to get the best of both worlds. In our design, programmers can choose between allocating objects in the garbage collected heap or the manual heap. All existing applications run unmodified, and without any performance degradation, using the garbage collected heap.
Our programming model for manual memory management is flexible: although objects in the manual heap can have a single owning pointer, we allow deallocation at any program point and concurrent sharing of these objects amongst all the threads in the program. Experimental results from our .NET CoreCLR implementation on real-world applications show substantial performance gains especially in multithreaded scenarios: up to 3x savings in peak working sets and 2x improvements in runtime.
Fri 27 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00
Language DesignOOPSLA at Regency A
Chair(s): Gregor Richards University of Waterloo
|Project Snowflake: Non-blocking Safe Manual Memory Management for .NET|
Matthew Parkinson Microsoft Research, UK, Dimitrios Vytiniotis Microsoft Research, Cambridge, Kapil Vaswani Microsoft Research, Manuel Costa Microsoft Research, Pantazis Deligiannis Microsoft Research, Dylan McDermott University of Cambridge, Jonathan Balkind Princeton, USA, Aaron Blankstein Princeton, USADOI
|Alpaca: Intermittent Execution without Checkpoints|
Kiwan Maeng Carnegie Mellon University, USA, Alexei Colin Carnegie Mellon University, Brandon Lucia Carnegie Mellon UniversityDOI
|An Auditing Language for Preventing Correlated Failures in the Cloud|
Ennan Zhai Yale University, USA, Ruzica Piskac Yale University, Ronghui Gu Columbia University, USA, Xun Lao Yale University, USA, Xi Wang Yale University, USADOI
|Reliable and Automatic Composition of Language Extensions to C|
Ted Kaminski University of Minnesota, Lucas Kramer University of Minnesota, Travis Carlson University of Minnesota, USA, Eric Van Wyk University of Minnesota, USADOI Pre-print