Projects

External Workload Support in Kubernetes

Date: 2020

Pull Request User Guide KEP(TBA)
Kubernetes has a well-rounded ecosystem for pods in the cluster. But it does not provide a standard interface for pods to interact with external workloads, such as VMs. This project proposed ExternalWorkload custom resource to represent workloads, provides pod to workload load balancing, and supports mixed backends for Services based on EndpointSlices. I have implemented a PoC demo, which is merged into GCE Ingress Controller. The KEP is being reviewed.

NFD Configuration Manager

Date: 2019

Code
NFD Configuration Manager (NDN-FM) provides a graphical interface to increase the ease with which users can manage local instances of the NDN Forwarding Daemon (NFD) and other packet forwarders implementing the NFD Management Protocol: NDN-FM can monitor the status of the forwarder; create, update, and delete faces and routes; manage certificates; and run basic NDN debugging tools.

RISC-V Vector Extension in Gem5

Date: 2018

Code Report
This is a course project for CS 251B. We modified gem5 simulator to support a subset of RISC-V vector extensions draft in system-call emulation mode. We also wrote some testing assembly & C code which can be run on a bare metal machine for evaluation.

Best Threshold in Ball Recognition

Date: 2016

Code
Threshold is widely used in RoboCup Middle Size League (MSL) for ball recognization. We proposed an algorithm to find the best threshold without manually tuning arguments. This is submitted to Science Challenge in RoboCup China Open 2016.

Vehicle Instrument Recognition

Date: 2016

Code
This is a course project that reads the number indicated by a vehicle instrument. We use Kirsch and Sobel operators to sharpen the image, Otsu algorithm for thresholding, and RANSEC to detect the scale marks and the hand. We calculate the result based on the angle.