|
Tanya M. Lattner tonic@nondot.org (http://nondot.org/tonic) |
||||
|
OBJECTIVE |
||||
|
|
I'm looking for an exciting and challenging programming position that allows me to utilize and expand my current skill set. The majority of my experience is in compilers and networking, but I am open to a variety of positions that focus on applications, user interfaces, operating systems, and other system software or tools.
|
|||
|
OVERVIEW OF SKILLS |
||||
|
|
C++, Java, C, Python, Perl, optimizing compilers, code generation. LLVM, networking, databases, PHP, SQL, GUIs, XML, project management, design patterns, ....
|
|||
|
EDUCATION |
||||
|
|
B.S. Electrical Engineering |
University of Portland, Portland, OR |
5/2000 |
|
|
|
M.S. Computer Science |
University of Illinois, Champaign, IL |
6/2005 |
|
|
|
Thesis: ÒAn Implementation of Swing Modulo Scheduling with Extensions for SuperblocksÓ
|
|||
|
WORK EXPERIENCE |
||||
|
|
Hewlett-Packard, Cupertino, CA |
06/05 - Present |
||
|
|
Software Engineer á Focused on code generation and optimization in a Java compiler targeting the Itanium architecture. á Implemented an efficient and aggressive copy coalescing algorithm. á Modified and tuned heuristics for tail duplication. á Implemented an update SSA algorithm to efficiently update SSA form after CFG transformations such as tail duplication and loop unrolling. á Implemented a new superblock scheduling heuristic that considered branch probability. á Implemented an algorithm to preserve Java memory model by correctly inserting memory fences or using specific load or store instructions. á Expanded the existing testing infrastructure by writing scripts and dynamic web pages to track failures and build statistics such as build time, compile time, and JVM size. á Fixed bugs in numerous phases of the compiler, for example, block layout, predication framework, scheduler, register allocation, copy coalescing, and liveness analysis.
|
|||
|
|
National Center for Supercomputing Application, Champaign, IL |
09/00 - 03/05 |
||
|
|
Research Programmer á Chief Architect of the NLANR Network Performance Advisor project. The Advisor measures, displays, and analyzes network metrics. It builds on existing network diagnostic tools, processing their output in order to provide advice to end-users. The Advisor is made up of a number of components, such as the performance data collector, historical archiver, data analysis engine, and front ends. It is written in Java and uses XML-RPC (http://dast.nlanr.net/projects/advisor/). á Continuous collaboration with the Internet2 End-to-End Performance Initiative project called PIPES, allowing our network measurement infrastructures to communicate. á Participating with the Networking Measurement Working group of the Global Grid Forum (GGF) to develop a common network measurement request and response schema. á Created a Java GUI for Iperf, which measures bandwidth and tunes TCP configuration parameters for network performance. á Developed a FTP client in Java that uses x509 certificate security with the Globus Cog Kit. This allows researchers to securely transfer files to large mainframe computers on The Grid. á Developed an internal information framework for the Web100 project. This framework is a combination of a MySQL database, PHP web site, and a local private customized SourceForge install. á Maintained and created external web pages, provided user support, and reviewed/created documentation for the Web100 project (www.web100.org).
|
|||
|
|
IBM, Beaverton, OR |
5/00 – 9/00 |
||
|
|
Software Engineering Intern á Ported GDB POSIX thread support to work with DYNIX/ptx. á Created Linux Resource Center web site for internal use. á Worked with the team to enable Linux application support on DYNIX/ptx.
|
|||
|
|
Cypress Semiconductor, Beaverton, OR |
1/99 – 8/99 |
||
|
|
Technical Intern á Upgraded, maintained, and customized the bug tracking system. á Developed a Perl program to analyze Cypress Warp reports and VHDL source files. The results aided in categorization and automated testing. á I upgraded and ported a large MFC application to Unix, including customized Stingray products (Objective Toolkit and Objective Edit). |
|||
|
INTERESTS AND ACTIVITIES |
||||
|
|
Contributing to the LLVM (http://llvm.org) project: á Implemented Swing Modulo Scheduling. á Release manager. á In process of redesigning test results database, testing scripts, and php scripts that display the results. á Wrote initial llvm-ar implementation. á Converted the regression testsuite to use Dejagnu.
Nontechnical interests: á Cooking, pottery, travel, browsing bookstores, movies, and piano. |
|||
|
REFERENCES |
||||
|
|
Available upon request. |
|||