Resume

 

Research Interests

  1. My research pertains to the field of real-time operating systems (RTOSs), with an emphasis on developing practical solutions based upon sound real-time theory. ROTSs offer greater predictability and stringent timing constraint guarantees than general-purpose operating systems. My specific aims are towards the incorporation of GPUs in RTOSs to enable real-time GPGPU applications such as automated vehicles, computer vision (including augmented reality), broadcasting, and financial trading, to name a few. Prior to real-time operating systems, my interests were in computer graphics—a field that I draw upon for much of my real-time work.

Glenn Elliott

gelliott [at] cs [dot] unc [dot] edu

Education

  1. 2004 – 2006

Master’s of Science in Computer Science

University of Southern California, Los Angeles, CA

Studies in high performance parallel computing and 3D rendering/modeling and animation.

Bachelor’s of Science in Computer Science and Engineering, cum laude

Minor awarded in Multimedia and Creative Technologies

University of Southern California, Los Angeles, CA

  1. 2000 – 2003

Technical Experience

  1. 2003 – 2008

Software Architect, Northrop Grumman Mission Systems

Software architect for the JCR Vehicle/FBCB2 system, a tactical networked mobile platform used for geo-location, messaging, and other situational awareness operations in the battlefield environment. Program-level advisory and supervisory role in design of new software components to insure compliance with guiding software architecture specifications. Northrop Grumman representative to software architecture conferences. Job titles previous architecture position (reverse chronological): Senior Software Engineer; Systems Engineer; Software Engineer; Tester.


Notable Accomplishments

  1. -Architecture Improvements. Re-architecture and implementation of critical message processing stacks to achieve higher orders (2x to 10x) of performance.

  2. -Network Designer. Design and implementation of protocols for unreliable mobile mesh networks. Worked closely with coworkers to design a new network protocol for the coordination of mobile vehicles on a tactical internet. Implemented client-side software.

  3. -Security Specialist. Monitored development of the system to insure compliance with NSA security requirements. Work included research in design and evaluation of system architecture changes to support mandatory access control (MAC) environments and multilevel secure (MLS) systems.

  4. -Trainer. Developed and gave classes to over sixty developers at a time on the topics of object oriented design, share library organization, Doxygen code documentation, and software development tools.

  5. -GUI Developer. Worked with soldiers to design and implement an efficient user interface to support quick creation and sending of messages used in battlefield coordination.

Technical Skills

  1. Programming Languages

Fluent in C/C++ (including popular libraries) and object oriented design patterns. Experience with SQL. Experience with Java.

Real-Time Systems; Cyber-Physical Systems; Operating System Design; Parallel Programming; Crowd Simulation; Physically-based Animation; Computer Graphics; Networked Games

  1. Special Areas of Study

Experienced in multithreaded/distributed computing: CUDA, pthreads, OpenMP, and MPI.

  1. Parallel Programming

  1. Game Related

OpenGL, DirectX, Ogre3D; Torque Game Engine; Networking; Artificial Intelligence.

UNIX/Linux (gcc/gdb, make, shell, git, ClearCase, Perforce), Windows (Visual Studio C++), Mac OS X (XCode).

  1. Development Platforms

wxWidgets (extensive), MOTIF/XRT, and MFC GUI classes.

  1. GUI Toolkits

Digital Signal Processing; Microprocessor Design.

  1. Electrical Engineering

  1. Multimedia and

  2. Computer Vision

OpenCV; OpenMAX; compression theory.

  1. 2008 – 2015

Doctorate in Computer Science

University of North Carolina at Chapel Hill, Chapel Hill, NC

Research in real-time systems on heterogeneous platforms. Operating system kernel development.

Dissertation Title: “Real-Time Scheduling of GPUs, with Applications in Advance Automotive Systems”

Honors

  1. 2009 – 2015

Research Assistant, UNC Real-Time Systems Group

Researcher in real-time systems, those where guarantees on time constraints, such as meeting a deadline, must be made for computational tasks. Active research in heterogeneous platforms, such as those offered by traditional computing platforms augmented with GPU co-processors. Work focuses on both the development of theory and practical implementation for heterogeneous real-time systems. Most implementation is done within the context of the Linux kernel; developer for LITMUSRT, UNC’s Linux-based real-time operating system.

  1. OS Development

Experience with Linux kernel development on the x86, PPC, and ARM platforms. Specific interest in schedulers, locking protocols, and device drivers.

  1. 2009

  1. 2008

Employee of the Quarter Nominee, Northrop Grumman Mission Systems: Tactical Systems Division

SIGGRAPH Student Volunteer, New Orleans

Memberships

  1. 2009 – present

  1. 2008 – 2010

Member of ACM SIGGRAPH and Los Angeles Chapter

Institute of Electrical and Electronics Engineers (IEEE)

  1. Summer 2011

Intern, NVIDIA

Intern with NVIDIA’s CUDA driver team. Research and proof-of-concept implementations of potential features of future CUDA products. Implementation was in C++, assembly, and machine code.

  1. Summer 2012

Intern, NVIDIA

Intern with NVIDIA’s mobile vision team. I investigated ways for improving responsiveness of computer vision applications through the use of scheduling techniques. Research included C/C++/Java implementation in the Android environment. Also worked with OpenCV, OpenMAX, and CUDA frameworks.

  1. 2013

NVIDIA Graduate Fellowship Finalist

  1. Summer 2013

Research Intern, NVIDIA

Intern with NVIDIA Research. Investigated runtime library features for future GPGPU programming models. Developed methods for unifying CPUs and multiple GPUs, blurring the distinction between CPU and GPU code. Implementation in C++, CUDA, PTX assembly and x86 assembly.

  1. Summer 2014

Research Intern, NVIDIA

Intern with NVIDIA’s mobile vision team. Applied techniques developed in my PhD research to improve the real-time properties of NVIDIA’s “VisionWorks” computer vision toolkit.

  1. 2015 – present

Senior Firmware Engineer, Tesla Motors

Systems software developer for Tesla Motor’s Autopilot.