Alan Smith

Mojgan Ghasemi

About Me

I am a fifth year PhD student advised by the esteemed professor Jennifer Rexford, and working closely with professor Theophilus Benson. Before joining Princeton, I got my B.Sc. from Sharif EE in 2012.

My research focus is primarily on performance diagnosis and optimizations, with emphasis on video streaming over the Internet. I'm also interested in Internet measurement and networking in public clouds.

You can find my CV here.

Research Projects

Optimizing Video Performance (joint work with Akamai)

July 2016-present

Currently, I have the wonderful opportunity to work with folks at Akamai, the world's largest CDN, to optimize video performance.

Performance Characterization of a Commercial Video Streaming Service (joint work with Yahoo Research)

ACM IMC 2016, paper, IMC slides, BibTex

Despite the growing popularity of video streaming over the Internet, problems such as re-buffering and high startup latency continue to plague users. In this work, we present an end-to-end characterization of Yahoo's video streaming service, analyzing over 500 million video chunks downloaded over a two-week period. We gain unique visibility into the causes of performance degradation by instrumenting both the CDN server and the client player at the chunk level, while also collecting frequent snapshots of TCP variables from the server network stack. This is the first end-to-end study at large scale about video streaming. Using our unique dataset, we uncover a range of performance issues at the server, network, and client for the fist time. Looking across chunks in the same session, or destined to the same IP prefix, we see how some performance problems are relatively persistent.

Our findings were used by Yahoo to optimize performance for NFL Live, the first global streaming of an NFL game, with more than 15 million unique viewers.

Dapper: Data Plane Performance Diagnosis of TCP

submitted to ACM SOSR, paper

With more applications moving to the cloud, cloud providers need to diagnose performance problems in a timely manner. Offline processing of logs is slow and inefficient, and instrumenting the end-host network stack would violate the tenants' rights to manage their own virtual machines (VMs). Dapper analyzes TCP performance in real time near the end-hosts (e.g., at the hypervisor, NIC, or top-of-rack switch) and determines whether a connection is limited by the sender (e.g., a slow server competing for shared resources), the network (e.g., congestion), or the receiver (e.g., small receive buffer). Emerging edge devices now offer flexible packet processing at high speed on commodity hardware, making it possible to monitor TCP performance in the data plane, at line rate. We used P4 to prototype Dapper in the dataplane and diagnose connections at line-rate. You can read more about Dapper here

Real-time Diagnosis of TCP Performance in Clouds

2013 ACM CoNEXT student workshop paper poster

Enterprises running critical applications in the cloud expect their providers to offer good, predictable performance. However, existing TCP monitoring tools either run offline, preventing real-time adaptation to performance problems, or require modification to the tenant’s VMs, which raises trust issues. In this work, we present an online tool that is non-intrusive in an IaaS cloud, and accurately detects the cause of TCP performance problems by analyzing connections in the hypervisor.

Teaching at Princeton

  • COS 217: The C Programming Language
  • COS 126: Java Programming Language

Other Interests

Data Analysis

My collaborations with industry has made me a huge fan of big data analytics. In addition to Pandas, I have used Hadoop Streaming, Pig, Hive, and SQL in large production settings to analyze Terabytes of data.

I am honored to be selected for a Data Science fellowship at Insight Data Science, starting January of 2017.


I was honored to be a part of the Girls Who Code program at Akamai, and Black Girls Code event at Yahoo. I'm very interested in increasing the diversity in the tech field.