Xiaoliang (David) Wei

 

Email:
URL: http://davidwei.org
Tel: 626-818-0562 (C)
650-644-5835 (W)

Qualifications

Education

2001 - 2007

California Institute of Technology, CA

1997 - 2001

Tsinghua University, Beijing, P.R.China

Experience

Jan 2008 - now

Facebook Inc.

Research Scientist, Infrastructure

Jul 2007 - now

Engineering and Applied Science Division, Caltech

Visitor

Research on Internet congestion control, network simulations and distributed system.

Sep 2007 - Jan 2008

Google Inc.

Software Engineer, Platform

Research and develop networking technologies that can improve user experience all over the world and/or improve the efficiency of the operations in the company.

Sep. 2005-now

NS-2 Enhancement Project

Volunteer Contributor / Developer

I started a series of work to enhance the network simulator NS-2. Results include:

  • Analyze and improve the event scheduler of NS-2 simulator. The improvement patch allows NS-2 running up to 50 times faster.
  • Design and implement a NS-2 TCP module which can use the source code of Linux congestion control modules. The module allows Linux kernel developers to run controllable simulation in NS-2. It also allows researchers to evaluate the performance of different TCPs in NS-2.
  • Design and implement a TCP Pacing module. The module incorporates several different pacing algorithms.
  • Fixed some bugs in NS-2 codebase

Apr. 2007-Aug 2007

Ripple Networks Inc., El Segundo, CA

Consultant

Build a distributed data delivery system from scratch to pre-deployment stage:

  • Specify Functional Requirement and Project Roadmap with team: Meet different groups to compile the functional specifications for different phases of the project;
  • Architect the system: design and specify the major components and interfaces with heavy consideration for extensibility and scalability;
  • Build common infrastructural components for the development and unit test of the project;
  • Develop the functional components with a teammate, enforce unit testing with coverage check and memory check;
  • Integrate the components: design the build process and integration testings;
  • Specify the functional and performance testing with a teammate;
  • Deployment preparation: write software package specification (RPM) for deployment;
  • Maintenance: write tutorials for new engineers and multiple levels of documentations of the project.

Oct. 2006-Apr 2007

FastSoft Inc., Monrovia, CA

Senior Engineer

Commercializing my research results (FAST) at Caltech; Design and Develop TCP-aware network devices:

  • Ensure RFC conformance of network devices
  • Design new protocol state machine for coupling devices
  • Designa and develop TCP features
  • Design and develop testing infrastructure for network devices

Jun. 2002-Jun 2007

NetLab, California Institute of Technology, CA

Research Assistant, FAST team member

I am one of the inventors of FAST, a new variant of TCP congestion control algorithm for high speed network. My work includes:

  • Design and implement the first prototype of FAST
  • Propose a new model to analyze the dynamic of FAST and other TCPs
  • Support further development of FAST in Linux and NS-2 simulator
  • Design benchmark for evaluating TCP algorithms
  • Study the effect of burstiness on TCP traffic
  • Demo the FAST prototype in SuperComputing2002 and SuperComputing2005

Jul. 2005

BillKeeper.net Project

I developed a website (www.BillKeeper.net) which helps people to simplify their payment returns in cost-sharing activities. The work includes designing a graph reduction algorithm and implementation with PHP+MySQL.
Jul. 2004 - Sep. 2004

Google Inc.

Engineering Intern

We worked on improving data transfer performance in Googles network.
My work includes simulation and design of new algorithms for TCP and higher level scheduling algorithms.

Oct. 2001- Jun. 2002

NetLab, California Institute of Technology, CA

Research Assistant on CDN project

We studied a high density model for server allocation and placement in content distribution network (CDN).
My work includes:

  • simulation and evaluation of new algorithms in content distribution network

Feb. 2001-Jul. 2001

Tsinghua-Bell Labs Joint Laboratory on Computer Networking, Beijing

Research Assistant (for Bachelor thesis work)

We worked on protocol conformance testing. My work includes:

  • Design passive testing algorithm for routing protocols
  • Implement an experimental system

Jul. 2000-Nov. 2000

IBM China Research Laboratory, Beijing

Intern

We studied the semi-structural database and XML database. My work includes:

  • Design and implement efficient indexing strategies for XML database

Teaching (see details)

Oct. 2002 - Dec. 2002

and

Oct. 2003- Dec. 2003

Computer Science Dept., California Institute of Technology

Teaching Assistant for CS145a (Networking)

I taught the programming part of CS 145a (Networking) at Caltech. My work includes:

  • instructions on network programming and protocol designs
  • design and grading of homework and project assignments

Publications (complete list)

Award (complete list)