Kenneth Chad Reese
321 - 438 - 7753
chad@kcrproducts.com

Occupation: Software Engineer Address: 335 Elan Village Ln, Unit 412
Desired Position: Senior Technical Engineer San Jose, CA 95134
 

Qualifications:

  • MSCS - Masters in Computer Science - University of Central Florida. (1999)
  • BSCE - Bachelor of Computer Engineering - Georgia Institute of Technology (1994)

Summary:

I am interested in a senior software position requiring a broad range of skills. I develop applications at many levels, from high level data mining, to the lowest level assembly code in embedded processors. My strength is in solving technical hurdles. I've found that a broad range of technical skills can solve problems using methods from many different areas. It doesn't matter whether the problem is well defined, or simply a vague outline of what is needed. I quickly build prototypes, then refine them into a finished product.

Experience:

Cavium: May 2004 - Present

  • ARMv8 Architecture Simulator

    Part of a small team developing a ARMv8 64bit architecture simulator. Simulator is used by customers to develop for the Cavium Thunder platform. The simulator is also the reference for the hardware team developing the RTL.

    I'm solely responsible for the ARMv8 core. The core simulation was developed from scratch and passes >95% of ARM Validation Suite(AVS) for v8.

    • All ARMv8 and v8.1 64bit instructions
    • Secure mode (EL3) and full virtualization (EL2) supported
    • External debug, slef hosting debug, and performance counters
    • Two stage page table walker with memory attributes
    • ARM Trickbox implementation
    • Infrastructure to run entire AVS in 5 min
    • SMP Linux with either Fedora or Ubuntu rootfs boots with no issues
  • Initial Board Boot and Diagnostic Software

    Solely responsible for developing and delivering a package to help customers boot their boards. The diagnostics supported DRAM testing, QLM testing(PRBS), TWSI, MDIO, SPI, GPIO diagnostics, and a builtin traffic generator supporting SGMII, XAUI, RXAUI, XFI, XLAUI. Interlakken, and SRIO.

  • Debug and Create Workarounds for obscure hardware errata

    I'm part of a small team that performs initial poweron and software boot for all OCTEON processors. As part of this, I'm normally the first person to hit hardware errata. I supply workarounds for other software developers to build on.

  • Initial port of Linux to Octeon line of Processors

    I was the first Linux kernel developer for the OCTEON series of processors. I ported the kernel and root filesystem to the first OCTEON (16 way SMP, weakly ordered).

  • Device drivers for custom hardware (PCIe, Network, SRIO, PTP-1588)

    My work at Cavium involved the initial creation of many device drivers. Some of the highlights:

    • Multicore ethernet driver
    • PTP - 1588v8 driver and userspace daemon
    • SRIO ethernet driver and enumeration code
    • Interrupt controller
    • PCI and PCIe host controllers
    • USB host and device mode

Broadstone Networks: April 2003 - May 2004

  • Quality of Service (QoS) Network Scheduler

    I designed and developed a QoS scheduler capable of scaling from 1Mbit to 100Mbits, the core of ipConductor. This system performed dynamic resource allocation to increase the total throughput of wireless systems. Some of the essential features are TCP bandwidth shaping, VoIP jitter management, automatic flow isolation, and guaranteed levels of service.

  • Embedded Linux

    I created a custom Linux distribution for use on embedded computer systems with limited storage. The ipConductor appliance used less than 1.2MB of flash for the operating system and user utilities. This system supported x86, ARM-9, MIPS, and PowerPC processors.

  • Compact, Small Footprint Web Interface

    In order to support simple user configuration, I created a small embedded web server capable of delivering dynamic pages. A normal web server using CGI or PHP would require far more space than was available. My final solution required less than 200KB to support all needed user interaction. Key features: HTTP/1.1 pipelining, HTTP authentication, automatic URL encoding.

  • Microsoft Windows Device Drivers

    I ported the above QoS scheduler into a Windows NDIS device driver. The resulting driver intercepted all network communications in order to provide QoS services on top of any existing Windows 2000/XP/2003 network.

Malibu Networks: February 2001 - April 2003

  • Proxy ARP and DHCP

    Malibu's 802.16 wireless product needed the ability to limit and properly route IP and broadcast packets through complex wireless networks. To support this, I implemented an RFC compliant proxy ARP system to eliminate most broadcasts. On top of this I created a smart DHCP server capable of configuring clients based on network topology in addition to the usual hardware MAC addresses.

  • ADM Management Protocol

    Malibu's system used a proprietary configuration protocol (ADM). I morphed this protocol into a self documenting system with network and processor independence. All low level transport issues (endianness, addressing, and retries) were hidden from the users of the protocol. The self documenting aspect then lead toward an automated testing suite for regression / unit tests.

  • Distributed QoS Scheduler

    I theorized, designed, and implemented a network packet scheduler supporting quality of service guarantees for 2000 simultaneous flows over 802.11b. Key features: Auto connection isolation, RTP classification, simple web based management, detailed statistics, delay and jitter management, contentionless MAC access, and fairness under highly over-provisioned loads.

Presideo: February 1999 - February 2001

  • XML API

    I designed and developed an XML based messaging system presenting a simple unified API to customers through HTTP. This allowed remote customers to perform secure transactions over the net without the need for large amounts of custom software.

  • Signed Java Applets & Native Code

    Extensive Java programming implementing signed applets with native interfaces. This allowed web pages to perform biometric authentication (fingerprints) before allowing access to confidential medical records. The applets also controlled the Microsoft Windows desktop in order to limit transferring, printing, or other access to sensitive data.

  • HTTP 1.1 Web Server

    I implemented a HTTP 1.1 compliant web server in java with persistent connections and thread pooling. This server then acted as a proxy for multiple servers running Java servlets, allowing for load balancing and authenticated communications.

  • Distributed Fingerprint Analysis

    I developed a distributed fingerprint analysis system to break up CPU bound operations across a network of PCs and Sun Sparc stations using CORBA. This allowed detail testing of fingerprint matching algorithms without the use of large, expensive computers.

  • SQL Database & LDAP

    I implemented a generic data storage using XML as a language independent interface. Both SQL databases and LDAP directory servers can be used for storage without affecting the client application interface.

Lockheed Martin: November 1994 - February 1999

  • Proposal Concepts

    Generated initial technical concepts for proposals to support declassification of hardware after Navy ATLAS test programs are executed (Classified CASS). I also designed and implemented an ATLAS interface for the Automated Gimbal Control System(AGCS) for use in an electro-optic test system (CASS-EO).

  • Touch Screen Interface

    I developed touch screen based interfaces for existing software. Existing X windows applications were supported through a Motif based on screen keyboard.

  • Low level Ethernet and TCP/IP sockets

    I debugged a proprietary protocol that ran over low level ethernet (CASS-BICC). I then ported this protocol into a higher level TCP/IP based system using the standard BSD sockets library. This allowed communications between VAX/VMS and Windows NT for instrument control.

  • VXI instrument control and GPIB (488) communications

    I implemented a DCOM based remote method interface to standard VXI and GPIB instrumentation.

KCR Products: January 1988 - Present

  • Various Programming Languages

    Through various contracts with KCR Products, I've programmed in many computer languages. Some examples: C, C++, Lisp, Pascal, Fortran, Java, Visual Basic, and Lua.

  • Commercial Engineering Applications

    I've worked on many engineering and technical software packages available commercially. These packages perform detailed analysis requiring advanced mathematical skills.

  • Theoretical Flight Calculations

    Sub-Contracted for KCR Products doing theoretical flight calculations on a Flight pod for American Electronics Laboratories (AEL).

  • Microsoft Windows Programming

    I developed commercial applications available under Microsoft Windows, 95, 98, NT, 2000, XP, and Windows 7. Experience with Visual Studio, Cygwin, and the Android SDK.

References:

Cavium

  • Imran Badr - Director of Software Engineering
  • David Carlson - Senior Hardware Architect
  • Trent Parker - Principle Software Architect
  • Roy Franz - Senior Software Engineer

Broadstone Networks

  • Jacob Jorgensen - CEO
  • Ross Roberts - VP Marketing
  • Rahner James - CTO
  • Roy Franz - Senior Software Engineer

Malibu Networks

  • Jacob Jorgensen - CTO
  • Seth Zirin - VP Development
  • Manfred Arndt - Head of Software Development

Presideo

  • Tom Hoffman - VP Development
  • David Flickinger - VP Research and Development
  • Alfonso Urdaneta - Software Engineer

Lockheed Martin

  • Wayne Davis - Program Technical Lead
  • Randy Core - Program Manager
  • Mike Zwicker - Software Lead
  • Joe Headrick - Software Developer

Key Computer Research

  • Kenneth Reese - Founder

Due to the presence of unsolicited email and telemarketing, the actual contact information has been removed. Information will be supplied upon request.