Alexander
Astapchuk
Skype: alex.astapchuk
Compiler
Development ~ Software Development ~ Systems-Level Development
Results-driven compiler
developer with MS in electrical & computer engineering and 10+ years of
rapid advance in software development (6 in compiler development).
Track record of delivering high-quality releases on time and on budget.
Independent, creative, innovative thinker with excellent communication skills
and experience in all phases of product cycle. Excellent C / C++
programming skills allied with experience in performance analysis and tuning
of Java and C++. Fluent English / Native Russian.
Strengths:
Dynamic compilation
|
Multi-platform /
concurrent / parallel programming
|
Virtual machines
|
Working knowledge of
Intel Larrabee
|
Debugging & testing
|
High-level, low-level,
dynamic optimizations
|
Platform-specific
optimizations
|
Design & development
|
Programming:
C/C++, Java
Platforms:
Windows, Linux, x86, x86-64, Itanium (IA-64)
- Selected for numerous
high-profile industry-wide projects
- Played key role in
compiler development and software development of Intel Ct, Sun JDK for
Itanium, and Apache Harmony
- Designed numerous
dynamic optimizations that increased processing speed by up to 200%
- Intel Outstanding
Results & Quality Award – Division-level award for outstanding results and
quality in enabling Sun Hotspot on Itanium, 2007
- Intel Outstanding
Results & Quality Award – Project-level award for achievements in
implementation of x86_64 support in Apache Harmony, 2006
- Intel Outstanding
Performance Award –
Project-level award for outstanding performance during implementation of
ultra-fast JIT for Apache Harmony project, 2005
MICROSOFT
10/2010 – Present
Senior Software Engineer
Bing
INTEL
08/2004 – 10/2010
Senior Software Engineer
- Recruited from Sun
Microsystems to play senior-level role in design and implementation of
compilers and compiler toolchain components on diverse products and
platforms
- Develop elements for
adoption in design of future architectures and provide input on future
direction of development
- Projects include:
Intel Ct (C for throughput
computing), 2009
Environment:
C++, Windows, Linux, x86, x86-64, Intel Larrabee
- Back-end development
for Ct dynamic compiler for Intel architectures
- Performance analysis
and tuning
- In-depth performance
analysis of Ct applications
Achievements:
- Implemented numerous
global data flow analyses and optimizations
- Achieved up to 50%
speedup on Ct workloads by implementing graph coloring register
allocator
Sun JDK for Itanium,
2007 – Present
Environment:
C++, Java, assembly for Itanium, Windows, Linux, Itanium
- Java Virtual Machine
development and tuning
- Back-end
implementation and porting to Itanium platform
- Profile collection and
profile, JIT and runtime tuning
Achievements:
- Performance analysis
and tuning of applications and JVM
- Ported interpreter and
assembly parts to Itanium
- Achieved 50% speedups
on SpecJBB2005 benchmark
- Developed debugging
and troubleshooting tools
- Trained support and
development teams on effective debugging techniques
- Emerged as last line
of defense for most obscure and critical problems for project
- Received
division-level award for quality and outstanding results
- Co-authored “Novel use
of Itanium features in Managed Runtime Environments”
RTMon –Platform-independent library for collecting
hardware-based profiling data, 2007 – Present
Environment:
C++, Windows, x86, x86-64, Itanium, Windows, Linux, WinDDK
Achievements:
- Architected and
implemented kernel-mode driver for Windows
- Implemented user-mode
API
- Supported diverse
architectures: Intel Core2, Nehalem, x86, x86-64, IA-64 (Itanium,
Itanium2)
- Implemented
hardware-based profile collection for Sun JDK on Itanium
- Co-authored “A
Practical Approach to Hardware Performance Monitoring based Dynamic
Optimizations in a Production JVM”
Advanced JIT
development for Apache Harmony VM,
2006 – 2007
Environment:
C++, Java, assembly, Windows, Linux, x86, x64, Itanium
Achievements:
- Led team of 4 through
design, planning and implementation phases
- Oversaw technical
support for internal Harmony VM users
- Conducted R&D and
implementation of advanced platform-dependent optimizations
- Implemented
integration of Harmony baseline JIT with experimental Java-in-Java
VM Moxie
- Delivered 10% speedup
on SpecJBB2005 benchmark by personally implementing numerous
platform-specific optimizations (fast TLS access, fast calling
convention, etc.)
Apache Harmony (open source
implementation of J2SE), 2004 – 2006
Environment:
C++, Java, assembly, Windows, Linux, x86, x64, Itanium
Achievements:
- Led team of 3
engineers in design, planning and implementation of x64 support in
Harmony VM and JITs (honored with project-level award for results and
quality)
- Designed and
implemented key part of Apache Harmony JITs and JVMTI functionality –
fast encoding / decoding library for x86 and x64
- Increased applications
startup speed 200% by architecting and implementing baseline JIT for
Apache Harmony’s VM (honored with project-level award for outstanding
performance)
- Implemented core
security classes for java.security and javax.security.auth packages.
The classes are currently in use in both Apache Harmony and Google
Android projects
SUN MICROSYSTEMS / UNIPRO
01/2001 – 08/2004
Software Engineer
Environment:
Solaris (sparc and x86), Linux, Windows, MySQL, C++, Java
- Conducted J2SE
conformance and regression testing, and preliminary failure analysis
- Provided technical
support and maintenance of automatic testing framework
- Identified several
serious flaws in Java Web Start via security analysis
ELDIS-SOFT
06/1997 – 01/2001
Software Engineer
Environment:
C++, MFC, Windows, Pervasive Btrieve, MS SQL
- Designed and
implemented user interface library for Windows – provided common
look-and-feel for all company products
- Drastically decreased
amount of work to develop UI and reduced time to market for several
products by writing standardized and reusable code
- Designed and
implemented specialized document-processing software for securities
depositories
- Led development of
specialized back office accounting software for investment and
securities trading companies – headed requirements gathering and design
/ implementation of database structure and UI
- Authored user guides
and delivered user training, deployment, and field support
“Novel use of Itanium features in Managed Runtime
Environments,” 7th Workshop on Explicitly Parallel Instruction
Computing Architectures and Compiler Technology (EPIC-7). Abstract.
2008
“A Practical Approach to Hardware Performance Monitoring
based Dynamic Optimizations in a Production JVM,” International Symposium on
Code Generation and Optimization (CGO’09).
Abstract.
2009
NOVOSIBIRSK TECHNICAL STATE UNIVERSITY
MS – Electrical & Computer Engineering
· Shkola-Sibir: Implemented and
supported inventory management system.
· Center for Pharmaceutical Information:
Implemented software system for distributed inventory reporting system with
automatic database updates.
NOSIBIRSK TECHNICAL STATE UNIVERSITY
BS –
Electrical & Computer Engineering
|