Home

1506 Lincolnshire Dr., Apt 4

Champaign IL 61821

Home/Mobile: (217) 840-9355

 

ERIK NYSTROM

FALL 2004

enystrom@uiuc.edu

 

 

 

Office

University of Illinois

223 CSL MC-228

Urbana IL 61820

Voice: (217) 333-4171

Fax: (217) 333-5579

 

OBJECTIVE

 

To seek a tenure track faculty position or a position in an industrial research lab.

 

RESEARCH INTERESTS

 

The diverse nature of compilation objectives frequently pits the containment of compilation time against the need for additional analysis precision. However, there is a very complex relationship between the two of which neither the programmer nor the compiler are typically aware. The core of my interest is developing algorithms that attempt to provide a maximal amount of precision for a given budget of time. This has a two-fold importance.  First, the structure of a program influences analysis algorithms where, for two identically sized programs, one may be extremely expensive to analyze and produces little useful results while the other finishes quickly and yields very precise results. Second, the use of more precise and expensive algorithms can actually yield better results in less time. Analysis algorithms must be constructed to start strong and intelligently degenerate on the fly. Finally, analysis (in reality) is not done in a vacuum. The results of previous analysis runs should be used to control the targeting of future runs while simultaneously adjusting to the fact that some of the code base may have changed. This is critical for large software systems. These goals require flexible and robust analysis techniques to allow algorithmic adaptability as well as prevent information loss through the use of rich representations.

 

EDUCATION HISTORY

 

Nov. 2004

Ph.D. Elec. & Comp Engr.

University of Illinois

Urbana-Champaign, IL

GPA 4.00

May 2002

M.S. Elec. & Comp Engr.

University of Illinois

Urbana-Champaign, IL

GPA 4.00

May 1998

B.S.  Elec. & Comp Engr.

North Carolina State University

Raleigh, NC

GPA 3.94

 

WORK HISTORY

 

Microprocessor Research Labs

Intel Corp

5/2000 - 8/2000

IA32 Performance analysis

Intel Corp

6/1999 - 8/1999

IA32 Performance analysis

Intel Corp

6/1998 - 8/1998

Embedded Architecture Modeling and Analysis

IBM

2/1998 - 5/1998

Co-instructor for Engineering Design Course

North Carolina State University

9/1995 - 12/1997

ASIC Design, Behavioral Modeling, Debugging

Nortel

9/1994 - 5/1996

 

RESEARCH HISTORY

 

Research Assistant

Wen-mei Hwu

University of Illinois

9/1998 - Present

Research Assistant

Alexandre Eichenberger

North Carolina State University

5/1997 - 8/1997

Independent Study

Tom Conte

North Carolina State University

1/1997 - 5/1997

 

RESEARCH ACTIVITY

 

2002 – 2004 Pointer analysis (TR03, TR04, PASTE, SAS, Dissertation)

The increasing complexity of applications, in combination with greater demand for performance in the face of power inefficient, long latency memory accesses, has increased the importance of a compiler’s clarity of view with respect to an application’s actual memory activity.  However, the quality of the information obtained is often poor because the cost of performing very accurate pointer analysis can be substantial. This work takes the approach that pointer analysis algorithms can attain high accuracy across the bulk of a program while maintaining reasonable, if not fast, run times because:  1) Improving accuracy can benefit efficiency 2) Fine-grained, localized control over accuracy enables the analysis process to avoid many costly situations.  While still in progress, this work has yielded an efficient, flexible, and accurate context-sensitive, field sensitive, and heap sensitive algorithm based on Andersen’s formulation of points-to relationships.

The following summarize three interesting results from this research. 1) The framework can complete both call graph discovery and full program pointer analysis in a few seconds for the bulk of SPEC and always in a few minutes. This is a substantial improvement when compared to similar frameworks that required many hours if not days. 2) The framework uses a more safe form of field sensitivity, more accurate form of context-sensitivity, and an efficient/accurate form of heap object specialization to aid both the usefulness and safety of the results. 3) The net effect has allowed the analysis system, in some instances, to remove over 90% of the perceived accesses to program objects. The pointer analysis framework is not just a theoretical model, but has been implemented within the IMPACT compiler framework and is currently under test for controlling everything from scheduling to custom object allocation into low-power SRAMs.

 

2001 – 2003 Post-link optimization and EPIC pipeline design (MICRO)

The central idea for this work is the use of dynamically derived information to modify code apostori. Investigations have targeted both the guiding of the compiler using programs phases instead of profile weights as well as pipeline design to tolerate stalls the compile was unable to anticipate.

 

2000 – 2004 IA64 compiler framework (Hotchips, Mp Forum)

This work focuses on demonstrating the full performance potential of the implemented IA64 processor family. IA64 is reliant on a compiler to generate code that can efficiently execute on the processor. For this reason, developing a good compiler infrastructure is paramount in getting good application performance.

 

2000 – 2002 Speculation support for Runtime Optimization (PACT, Masters Thesis)

A major hurdle in dynamic optimization is the preservation of precise exceptions while not constraining optimization. This work establishes a method through which freedom can be given to both software and hardware dynamic optimization systems while fully preserving the machine state at any exception.

 

2000 – Memory Access Patterns (ISCA MPF Workshop)

Using resources during an internship at Intel, this work sought to characterize the memory access patterns of various benchmarks with the objective of using the results to guiding prefetching mechanisms.

 

1999 – 2001 Dynamic Optimization via Hot Spots  (ISCA, TOC)

A hot spot is a region of code that is heavily executed over an interval of time. This work focused on the use of detected hotspots as a guide for the formation of traces suitable for both improving fetch performance and for enabling future performance driven dynamic optimizations.

 

1997 – 1998 Modulo Scheduling for a clustered processor architectures (MICRO)

Modulo scheduling is a software pipelining technique in which an iteration of a loop is scheduled to start at a regular, constant interval. This allows for a predictable overlap of the execution of multiple iterations. The process of obtaining an efficient schedule is complicated by the presence of a clustered architecture where access times to registers vary based on the location of the register within the separate registers files.

 

PUBLICATIONS (http://www.crhc.uiuc.edu/Impact/)

 

Bottom-up and Top-down Context-Sensitive Summary-based Pointer Analysis

E. Nystrom, H.-S. Kim, W. Hwu,

To appear in the proceedings of the 11th Static Analysis Symposium, August 2004.

Importance of Heap Specialization in Pointer Analysis

E. Nystrom, H.-S. Kim, W. Hwu,
The workshop on Program Analysis for Software Tools and Engineering at PLDI, June 2004.

Field-testing IMPACT EPIC research results in Itanium 2

J. Sias, S. Ueng, G. Kent, I. Steiner, E. Nystrom, W. Hwu,

The  31st Annual IEEE/ACM International Symposium on Computer Architecture, June 2004.

Scalable, precise context-sensitive top-down process for modular points-to analysis

E. Nystrom, H. Kim, W. Hwu,
IMPACT Technical Report, IMPACT-03-04, University of Illinois, Urbana, IL, 2003.

Compaction algorithm for precise modular context-sensitive pointer analysis
H. Kim, E. Nystrom, R. Barnes, W. Hwu,
IMPACT Technical Report, IMPACT-03-03, University of Illinois, Urbana, IL, 2003.

Beating in-order stalls with "flea-flicker" two-pass pipelining
R. Barnes, E. Nystrom, J. Sias, S. Patel, N. Navarro, W. Hwu,
Proceedings of the 36th IEEE/ACM International Symposium on Micro-Architecture, December 2003.

 

 

Architectural Support for Persistent, Dynamic Code Transformations
E. Nystrom,

Master's Thesis, Department of Electrical and Computer Engineering, University of Illinois, Urbana, IL, 2002.

Vacuum Packing:Extracting Hardware-Detected Program Phases for Post-link Optimization
R. Barnes, E. Nystrom, M. Merten, and W. Hwu,
Proceedings of the 35th IEEE/ACM International Symposium on Micro-Architecture, November 2002, pp.233-244.

Itanium Performance Insights
W. Hwu, J. Sias, M. Merten, E. Nystrom, R. Barnes, C. Shannon, S. Ryoo, and J. Olivier,

Presentation at Microprocessor Forum, October 2001.

Itanium Performance Insights from the IMPACT/iA64 Compiler

J. Sias, M. Merten, E. Nystrom, R. Barnes, J. Matarazzo, C. Shannon, W. Hwu,

Hotchips, August 2001.

Characterization of Repeatable Data Access Patterns in Integer Benchmarks

E. Nystrom, R. Ju, and W. Hwu,

Workshop on Memory Performance Issues, 28th IEEE/ACM International Symposium on Computer Architecture, July 2001.

Code Reordering and Speculation Support for Dynamic Optimization

E. Nystrom, R. Barnes, M. Merten, and W. Hwu,

Int'l Conference on Parallel Architectures and Compilation Tech., September 2001.

An Architectural Framework for Run-Time Optimization

M. Merten, A. Trick, R. Barnes, E. Nystrom, C. George, J. Gyllenhaal,

and Wen-mei W. Hwu, IEEE Transactions on Computers, Vol. 50, No. 6, June 2001, pp. 567-589.

A Hardware Mechanism for Dynamic Extraction and Relayout of   Program Hot Spots

M. Merten, A. Trick, E. Nystrom, R. Barnes, W. Hwu,

Proceedings of the 27th IEEE/ACM International Symposium on Computer Architecture, 2000.

Effective Cluster Assignment for Modulo Scheduling

E. Nystrom, A. Eichenberger,

Proceedings of the 31st IEEE/ACM International Symposium on Micro-Architecture, 1998.

 

PUBLICATIONS REFEREED

 

1999, Computers and Digital Techniques

1999, 32nd Intern. Symposium on Microarchitecture

1999, Intern. Conference on Supercomputing

 

2000, Conf. on Prog. Language Design and Implementation

 

2002, 35th Intern. Symposium on Microarchitecture

2002, Int'l Conf. on Parallel Architectures and Compilation Tech

2002, Int'l Symposium  on Code Generation and Optimization

 

2003, International Symposium on Computer Architecture

2003, Int'l Symposium  on Code Generation and Optimization

2003, Compilers, Arch., and Synthesis for Embedded Systems

 

2004, International Symposium on Computer Architecture

2004, 37th Intern. Symposium on Microarchitecture

 

FUNDING EXPERIENCE

 

GSRC, C2S2

2002, 2003

Aided in the composition of the research object and research plan of the soft systems theme for the GSRC re-proposal; Participated in GSRC, C2S2 annual reviews and quarterly meetings

 

PRESENTATIONS

 

GSRC Theme Meeting

12/03

15min position statement, 20 min topical overview; compiler analysis and verification

GSRC Review

09/03

2hr poster session for topical overview of scalable pointer analysis

GSRC Preliminary meeting

03/03

45min, presentation for software systems research overview

C2S2 Annual review

03/03

2hr poster session on compiler analysis and operating systems

PACT

09/01

30min, Conference talk for PACT 2001

Microsoft

05/01

30min, Interview talk on speculation support

Intel

09/00

30min, Internship summary on memory access pattern characterization

Intel

09/98

30min, Internship summary on memory coherence and hyper-threading

MICRO

12/98

30min, Conference talk for MICRO 1998

 

HONORS

 

Intel Doctoral Fellowship

National Science Foundation Graduate Fellowship

National Goldwater Scholarship

Lockheed-Martin Undergraduate Scholarship

Phi Kappa Phi

Golden Key Honor Society

IEEE and ACM member

 

 

COURSE WORK

 

ECE442, 412, CS433

Design of a parallel computer systems, distributed a workloads, and fault tolerance and reliability

ECE 452, 382, 362, 344

Numerical circuit analysis, VLSI, logic, and fabrication

CS 326, 373, 375

Front-end compilation, algorithms, and automata theory

ECE 411, 497

Graduate architecture and compiler course along with a special topics course discussing current research and emerging technologies

GE 497

Business and technology

 

REFERENCES

 

Wen-mei Hwu

Professor

UIUC

w-hwu@uiuc.edu

217-244-8270

215 Computer Systems Laboratory
MC 228
1308 West Main Street

Urbana, IL 61801

 

Thomas Conte

Professor

NCSU

conte@eos.ncsu.edu

919-515-5067

Department of Elec. and Comp Engr.
2310 Partners I
Campus Box 7256
NC State University
Raleigh, NC 27695-7256

 

Roy Ju

IA-64 Compiler Research,

 Intel

roy.ju@intel.com

408-765-8401

Microprocessor Research Lab Intel Corp.,

MS SC12-303

3600 Juliette Lane

Santa Clara, CA 95052

 

Alexandre Eichenberger

Exploratory System Arch.,

IBM TJ Watson

alexe@us.ibm.com

(914) 945-1812

Exploratory System Architecture

IBM T.J. Watson Research Center

Room 27-245

YorkTown Heights, NY 10598

 

Nacho Navarro

Assoc. Prof.

UPC

nacho@ac.upc.es

+34 934016989

Computer Architecture Dept.

Universitat Politecnica de Catalunya

Jordi Girona 3, Modul 6

Barcelona, Spain E-08034

 

Steven Lumetta

Assistant Prof.

UIUC

lumetta@crhc.uiuc.edu

(217) 244-5564

209 Computer Systems Laboratory

130 W. Main Street

Urbana, IL 61801