Alexander Astapchuk

 

Skype:  alex.astapchuk 

 

 

Senior Compiler Developer

 

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 Accomplishments & Awards

 

  • 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

 

Professional Experience

 

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

 

Publications & Presentations

 

“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

 

Education

 

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

 

 

~  Excellent References Available upon Request  ~