1. XIANGGUNAG ZHENG
4742 Centre AVE APT#402, Pittsburgh, PA, 15213 206-617-4233 zxg.zheng@gmail.com
EDUCATION:
Carnegie Mellon University – Pittsburgh, Master of Information Networking May 2017
Cumulative GPA: 3.95
University of Washington – Seattle, Bachelor of Science: Computer Science June 2015
Cumulative GPA: 3.84 (Dean’s list 7 quarters)
TA of Advanced Cloud Computing, CMU January 2016
TA of Computer Graphics, UW March 2015
WORK EXPERIENCE:
LinkedIn Software Engineer Intern 06/2016 – 08/2016
---- Leverage spare/unused resources in the online clusters by dynamically add them to offline Yarn cluster to run Hadoop
Jobs with low SLA
• Designed the architecture from scratch
• Demonstrated real Hadoop jobs running on online cluster using offline cluster setup
• Implemented job selection mechanism in order to only run selective jobs on added dynamic resources
• Implemented service to dynamically manage the resources added to Yarn cluster by monitoring online cluster usage.
RELATED COURSES:
Hardware/Software Interface Data Structure Software Design & Implementation
System Programming Database Management Operating System
Computer Network Distributed System Advanced Cloud Computing
TECHNICAL SKILLS:
Languages: JAVA, C, C++, Node.js, SQL, Python, Perl, PHP
ACADEMIC PROJECTS:
Advanced Cloud Computing, CMU -- Prof. Garth Gibson/ Prof. Majd F. Sakr 01/2016 – 05/2016
----Implemented change or feature in a state of the art cloud computing framework
• Built cloud using OpenStack, including load balancer and auto scaling service
• Parallelized Matrix Factorization with Spark
• Implemented Heterogeneous scheduling on Yarn
Cloud Computing, CMU -- Prof. Majd F. Sakr 09/2015 – 12/2015
----Enable technologies and experiences through projects utilizing public cloud infrastructure
• Utilized multiple Data Analytical Engines to handle big data problems, including Haddop, Spark, Kafka and Samza
• Built distributed Key-Value Store with different consistency level
• Utilized AWS Load Balancer and Auto Scaling group to handle scaling problems, including improving the Load
Balancing strategy
• Design and built an OLAP online tweet data service from scratch, including frontend, backend, database and
processing over 1TB data. In the end, our service is able to handle 6 different queries at the same time with certain
performance (request per second) as requirement.
Emulab Cluster Enhancement, CMU -- Prof. Garth Gibson 01/2016 – 05/2016
----Improved resource sharing in Emulab, the cluster management used by CMU to allocate shared resource to graduate
students for research purposes
• Designed and implemented cool down mechanism to prevent greedy user from taking over the majority of the
resources
• Designed and implemented notification mechanism to notify users who registered themselves in subscription list when
free resource is enough to fulfill their requests
Distributed System, CMU -- Prof. Mahadev Satyanarayanan / Padmanabhan Pillai 01/2015 – 03/2015
• Built abstraction over system call to redirect request to remote server using RPC
• Built file cache proxy, including defining the protocol used between the proxy and the server and how the cache is
managed
• Built scalable service to auto scale out/in based on the current load of user requests
• Built failure tolerant two phase commit mechanism to coordinate the decision making process
2. ACADEMIC PROJECTS(UNDERGRADUATE):
Distributed System, UW -- Prof. Tom Anderson 01/2015 – 03/2015
• Built Primary/backup Service with state fault tolerant coordinated by master server
• Built Paxos Based Key/value Service with fault tolerant without the coordination of master
• Built Shared Key/value Service, a distributed system that handles all faults, where different shards handle different
categories of requests and each shard consists of a replica group with Paxos protocol
Computer Network, UW -- Prof. John Zahorjan 01/2015 – 03/2015
• Built network proxy, capable of both replaying HTTP requests and HTTP CONNECT tunneling
• Built Tor Routing Network that routes traffic from the browser through a number of Tor nodes before sending it to the
server, using asynchronous event loop provided in Node.js
Operating System, UW -- Prof. Tom, Anderson 03/2014 – 06/2014
This project is to build basic functionalities for os161 operating system
• Implemented synchronization primitives for os161 and use them to design a multi-threaded bounded network queue
that stores k items and provides fair allocation among connections that share the queue
• Implemented the interface between user and kernel (system calls), including open, read, write, lseek, close,dup2, fork,
execv, waitpid, _exit
• Implemented virtual memory management, including page swapping and TLB miss