100 lines
6.3 KiB
PHP
Executable File
100 lines
6.3 KiB
PHP
Executable File
<?php
|
||
include_once("../common.php");
|
||
include("../header_top.php");
|
||
?>
|
||
<title>Aaron C. Lindsay, Software Engineer - Resume - aclindsay.com</title>
|
||
<?php include("../header_bottom.php"); ?>
|
||
|
||
<div id="content">
|
||
<div id="main">
|
||
|
||
<center><h2 style="border-bottom: none; margin: 1em 0 1.5em 0;"><span style="font-size: 1.2em; padding: 0 .5em 0 .5em;">Aaron C. Lindsay</span></h2></center>
|
||
|
||
<h3>Summary</h3>
|
||
<ul>
|
||
<li>I am a software engineer and processor architect with 12 years of professional experience distilling challenging problems down to their core and developing the best solutions within given constraints.</li>
|
||
<li>I methodically debug elusive problems, chasing them across language and project boundaries.</li>
|
||
<li>I am a skilled communicator, which I use to ensure my solutions address the needs of others.</li>
|
||
<li>I don’t like repeating myself - I am liable to automate anything worthwhile.</li>
|
||
</ul>
|
||
|
||
<h3>Related Experience</h3>
|
||
<ul>
|
||
<li>Ampere Principal Senior Architect - August 2018 to present
|
||
<ul>
|
||
<li>Modeled performance of next-generation CPU designs, allowing accurate performance projections</li>
|
||
<li>Uncovered/prevented performance and functional defects through performance validation of RTL/verilog design and (micro)architectural study</li>
|
||
<li>Proposed and studied feasibility and efficiency of potential CPU microarchitectural features</li>
|
||
<li>Designed and implemented methodology to collect workloads for processor performance model using QEMU, also contributing to upstream development of its plugin interface</li>
|
||
<li>Conceived of and implemented technology to collect identical sections of workload execution in different formats to allow performance validation across simulation platforms</li>
|
||
</ul>
|
||
</li>
|
||
<li>Qualcomm Senior Engineer - August 2012 to August 2018
|
||
<ul>
|
||
<li>Developed lightweight containers, Python workloads API, and ptrace-based tools to accelerate data-gathering and analysis for software and hardware optimization by enabling automated profiling across arbitrary workloads</li>
|
||
<li>Maintained in-house Linux distribution, authoring kernel patches and custom packaging to support modeling</li>
|
||
<li>Debugged Linux kernel and application functionality and performance at all levels – from high-level software using gdb to custom model instruction traces and processor pipeline interactions</li>
|
||
<li>Supported mapping performance data from software processor models to benchmark source code symbols by adding semihosting support for perf events in the Linux kernel</li>
|
||
<li>Influenced next-generation processor design via micro-benchmarks and innovative workload sampling methods, reducing the required performance model runtime over 1000x</li>
|
||
<li>Pioneered basic block vector-based validation for model workloads, ensuring trusted results for critical microarchitectural decisions – achieved correlation error of only 1% between software models and silicon</li>
|
||
<li>Adapted open-source software to speed up workload creation and contributed changes upstream, including emulated ARM PMUv3 (performance monitor) for QEMU</li>
|
||
</ul>
|
||
</li>
|
||
<li>Real-time Linux Systems Research at Virginia Tech - August 2010 to May 2012
|
||
<ul>
|
||
<li>Formulated and empirically evaluated cache-aware real-time scheduling algorithms and partitioning schemes</li>
|
||
<li>Researched and implemented techniques for quickly communicating kernel scheduling decisions to user space</li>
|
||
</ul>
|
||
</li>
|
||
<li>Qualcomm Software Development Engineer - Summer 2011
|
||
<ul>
|
||
<li>Developed and supported snapshot/restore mechanism for next-generation mobile processor simulator</li>
|
||
<li>Co-developed 'fast-forwarding' for the same processor performance model</li>
|
||
</ul>
|
||
</li>
|
||
<li>Virtual Environments Research in Computer Science - Spring 2010
|
||
<ul><li>Conducted user studies testing the effects of interaction fidelity on procedure memorization</li>
|
||
<li>Developed test environment using Blender, Python, and interfaced with VR hardware using C++</li></ul>
|
||
</li>
|
||
<li>IBM Emerging Technologies (jStart Team) - January 2009 to February 2010
|
||
<ul><li>Architected, programmed, tested, and presented new distributed mashup technology utilizing XMPP, custom Java server, MySQL, HTML5, JavaScript, and CSS</li>
|
||
<li>Granted <a href="https://patents.google.com/patent/US20110161833A1/en">patent US20110161833</a> for "Distributed Multi-User Mashups"</li></ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<h3>Technical Hobbies</h3>
|
||
<ul>
|
||
<li>Develop open-source software – recently personal finance/accounting software in python, Go, and ReactJS</li>
|
||
<li>Administer web services for family/friends using Ansible, including email, wiki, personal cloud, and git</li>
|
||
</ul>
|
||
|
||
<h3>Expertise</h3>
|
||
<h4 style="margin: 0em;">Languages:</h4>
|
||
<p style="margin: .5em 0 .5em 2em;">Assembly (ARM), (Ba)sh, C, C++, Go, HTML/CSS, JavaScript, make, Python, (reading) verilog</p>
|
||
<h4 style="margin: 0em;">Skills:</h4>
|
||
<p style="margin: .5em 0 .5em 2em;">Design/develop/debug applications, libraries, and operating system kernels (Linux), optimize for performance (from processor microarchitecture to assembly to web applications), construct software CPU models, debug complex multi-system problems, Linux/Unix administration, automation, data analysis</p>
|
||
|
||
<h3>Education</h3>
|
||
Virginia Polytechnic Institute and State University (Virginia Tech), Blacksburg, VA
|
||
<ul>
|
||
<li>M.S. Computer Science and Applications (3.95/4.0 GPA) - June 2012
|
||
<ul><li>Thesis: <a href="https://vtechworks.lib.vt.edu/handle/10919/33541"><i>LWFG: A Cache-Aware Multi-core Real-Time Scheduling Algorithm</i></a></li></ul>
|
||
</li>
|
||
<li>B.S. Computer Science / Math Minor (Summa Cum Laude - 3.90/4.0 GPA) - December 2010</li>
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
<div id="sidebar">
|
||
<h4>Other Formats</h4>
|
||
<ul>
|
||
<li><a href="<?php echo get_base_url(); ?>/resume/AaronLindsay-Resume.pdf">Resume (pdf)</a></li>
|
||
<li><a href="<?php echo get_base_url(); ?>/resume/AaronLindsay-Resume.tex">Resume (LaTeX)</a> and <a href="<?php echo get_base_url(); ?>/resume/AaronLindsay-Resume.cls">.cls file</a></li>
|
||
<li><a href="<?php echo get_base_url(); ?>/resume/AaronLindsay-Resume.txt">Resume (plain text)</a></li>
|
||
<li style="margin-top: 1em;">Note: All contact information has been removed from the above - please <a href="<?php echo get_base_url(); ?>/contact">contact me via email</a>.</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<?php include("../footer.php"); ?>
|