Resume
Resume
Research Interests
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
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
2000 – 2003
Technical Experience
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
-Architecture Improvements. Re-architecture and implementation of critical message processing stacks to achieve higher orders (2x to 10x) of performance.
-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.
-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.
-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.
-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
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
Special Areas of Study
Experienced in multithreaded/distributed computing: CUDA, pthreads, OpenMP, and MPI.
Parallel Programming
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).
Development Platforms
wxWidgets (extensive), MOTIF/XRT, and MFC GUI classes.
GUI Toolkits
Digital Signal Processing; Microprocessor Design.
Electrical Engineering
Multimedia and
Computer Vision
OpenCV; OpenMAX; compression theory.
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
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.
OS Development
Experience with Linux kernel development on the x86, PPC, and ARM platforms. Specific interest in schedulers, locking protocols, and device drivers.
2009
2008
Employee of the Quarter Nominee, Northrop Grumman Mission Systems: Tactical Systems Division
SIGGRAPH Student Volunteer, New Orleans
Memberships
2009 – present
2008 – 2010
Member of ACM SIGGRAPH and Los Angeles Chapter
Institute of Electrical and Electronics Engineers (IEEE)
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.
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.
2013
NVIDIA Graduate Fellowship Finalist
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.
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.
2015 – present
Senior Firmware Engineer, Tesla Motors
Systems software developer for Tesla Motor’s Autopilot.