THIS PAGE IS OUT OF DATE!
I have graduated and moved to Microsoft Research Cambridge!
Click here for my new webpage!
I am now at Microsoft Research Cambridge. I completed my PhD in the Department of Computer Science, University of Toronto, advised by Prof. Bianca Schroeder.
I'm broadly interested in large-scale computer systems and storage. My work so far has focused on improving system reliability, controllability, and programmability, as well as reducing the impact of large-scale systems on the environment.
I received my MSc. from the University of Toronto in 2012, and my H.BSc. from the University of Toronto in 2010 doing a Computer Science: Information Security Specialist with a minor in Mathematics at the University of Toronto Mississauga.
I've had industry and industrial research experience in the form of internships at Microsoft and Google, IBM T.J. Watson Research Center, and Microsoft Research. (see CV for more details).
I am currently supported by a Natural Sciences and Engineering Research Council of Canada Alexander Graham Bell CGS D Doctoral Award.
- Refereed
-
sRoute: Treating the Storage Stack Like a Network ( PDF )
Ioan Stefanovici, Bianca Schroeder, Greg O'Shea, Eno Thereska
14th Usenix Conference on File Systems and Storage Technologies FAST 2016
-
Software-Defined Caching: Managing Caches in Multi-Tenant Data Centers (PDF | Technical Report | ACM)
Ioan Stefanovici, Eno Thereska, Greg O'Shea, Bianca Schroeder, Hitesh Ballani, Thomas Karagiannis, Antony Rowstron, Tom Talpey
ACM Symposium on Cloud Computing (SoCC) 2015
-
Temperature Management in Data Centres: Why Some (Might) Like it Hot ( PDF | Technical Report | ACM )
Nosayba El-Sayed, Ioan Stefanovici, George Amvrosiadis, Andy Hwang, Bianca Schroeder
Best Paper Award Sigmetrics/Performance 2012
-
Cosmic Rays Don't Strike Twice: Understanding the Nature of DRAM Errors and the Implications for System Design ( PDF | Slides | ACM )
Andy Hwang, Ioan Stefanovici, Bianca Schroeder
The Seventh International Conference on Architectural Support for Programming Languages and Operating Systems ASPLOS 2012
- Non-Refereed
-
Towards a Storage Stack for the Data Center ( PhD Thesis )
Ioan Stefanovici
University of Toronto, 2016
-
Battling Borked Bits ( Online Edition )
Ioan Stefanovici, Andy Hwang, Bianca Schroeder
IEEE Spectrum, December 2015
-
Temperature Management in Datacenters: Cranking Up the Thermostat Without Feeling the Heat ( Online Edition)
Nosayba El-Sayed, Ioan Stefanovici, George Amvrosiadis, Andy Hwang, Bianca Schroeder
USENIX ;login:, February 2013, Volume 38, Number 1
- OS/161 reference materials and assignments included in: William Stallings, Operating Systems: Internals and Design Principles (7th ed.), New York: Prentice Hall (2011)
- Microsoft Research Cambridge - Research Intern (May 2013 - August 2013, January 2014 - May 2014)
-
- IBM Research T.J. Watson - Research Summer Intern - Cloud Computing, Virtualization and Data Center Management (July 2012 - November 2012)
-
- Researched and prototyped a customer-facing performance and management analytic for cloud environments, offering predictive and "what if?"-type exploration of application performance characteristics.
- Google - Software Engineer Intern (May 2009 - August 2009)
-
- Designed and implemented services that are available to the entire Google user base for the first public release of Google Apps Script, which enables users to leverage various Google services to automate tasks and increase workflow productivity.
- Services allowed users to programmatically interact with Google Finance, Google Spreadsheets, and Google Contacts via JavaScript.
- Improved the security analyzer used by the Google Apps Script server to perform static analysis of JavaScript code as a means of generating a list of security requirements that require user validation.
- Microsoft - Software Design Engineer in Testing Intern (June 2008 - August 2008)
-
- Created a static code analysis taint-tracking tool used by the Common Language Runtime (.NET runtime engine) team on the Silverlight and 4.0 version releases of the engine, focusing primarily on its new security model.
- The tool was designed to track the flow of potentially-malicious user input from the public surface of an API into critical regions of managed assemblies like mscorlib.dll. It was used by the CLR team to prioritize security-related fuzz-testing targets.
- Created fuzz-test scenarios, and made recommendations concerning the highest-priority public surface areas of mscorlib.dll that required security-related fuzz-testing.
I was an Assistant Instructor for CSCC69 - Operating Systems - Spring 2013.
I've been a Teaching Assistant for the following courses:
- CSC469/2208: Advanced Operating Systems - Fall 2014
- CSC423: Computer Forensics - Fall 2011
- CSC369: Operating Systems - Fall 2009, Fall 2010, Spring 2011, Spring 2012, Spring 2013, Fall 2014, Spring 2015, Fall 2015
- CSC148: Introduction to Computer Science - Spring 2008, Spring 2009
- CSC108: Introduction to Computer Programming - Fall 2008
- Topics in the Design and Implementation of Operating Systems - 2012
-
- Designed and implemented a virtualized fault-injection framework based on QEMU.
- Framework simulated the effects of permanent memory errors in user-specified locations, and was designed to be extended to replay memory error traces on a live system.
- Special Topics in Software Engineering: Dependable Systems - 2012
-
- Designed and implemented ReconDB, a modified version of SQLite that performs online consistency checking on critical DB metadata to protect itself against bugs in its own codebase.
- ReconDB's online consistency checks were based on metadata invariants derived from SQLite's built-in offline consistency checker.
I was born in the city of Deva, Romania, where I spent the first 12 years of my life. I moved to Toronto, Canada in 2000, where I've been ever since (ish...; I seem to have developed a thing for travelling at times...)