Hsin-Jung Yang

NOTE: PDF version of CV available upon request

Education

Massachusetts Institute of Technology (MIT)

09/2012--Present

Ph.D. Candidate in Electrical Engineering and Computer Science
(GPA: 5.0/5.0) (Expected graduation date: 01/2017)

Massachusetts Institute of Technology (MIT)

09/2010--06/2012

M.S. in Electrical Engineering and Computer Science (GPA: 5.0/5.0)

National Taiwan University (NTU), Taiwan

09/2006--06/2010

B.S. in Electrical Engineering (GPA: 4.0/4.0) (Class Rank: 1/224)

Industry Experience

Application-Optimized FPGA Cache Network Partitioning, Intel SSG Group

06/2015--08/2015

Research Intern, Mentored by Kermin Fleming and Michael Adler

  • Developed algorithms and microarchitectures for partitioning FPGA-based cache networks to efficiently utilize the bandwidth of multiple board-level memories on modern FPGAs
  • Designed a resources-aware compiler to automate program-optimized cache network partitioning
Cache Optimization under FPGA Memory Abstraction, Intel VSSAD Group

06/2012--08/2012

Research Intern, Mentored by Michael Adler and Joel Emer

  • Examined prefetching as a means of improving the performance of the LEAP memory, an automatically synthesized FPGA memory abstraction
  • Designed an FPGA-optimized microarchitecture for prefetching, which is tuned for the behavior of typical FPGA applications

Research Experience

Automatic Construction of Application-Optimized FPGA Memories, MIT

08/2014--Present

Advised by Prof. Joel Emer and Prof. Srini Devadas

  • Built program introspection tools to analyze FPGA applications' runtime memory access characteristics
  • Developed optimization algorithms to construct cache networks that minimize network latency impact and achieve good load balance cross multiple board-level memories
  • Designed a complier (in Python) that automatically customizes the memory system tailored for a given application based on program introspection results and available hardware resources
  • Extended optimized memory services to high-level-synthesis (HLS) applications
FPGA-based Shared Memory and Synchronization Primitives, MIT

02/2013--07/2014

Advised by Prof. Joel Emer and Prof. Srini Devadas

  • Built a shared memory infrastructure for FPGA-based parallel programming algorithms
  • Developed a shared-memory service that automatically manages multiple coherent caches and coherence domains across multiple FPGAs
  • Built novel lock and barrier primitives outside of shared memory to leverage native FPGA communication capabilities
Authenticated Storage Using Small Trusted Hardware, MIT

09/2010--01/2013

Advised by Prof. Nickolai Zeldovich and Prof. Srini Devadas

  • Built an authenticated cloud storage system that efficiently ensures data integrity and freshness by attaching a small piece of high-performance trusted hardware to an untrusted server
  • Designed security mechanisms for trusted storage, including memory authentication, system state protection against power loss, access control, and crash recovery
  • Implemented the trusted hardware on FPGA (using Verilog), the untrusted server on a Linux machine (using C++ and Ruby), and a client model with filesystem support
  • Partitioned the functionality across software and hardware to improve system performance
Hybrid Color Calibration for Multiview View Synthesis, NTU

02/2009--06/2010

Advised by Prof. Liang-Gee Chen

  • Proposed a hybrid color calibration algorithm for the virtual view synthesis and tested it using C++
  • Conducted hardware architectural analysis and implemented the hardware-oriented algorithm (in Verilog)
  • Assisted a tape-out work for the view-synthesis chip in 45nm technology

Teaching Experience

6.823 Computer System Architecture, MIT   [Course Website]

02/2015--05/2015

Teaching Assistant

  • Co-led weekly tutorials to walk through problem set questions and clarify concepts from lectures
  • Assisted students with laboratory exercises modeling different microarchitectures with Intel Pin tool
  • Created and graded monthly quizzes

Technical Skills

  • Programming: C/C++, OpenMP, Python, Ruby, MATLAB
  • Circuit design: Bluespec, Verilog, Spice
  • Tools: Xilinx Vivado, Xilinx Vivado HLS, Xilinx ISE, Design Compiler, SOC encounter, HSPICE, Virtuoso

Relevant Courses

  • Computer System Architecture, Advanced Topics in Computer Systems
  • Machine Learning, Algorithms, Data Structure and Programming, Network and Computer Security, Optimization Methods
  • Design and Analysis of Digital Integrated Circuits