John R. Emmons

First year computer science PhD student at Stanford University

john emmons headshot

Blog: blog.johnemmons.com
Email: [email protected]
Links: Github, Google Scholar, Linkedin
Vitals: CV/Resume


Recent news (September 1, 2017):

I just got back from ACM SIGCOMM'17 in Los Angeles, California and VLDB'17 in Munich, Germany. Both conferences were great and gave me lots of ideas for future projects which I hope to flesh out in the coming months. Check out my paper that my coauthor Daniel Kang presented at VLDB! (paper, slides).


Research interests:

My research interests are broadly at the intersection of computer systems and machine learning (specifically computer vision). My current work focuses on building systems that accelerate video compression, tranmission, and semantic understanding.

Biographical sketch:

I am first year PhD student at Stanford University studying computer science (co-advised by Keith Winstein and Silvio Savarese). During my undergrad, I participated in the engineering dual degree program between Washington University in St. Louis and Drake University. I have an MS degree in computer science and three BS degrees in (1) computer engineering, (2) electrical engineering, and (3) computer science, mathematics and physics (triple major).

In my spare time, I run long-distance road races, competing mostly in marathons and half marathons. My most recent success was the San Francisco Marathon; I finished in 2:57:47, placing 43rd of 6506 participants and 9th in my age division.

Projects:

AWSLambdaFace (blog, code): serverless compute platforms such as Amazon Web Services (AWS) Lambda were intended to be used for web microservices and to handle asynchronous events generated by other Amazon web services (DynamoDB, S3, SNS, etc.). However, AWS Lambda also allows users to upload arbitrary linux binaries along with their lambda functions. In this project, I deployed a full-blown deep convolutional neural network based face recognition tool on AWS Lambda and used the system to query for faces in videos in a massively parallel way.

NoScope (blog, code): video data is exploding -- the UK alone has over 4 million CCTVs, and YouTube users upload over 300 hours of video every minute. Recent advances in deep learning enable automated analysis of this growing amount of video data, allowing us to query for objects of interest, detect unusual and abnormal events, and sift through lifetimes of video that no human would ever want to watch. However, these deep learning methods are extremely computationally expensive: state-of-the-art methods (as of 2017) for object detection run at ~100 frames per second on a state-of-the-art NVIDIA P100 GPU. This is tolerable for a small numbers of videos, but it is infeasible for real deployments at scale. In this project, I helped build a system that accelerates the computation of deep CNN based visual queries using ideas borrowed from the database community.

Publications: (bibtex)

Daniel Kang, John Emmons, Firas Abuzaid, Peter Bailis, Matei Zaharia. "Optimizing Deep CNN-Based Queries over Video Streams at Scale". VLDB. Aug. 2017. [pdf]

Hongyi Xin, Sunny Nahar, Richard Zhu, John Emmons, Gennady Pekhimenko, Carl Kingsford, Can Alkan, and Onur Mutlu. "Optimal Seed Solver: Optimizing Seed Selection in Read Mapping". Oxford Bioinformatics, Nov. 2015. [pdf][supp]

Hongyi Xin, John Greth, John Emmons, Gennady Pekhimenko, Carl Kingsford, Can Alkan, and Onur Mutlu. "Shifted Hamming Distance: A Fast and Accurate SIMD-Friendly Filter for Local Alignment in Read Mapping". Oxford Bioinformatics, Dec. 2014. [pdf]

Igor A. Ivanov, Anatoli S. Kheifets, Klaus Bartschat, John Emmons, Sean M. Buczek, Elena V. Gryzlova, and Alexei N. Grum-Grzhimailo. "Displacement effect in strong-field atomic ionization by an XUV pulse". Physical Review Letters A. Oct. 2014. [pdf]

Last updated: Sep 1, 2017