1. Christopher F Clark (Chris) christoper.f.clark@compiler-resources.com
(508) 435-5016 cfc@world.std.com
@intel_chris
The Yacc++ author and itinerant compiler specialist. Successful projects from architecture and design through code and benchmarking:
including evangelizing the work to key clients, bringing in evalution opportunities that have led to design wins. In the process, mentored
many engineers who've become successful in their own right. Most recently architected "Cave Creek" regular expression hardware
accelerator at Intel and currently co-developing the software solution that replaces it and successfully accelerates Snort to 3x its normal
speed. Some other highlights: the "vmod" Verilog compiler for Intel, the Alpha optimizer for the Unix Group at DEC, the architecture of an
optimizing ANSI C compiler for Honeywell, and the "Common Backend" for the compilers at Prime. Former Editor of Parsing Patterns
column in SIGPLAN Notices, who often posted on comp.compilers (as cfc@world.std.com) and tweeted about security as @intel_chris.
EXPERIENCE
12/99 – Present Hardware, Software, & Security Architect
Intel Corporation, Hudson, MA & Chandler, AZ
Dataplane Development Kit (DPDK) Software Architect (Pattern Matching) – Developing vectorized
regular expression software to displace hardware accelerators using standard IA chips (2-10x speedup,
3x speedup on Snort), US team leader
NGFW PoC for DPDK – Developed proof-of-concept implementation of next-generation firewall and
SSL optimizations using an international team (US, China, Ireland)
Security Architect (SDL) – Guided Blaze Creek chip through architectural phase and into design
Content Processing Hardware Architect (Pattern Matching) – Architected hardware accelerators for
Pattern Matching (PCRE regular expressions and LR parsing) Cave Creek and Blaze Creek chips
Vmod – Designed and implemented Verilog parser, intermediate language, and related functionality.
Designed and implemented SSA based error detection phase.
Twitter Ambassador (Social Media Practitioner) – Focused on security issues, highest retweet rank,
2nd order follower count, Klout score
Director Embedded and Communications University Research Program – Hosted Annual
Conference, chaired committee that selected projects for grants, technical contact for universities
1/87 – Present Consultant on Yacc++ and the Language Objects Library Projects
Siemens Industrial Automation, Nürnberg Germany -- Ported C++ code to C#. Ported GUI assembler
system to Windows DLLs. Performance Tuning.
State Street Bank, Boston, MA -- Designed memento pattern implementation providing persistence to state
machine objects.
N2K, New York, NY -- Optimized parsing of dynamic HTML macro language.
Raytheon, Pittsburgh, PA -- Designed C Preprocessor.
General Dynamics, Ft Worth, TX -- Designed SGML text parser.
Compiler Resources, Hopkinton, MA -- Co-designed and implemented Yacc++, an object-oriented C++
and C# rewrite of lex and yacc including a sophisticated engine which integrates regular expressions and
LR(1) parsing.
11/98 – 11/99 Senior Member of the Consulting Staff
Cadence Design Systems, Chelmsford, MA
Merged VHDL and Verilog Code Generators for Sparc, HP, and X86 platforms.
2. Christopher F Clark (Chris) christoper.f.clark@compiler-resources.com
1/91 - 10/98 Consultant to Unix Languages Group (4 consecutive contracts)
Digital Equipment Corporation (HP), Nashua, NH
Third Degree -- Rewrote instrumentation portion to use dataflow analysis rather than ad hoc methods.
Alpha Optimizer -- Enhanced interprocedural register allocation and strength reduction optimizations.
Implemented new optimization phase for recognizing Alpha-specific idioms such as conditional stores.
Linker -- Enhanced linker to remove limits imposed by previous 16 and 32 bit architectures.
Tool Port -- Integrated Ultrix and OSF tool suites including awk, lex, lint, make, m4, rcs, sccs, & yacc.
8/89 - 12/90 Consultant Porting Database Management System
Henco Software, Waltham, MA
Ported Synchrony, a 600K line 4GL relational database management system. Synchrony was written in
C and macro assembler and ported from VAX/VMS to SunOS and Primos.
3/89 - 7/89 Software Engineer Improving Compiler Performance
Language Processors (Liant), Framingham, MA
Redesigned and implemented memory management to minimize performance bottleneck. Reviewed
design of global optimizer and register allocator.
1/87 - 2/89 Consultant Building Optimizing C Compiler
Honeywell Bull, Billerica, MA
Technical architect for design and implementation of an ANSI C compiler. Designed intermediate
language. Designed and guided implementation of global optimizer. Designed and implemented
register allocator. Guided design of symbol table and code generator.
10/86 - 12/86 Consultant Aiding SNA Project
Prime Computer, Framingham, MA
Developed compatible interfaces in C, Modula-2, and Pascal for SNA communications package.
3/86 - 9/86 Consultant Porting VLSI Design Tools
Massachusetts Micro-Electronic Center, Westboro, MA
Ported Magic and RNL VLSI design tools. Magic incorporates a graphical user interface and internal
database management. RNL includes an internal LISP interpreter. Both tools were written in C and
ported from Ultrix to Primix (Prime Unix).
1/81 - 2/86 Principal Software Engineer for 7-language 3-target
Code Generators and Optimizers
Prime Computer, Framingham, MA
Project Leader for a team of 4 building global and peephole optimizers that improved average
application performance by 15% and in specific cases cut execution time in half. Project Leader for a
team of 5 building common code generators that brought diverging code generators together into an
integrated unit. Member of design team for a RISC machine architecture. Project Leader for a team of
4 building a Z8000 code generator. Designed and implemented an Emacs-like command editor.
9/79 - 12/80 Software Engineer for J73/C (Jovial) Compiler
SofTech, Waltham, MA
Designed and implemented Interdata code generator. Designed and implemented Multics run-time.
3. Christopher F Clark (Chris) christoper.f.clark@compiler-resources.com
RELEVANT PUBLICATIONS, PATENTS, and PRESENTATIONS
Security Blog, 2010-2011
Practical Parsing Patterns, Column Editor, SIGPLAN Notices, 1998-2000
Object Oriented Compilation Techniques, Workshop Sponsor, OOPSLA '94
Yacc++ and the Language Objects Library, Demonstration, OOPSLA '91
The JADE Interpreter: A RISC Interpreter for Syntax Directed Editing
SIGPLAN Symposium on Interpreters and Interpretive Techniques
SIGPLAN Notices Vol 22 No 7, July 87
Optimization, Taking Advantage of It, NPUG 85 Vol II
Patent for “Cave Creek regular expression acceleration architecture”
Patent for “Toxic Pattern acceleration”
Patent for “Pattern Distance acceleration”
Patent for “Single and Repeated Byte acceleration”
EDUCATION University of Colorado at Denver
B.A. in Math and Computer Science, 1979
Phi Beta Kappa
QUOTES
"I had the good fortune to work with Chris both before I came to Intel (back in the Sensory Networks era) and after Sensory Networks was
acquired. He is a first-rate engineer with a flair for analysis and design and a deep knowledge of regular expression implementation. He's
also a confident performer when liaising with customers and standards bodies. When I worked with him at Intel, he helped push our
automata implementation to considerably improved performance and worked on projects with a substantial impact on a design win at a Tier
1 customer." — Geoff Langdale, worked with and managed Chris
"Having worked with Chris for many years I'm comfortable in saying that Chris is highly capable Engineer especially in the field of
compilers and regular expression engine technology (Hardware and Software). Chris is an excellent communicator, always approachable,
sincere and true professional. " — Michael A O'Hanlon, managed Chris
"Chris possesses very strong compiler skills. I collaborated with him on a project targeting the design of a hardware accelerator for regular
expression matching. Chris's design is innovative in at least two ways. First, he envisioned encoding state transitions and the logic
associated to them through custom instructions, thus reducing finite state automata processing to the execution of a program that can then
be optimized using standard and novel compiler techniques. This approach to automata processing is both novel and effective.Second, he
designed a hybrid finite state automata abstraction characterized by separate processing for states with high and low outdegree (typically
located close to the entry state and deeper in the automaton, respectively). This design allows customized compiler optimizations for states
with different characteristics. Overall, Chris's work shows great creativity and ability to apply compiler concepts to both software and
hardware design. From a personal standpoint, Chris is an enthusiastic and very cooperative person, very open to feedback and ideas from
his colleagues. This makes working with him both pleasant and straightforward." — Michela Becchi, worked with Chris
"Chris possesses very strong C++ knowledge and software OO skills. He has expert knowledge in the area of compiler design and has
designed and sold Yacc++ world wide. His product was used as part of an enterprise CAD application led by myself; it worked flawlessly
from start to finish." — Bill Wheeler, Principle Engineer, Intel Corporation, managed Chris