General Information

Note: I've graduated from CS@UMN at Sept, 2011
and can be contacted by the following methods.

Education

Awards & Honors

  • Student Travel Grants for the 19th Intl. Conf. on Parallel Architectures and Compilation Techniques, Sept 2010
  • Nominee for IBM PhD Fellowship, Dept. of Computer Science & Engineering, UMN, Oct 2009
  • Student Travel Grants for the 18th Intl. Conf. on Parallel Architectures and Compilation Techniques, Sept 2009
  • Student Travel Grants for the 36th International Symposium on Computer Architecture, Jun 2009
  • Best Paper Award of the 26th IEEE International Conference on Computer Design (ICCD), Oct 2008
  • Nominee for IBM PhD Fellowship, Dept. of Computer Science & Engineering, UMN, Oct 2008
  • Nominee for Graduate Fellowship upon Admission at University of Minnesota - Twin Cities, Jan 2007

Research Experience

  • Advisor: Antonia Zhai
  • Area of Focus: Computer Architecture, Multicore Processors, Speculative Parallelization

Research Projects:

  • Background: Thread-Level Speculation (TLS) and Speculative Parallelism
    TLS is a technique for speeding up single-threaded programs on multi-threaded architectures. Those programs are often difficult to parallelize due to possible data dependences that are hard to detect during compile time. The TLS approach allows the compiler to speculatively generate parallel code regardless of the possible dependences and employs hardware components to track and recover dependence violation at runtime. This type of parallelism is regarded as speculative parallelism.
  • Topic I: Improving Performance for Thread-Level Speculation (TLS)
    TLS is a technique for speeding up single-threaded programs on multi-threaded architectures. The challenge is to select the appropriate regions for TLS. Prior approaches rely on compiler analysis with program profiling. But they suffer from inaccuracy in modeling many runtime aspects. My approach is to monitor runtime execution and determine the region selection.
  • Topic II: Improving Energy Efficient for Speculative Threads
    TLS improves performance at the cost of energy efficiency. I propose a heterogeneous multicore design for TLS, and dynamic allocation heuristics that match threads with the most energy-efficient configuration.

Publications:

Patent(s):

Internship(s)

  • SeaMicro, Inc.
    Software Engineering
    Fabric routing: algorithm, system design and implementation, and performance tuning
    July - August 2011
  • IBM T.J. Watson Research Lab Yorktown Site.
    Advanced Compiler Technology Team, under Kathryn O'Brien
    Project: Dependence-Aware Scheduling Using Assistant Threads
    May - August 2008

Scholarly Addresses

Sept 2010: Vienna, Austria
Presentation Slides: (PDF) (PowerPoint Show)
Oct 2009: Minneapolis, Minnesota
  • Dynamic Performance Tuning for Speculative Threads
  • The 7th Biennial Open House, Department of Computer Science and Engineering, UMN
Poster Presentation
June 2009: Austin, Texas
Presentation Slides: (PDF) (PowerPoint Show)
Aug 2008: Yorktown Heights, New York
  • Dependence-Aware Scheduling Using Assistant Threads
  • IBM Summer Intern Poster Session, IBM T.J. Watson Yorktown Site
Poster Presentation: CONTENT UNDISCLOSED
Feb 2008: Salt Lake City, Utah
Poster Presentation

Teaching Experience

Guest Lecturer (Spring 2011, Bethel University)

  • COS105 Computer Science I, and
    COS216 Data Structures and Objects
  • Instructor: Nathan Gossett
  • Duties: delivering three distinctive lectures and getting observed and mentored by the instructor, part of the University of Minnesota Preparing Future Faculty (PFF) program.

Teaching Assistant (Spring 2011)

  • CSci 4041: Algorithms and Data Structures
  • Main Instructor: Carl Sturtivant
  • Duties: leading weekly recitation sessions, grading homework/exams, maintaining grades, holding office hours
  • Midterm Student Evaluation: 4.27/5, 18 surveys
    ItemScoreItemScore
    1. Knowledgeable about the material: 4.56/52. Speak audibly and clearly: 4.33/5
    3. Has good rapport with students: 4.28/54. Invites questions and discussions: 4.28/5
    5. Provides clear answers to questions: 4.17/56. Summarized or emphasizes key points: 4.17/5
    7. Makes good use of examples: 4.39/58. Encourages students to think: 4.33/5
    9. Provides helpful feedback: 4.22/510. The discussion section useful: 4.00/5
  • End-semester Student Evaluation: 5.17/6, 14 surveys
    ItemScoreItemScore
    1. Well-prepared for class: 5.21/62. Presented the subject clearly: 5.00/6
    3. Provided feedback for students' performance: 5.00/64. Treated students with respect: 5.57/6
    5. Students have a deeper understanding: 5.14/66. Students' interest stimulated: 5.07/6

Guest Lecturer (Spring 2011)

Guest Lecturer (Fall 2010)

Teaching Assistant (Fall 2008)

Teaching Assistant (Fall 2007)

  • CSci 4011: Formal Languages and Automata Theory
  • Instructor: Prof Gopalan Nadathur
  • Duties: leading recitation sessions, grading homework/exams, maintaining grades, holding office hours
  • Student Overall Rating: 4.15/5, 20 surveys
    ItemScoreItemScore
    1. Approachable in office hour: 4.67/52. Good grasp of material: 4.50/5
    3. Helpful in office hour: 4.29/54. Good communication skills: 3.60/5
    5. Well-prepared & organized: 4.45/56. Present material clearly: 4.00/5
    7. Grade consistently and clearly: 4.10/5

Course Works

Overall GPA: 3.919/4

Spring 2011

  • GRAD 8102: Practicum For Future Faculty
    Instructor: Christina Petersen
    Final Grade: S

Spring 2010

  • GRAD 8101: Teaching in Higher Educations
    Instructor: Ilene Alexander and Esam El-Fakahany
    Final Grade: S

Fall 2009

  • EE 5301: VLSI Design Automation I
    Instructor: Sachin Sapatnekar
    Final Grade: S

Spring 2009

  • MATH 5707: Graph Theory and Non-enumerative Combinatorics
    Instructor: Drew Armstrong
    Final Grade: A-
  • CSCI 5161: Introduction to Compilers
    Instructor: Wei-Chung Hsu
    Final Grade: A

Fall 2008

Spring 2008

  • CSci 8205: Parallel Computer Organization
    Instructor: Antonia Zhai
    Final Grade: A
  • CSci 5451: Introduction to Parallel Computing
    Instructor: Karypis, George
    Final Grade: A
  • CSci 8980: Special Advanced Topics in Computer Science - Recent Advanced in Computer Architectures
    Instructor: Pen-Chung Yew
    Final Grade: A-
  • CSci 8002: Introduction to Research in Computer Science II
    Instructor: Joseph A. Konstan
    Final Grade: A
  • CSci 8970: CSCI Colloquium
    Instructor: variety
    Final Grade: S

Fall 2007

  • CSci 5204: Advanced Computer Architecture
    Instructor: Antonia Zhai
    Final Grade: A
  • CSci 5103: Operating Systems
    Instructor: Anand Tripathi
    Final Grade: A
  • CSci 8001: Introduction to Research in Computer Science I
    Instructor: Joseph A. Konstan
    Final Grade: given with CSci 8002

The views and opinions expressed in this page are strictly those of the page author.
The contents of this page have not been reviewed or approved by the University of Minnesota.