Sean S. Choi
Ph.D. Candidate in Electrical Engineering
Stanford University

My Office: Gates 326. Directions to the Gates Building
Available most days by appointment.
Phone: 213-703-four eight zero three
Email: yo2seol at stanford.edu
Website: seanschoi.com

Google Scholar

Short Biography

I am a Ph.D. candidate in the electrical engineering department at Stanford University. I am fortunate to be advised by my advisor, Professor Mendel Rosenblum. I have completed a M.S. degree in computer science at Stanford University and B.S. degree in computer science at California Institute of Technology. After finishing my masters degree and before returning as a Ph.D. student, I worked at LinkedIn as a data engineer and worked at VMware as a software engineer for couple of years.
My current research work is about adding programmability to network switches via a domain specific language called P4. P4 is a protocol-independent and target-independent language, that is capable of quickly and easily defining a function of a network object (i.e. a data-center switch). Given this language, my work is to first build a software-switch that can take a P4 input and generate the described function dynamically.
This would allow for a protocol-independent and easily programmable software switch. Given this, my work also involves showing that this protocol-independent software switch is as performant as the protocol-dependent software switches that are currently being used in the industry.


  1. FBOSS: Building Switch Software at Scale
    Sean Choi, Boris Burkov, Alex Eckert, Tian Fang, Saman Kazemkhani, Rob Sherwood, Ying Zhang, and Hongyi Zeng
    ACM SIGCOMM, Budapest, Hungary, August 2018
    14 pages pdf
  2. The Case for a Flexible Low-Level Backend for Software Data Planes
    Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, and Changhoon Kim
    ACM SIGCOMM APNet, Hong Kong, August 2017
    7 pages pdf
  3. AppSwitch: Application-layer Load Balancing within a Software Switch
    Eyal Cidon, Sean Choi, Sachin Katti, and Nick McKeown
    ACM SIGCOMM APNet, Hong Kong, August 2017
    7 pages pdf
  4. PISCES: A Programmable, Protocol-Independent Software Switch
    Muhammad Shahbaz, Sean Choi, Ben Pfaff, Changhoon Kim, Nick Feamster, Nick McKeown, and Jennifer Rexford
    ACM SIGCOMM, Florian├│polis, Brazil, August 2016
    14 pages pdf
  5. Integrated bioprinting and imaging for scalable, networkable desktop experimentation
    Nathan Orloff, Cynthia Troung, Nathan Cira, Stephen Koo, Andrea Hamilton, Sean Choi, Victoria Wu, Ingmar H. Riedel-Kruse
    RSC Advances Issue 65, 2014
    8 pages pdf
  6. The Browsemaps: Collaborative Filtering at LinkedIn
    Lili Wu, Sam Shah, Sean Choi, Mitul Tiwari, Christian Posse
    RSWeb ’14 Foster City, CA
    8 pages pdf
  7. Social Data and College Statistics
    Sean Choi, Elena Grewal, Kai Wen
    Influence ’12 Halifax, Nova Scotia, Canada
    5 pages pdf
  8. Stochastic Kronecker Graph on Vertex-Centric BSP
    Ernest Ryu, Sean Choi
    Personal Interest, Unsubmitted
    6 pages pdf


  1. Programmable Data Planes and "Reflex Control"
    Talk at Platform Lab Review 2019, Stanford, California, USA, February 7th, 2019
  2. FBOSS: Building Switch Software at Scale
    Talk at SIGCOMM 2018, Budapest, Hungary, August 23rd, 2018
  3. History of SDN and PISCES - A Programmable Independent Software Switch
    Hughes Network Systems Seminar, Germantown, Maryland, June 9th, 2016


  1. ╬╗-NIC: Interactive Serverless Compute on SmartNICs.
    Sean Choi, Muhammad Shahbaz, Balaji Prabhakar, and Mendel Rosenblum.
    Platform Lab Annual Review, Stanford, CA, USA, February 7th, 2019.
  2. PVPP: A Programmable Vector Packet Processor.
    Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, and Changhoon Kim.
    ACM SIGCOMM Symposium on SDN Research (SOSR), Santa Clara, CA, USA, April 3-4 2017.
    [Abstract] [Poster]
  3. PISCES - A Programmable Independent Software Switch
    P4 Workshop, Stanford, CA, USA, November 18th, 2015


  1. FBOSS: Facebook Open Switching System
  2. PVPP: A Programmable Vector Packet Processor
  3. PISCES: A Programmable Independent Software Switch



  1. CS193C: Client-Side Internet Technologies. Summer 2017-18
  2. CS161: Design and Analysis of Algorithms. Summer 2012-13, 2016-17
  3. CS103: Mathematical Foundations of Computing. Summer 2015-16
  4. CS224M: Multi-agent Systems. Spring 2012-13
  5. CS246: Mining Massive Data Sets. Winter 2012-13


  1. CS2: Introduction to Programming Methods. Winter 2011-12
  2. CS11: Python Language. Fall 2011-12
  3. CS1: Introduction to Computer Programming. Fall 2010-11
  4. CS3: Introduction to Software Engineering. Spring 2009-10
  5. CS171: Computer Graphics Laboratory. Fall 2009-10


Full Resume is here (Updated as of Jan 14, 2019)