Elton PJ Shih ㋡
I am an ECE Ph.D. student at Cornell University advised by Prof. Christopher Batten in Cornell CSL. My research explores how to design computer systems that bridge applications and hardware, with a focus on microarchitecture, hardware–software co-design, and system-level integration. I aim to develop architectures that are application-aware yet scalable across diverse domains.
I approach this problem through full-stack exploration. At the hardware level I have worked on ISA extensions and RTL accelerators in both ASIC and FPGA contexts. At the system level I explore new frameworks for simulation and verification, including gem5–Verilator co-design. At the application level I prototype in domains that stress the hardware–software interface, from genomics to networking and real-time systems, and I am exploring efficient programming models for manycore architectures such as HammerBlade.
Prior to Cornell I studied at UNSW Sydney where my honours thesis developed a hardware-accelerated adaptive sampling system for nanopore sequencing on the edge, spanning accelerator design, drivers, Linux builds, and full system integration. I also worked in industry at Audinate, where I gained broad experience in embedded networking and real-time systems. My projects spanned porting protocols (e.g., QUIC, Dante) to new hardware, ISA, RTOS platforms, and real-time scheduling frameworks (e.g., XENOMAI), analyzing performance bottlenecks and network jitter, optimizing low-level networking with XDP and AF_XDP, and deploying large-scale CI/CD pipelines across a cross-platform codebase. I also spent significant time building custom Linux environments, including Buildroot, Petalinux, and AOSP, as well as working with device trees, OpenOCD, cross-compilation, and low-level drivers. This work gave me a strong foundation in building reliable systems under tight performance constraints and reinforced the importance of cross-layer thinking that continues to guide my research today.
Today I continue to explore architectures at the intersection of applications, systems software, and hardware, with the goal of developing general principles for building high-performance, application-driven systems.