David Fiala at Lake Tahoe July 2013

David Fiala at North Carolina State University

David Fiala

Currently: Google

Previously: North Carolina State University (NC State)

Email: davidfiala @@at@@ gmail

David Fiala's Linkedin /// David Fiala's Twitter

Professional / Academic
Education
  • PhD in Computer Science, 2015 (defended June 2015)
    North Carolina State University (NC State), Raleigh, North Carolina
  • Master of Science in Computer Science, May 2010
    Middle Tennessee State University (MTSU), Murfreesboro, Tennessee
  • Bachelor of Science in Computer Science, December 2008
    Middle Tennessee State University (MTSU), Murfreesboro, Tennessee (Minor in Mathematics)
  • In 2005 I graduated from high school in the small town of Dickson, Tennessee where I was a band geek, pilot, and buckdancer. :)
PhD Dissertation

Transparent Resilience Across the Entire Software Stack for High-Performance Computing Applications

  • Topic: Resilience and Fault Tolerance in High-Performance Computing (HPC)
  • Title: Transparent Resilience Across the Entire Software Stack for High-Performance Computing Applications (PDF) (NC State Library Record)
    Under the guidance of my awesome advisor, Dr. Frank Mueller.
    (Written Qualifier: Feb. 2012 / Oral Exam: May 2014 / Final Defense: June 2015)
M.S. Thesis
  • Designing a Bi-Directional IP Tunnel over the Domain Name System Protocol
    presented to the Department of Computer Science to partially fulfill the requirements for the Masters of Science degree in Computer Science (May, 2010 - Middle Tennessee State University).
Current Employment
  • Google: Central Privacy & Security, July 2015 - Present
    Google Inc, Mountain View, California.
    • Responsible for Google-wide privacy and security review, design, and response.
Industrial Experience
  • Advanced Technology Group (ATG) Summer Research Intern, May 2014 to August 2014
    NetApp ATG Group, Waltham, Massachusetts.
    • Research in the field of non-volatile memory, algorithm design for self recovering data structures, and consistent, high-speed memory allocators.
    • Design of space efficient, reliable data structures in backend storage engines for in-memory database servers.
  • Mobile Security Research & Development Intern, May 2013 to August 2013
    Qualcomm Research, Santa Clara, California.
    • Developed new techniques for dynamic control flow identification (without source) of live applications in VM languages, such as Java.
    • (2 patents granted)
  • HPC Systems Operations Team Intern (Kraken), May 2010 to August 2010
    Oak Ridge National Laboratory, National Institute for Computational Sciences.
    • Worked alongside Cray XT4/5 administrators to support Kraken Supercomputer
    • Conducted security audit and penetration testing of NICS infrastructure servers and Kraken
  • Systems Administrator, August 2008 to May 2010
    Department of Computer Science, MTSU, Murfreesboro, Tennessee
    • Responsible for administering departmental servers and services provided to students & faculty.
  • Senior Microsoft Student Partner, August 2008 to May 2010
    Microsoft Corporation (MSP Program - Revamped since my previous involvement)
    • Lead and organized a 9-person team that spans many campuses across the nation promoting Microsoft software and technologies.
  • University Computer Science Lab Assistant, August 2006 to August 2008
    Department of Computer Science, MTSU, Murfreesboro, Tennessee
    • Desktop support to lab & provided open tutoring to undergraduate courses in Computer Science and Mathematics.
Academic / Lab
Research Experience
  • Research Student Intern - Scalable Systems Software
    May 2012 to August 2012, and
    June 2011 to August 2011

    Sandia National Laboratories, Albuquerque, NM.
    • Investigated algorithmic and data space fault resilience specifically for operating system and runtime libraries of high-performance-computing installations.
    • Performing a critical assessment of the suitability of existing OS/runtime APIs and internal data structures for resilience against memory corruption and both soft/hard bitflips.
    • Designed and implemented a software-based approach to detect and correct silent data corruption by utilizing the MMU to track page-level memory accesses and verifying content with hashes of pages and additional software-ECC bits
  • Research Assistant, August 2010 to 2015 (Throughout PhD)
    Department of Computer Science, NC State, Raleigh, North Carolina
    • In collaboration with Oak Ridge, Sandia, and NC State, I am investigating several approaches to increase resilience in HPC.
Entrepreneurial
  • BitRifle, LLC (Founder), July 2012 to Present
    BitRifle.com
    • Development and research focused on expanding security, capabilities, and user privacy on mobile devices.
Patents
  • Pre-identifying Probable Malicious Rootkit Behavior Using Behavioral Contracts

    Pre-identifying Probable Malicious Rootkit Behavior Using Behavioral Contracts (PDF)
    Status: Granted on April 26, 2016
    Patent Number: US 9,323,929 B2
  • Lightweight Data-Flow Tracker for Realtime Behavioral Analysis Using Control Flow

    Lightweight Data-Flow Tracker for Realtime Behavioral Analysis Using Control Flow (PDF)
    Status: Granted on October 13, 2015
    Patent Number: US 9,158,604 B1
Publications
  • FlipSphere: A Software-based DRAM Error Detection and Correction Library for HPC

    FlipSphere: A Software-based DRAM Error Detection and Correction Library for HPC (PDF)
    David Fiala, Frank Mueller, Kurt B. Ferreira
    20th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications (DS-RT) (London, UK, September 2016)
  • Mini-Ckpts: Surviving OS Failures in Persistent Memory

    Mini-Ckpts: Surviving OS Failures in Persistent Memory (PDF)
    David Fiala, Frank Mueller, Kurt B. Ferreira, Christian Engelmann
    30th ACM International Conference on Supercomputing (ICS) (Istanbul, Turkey, June 2016)
  • Detection and Correction of Silent Data Corruption for Large-Scale High-Performance Computing

    Detection and Correction of Silent Data Corruption for Large-Scale High-Performance Computing (PDF)
    David Fiala, Frank Mueller, Christian Engelmann, Rolf Riesen, Kurt B. Ferreira
    Supercomputing (Salt Lake City, UT, November 2012)
  • A Tunable, Software-based DRAM Error Detection and Correction Library for HPC

    A Tunable, Software-based DRAM Error Detection and Correction Library for HPC (PDF)
    David Fiala, Kurt B. Ferreira, Frank Mueller, Christian Engelmann
    4th Workshop on Resiliency in High Performance Computing with the 17th International European Conference on Parallel and Distributed Computing (Bordeaux, France, 2011)
  • Combining Partial Redundancy and Checkpointing for HPC

    Combining Partial Redundancy and Checkpointing for HPC (PDF)
    James Elliott, Kishor Kharbas, David Fiala, Frank Mueller, Christian, Engelmann and Kurt Ferreira
    2012 International Conference on Distributed Computing Systems, ICDCS 2012, Macau, China, June 18-21, 2011. IEEE Computer Society 2011
  • Evaluating Operating System Vulnerability to Memory Errors

    Evaluating Operating System Vulnerability to Memory Errors (PDF)
    Kurt B. Ferreira, Kevin Pedretti, Patrick G. Bridges, Ron Brightwell, David Fiala and Frank Mueller
    Workshop on Runtime and Operating Systems for Supercomputers, June 2012 with the 26th International Conference on Supercomputing, San Servolo Island, Venice, Italy.
  • An Operating System Resilient to DRAM Failures

    An Operating System Resilient to DRAM Failures (PDF)
    Kurt Ferreira, Kevin T. Pedretti, Ron Brightwell, Patrick Bridges, David Fiala, and Frank Mueller
    Workshop on Exascale Operating Systems and Runtime Software, October 4-5, 2012, Washington, DC
  • Exploiting Content Similarity to Improve Memory Performance in Exascale Systems

    Exploiting Content Similarity to Improve Memory Performance in Exascale Systems (PDF)
    Scott Levy, Kurt Ferreira, Patrick Bridges, Dorian Arnold and David Fiala
    Workshop on Exascale Operating Systems and Runtime Software, October 4-5, 2012, Washington, DC
  • Detection and Correction of Silent Data Corruption for Large-Scale High-Performance Computing

    Detection and Correction of Silent Data Corruption for Large-Scale High-Performance Computing (PDF)
    David Fiala, Frank Mueller, Christian Engelmann, Rolf Riesen, Kurt B. Ferreira
    TR 2012-5, Dept. of Computer Science, North Carolina State University, May 2012.
Posters Presented
  • Investigating the Benefits of Redundancy Plus Checkpointing for Hard-Fault and Soft Error Protection in HPC

    Investigating the Benefits of Redundancy Plus Checkpointing for Hard-Fault and Soft Error Protection in HPC (PDF)
    David Fiala, James Elliot, Kishor Kharbas, Frank Mueller, Christian Engelmann, Rolf Riesen, Kurt Ferreira
    Salishan Conference on High-Speed Computing (Salishan, OR, 2012) (Invited poster)
  • Detection and Correction of Silent Data Corruption for Large-Scale High-Performance Computing (PDF)
    David Fiala, Frank Mueller, Christian Engelmann, Rolf Riesen, Kurt Ferreira
    Supercomputing (Seattle, WA, 2011)
  • Tunable, Software-based DRAM Error Detection and Correction Library for HPC

    Tunable, Software-based DRAM Error Detection and Correction Library for HPC (PDF)
    David Fiala, Kurt Ferreira, Frank Mueller, Christian Engelmann
    Supercomputing (Seattle, WA, 2011)
  • Detection and Correction of Silent Data Corruption for Large-Scale High-Performance Computing (PDF)
    David Fiala, Frank Mueller, Christian Engelmann, Rolf Riesen, Kurt Ferreira
    PhD Forum with the 25th IEEE International Parallel & Distributed Processing Symposium (Anchorage AK, 2011)
Select NC Stae Software Output
  • RedMPI (NC State/Sandia/Oak Ridge)
    A transparent MPI library that via redundancy is capable of both online detection and correction of soft errors that occur in MPI applications during execution.
  • LIBSDC (NC State/Sandia/Oak Ridge)
    A tunable, software-based DRAM error detection and correction library implementing on-demand page integrity verification transparently for scientific applications.
  • PTX Compiler (NC State)
    A parallelizing compiler and backend for generating native NVIDIA GPU instruction-set(PTX) compiled code with a PARALLEL-FOR construct with automatically optimizing GPU parallel reduction support.
  • FireDroid (NC State)
    An ARM-based Android-OS GUI and backend for wireless HTTP packet sniffing and automatic website session sidejacking with special support for Facebook credential leaks across HTTPS boundaries.
Recent NC State Leadership Involvement
2014-20152013-2014
Awards,
Fellowships,
Teaching
  • WiCS 2014 Symposium Award Winner, April 2014.
    • SaveHuntLibrary.com Presentation on Handling High Load, User Tracking, and Web Attacks in an Online Vote/Petition Environment (Slides)
  • Accepted in the highly competitive North Carolina State University Preparing the Professoriate program 2012-2013.
    • Instructor: CSC 230 - C and Software Tools (NC State: Spring 2013 (instr.) & Fall 2012 (coinst.))
    • PTP Teaching Mentor: Dr. Sarah Heckman
  • Invited Research Presentation and Student Travel Grant for the Salishan Conference on High-Speed Computing, 2012.
  • College of Engineering Fellowship, North Carolina State University, 2010-2011.
  • Dean's Fellowship, College of Engineering, North Carolina State University, 2010-2011.
  • University Graduate Fellowship, North Carolina State University, 2010-2011.
  • MTSU Computer Science Outstanding Student Award, 2006.
  • MTSU Square D Scholarship Recipient, 2006, 2007.
  • MTSU College of Basic and Applied Science Dean's Advisory Board, 2007, 2008, 2009.
  • Microsoft Student Partner of the Month, Jan 2010.
Fun Student Affairs Press At NC State