464AB Brickyard Engineering Building VISA Research Laboratory School of Computing, Informatics, & Decision Systems Engineering Arizona State University |
699 S. Mill Ave., Tempe, AZ 85281 Phone: (480) 965-9038 Email: wenjili@asu.edu |
Education
Doctor of Philosophy, Computer Science
Arizona State University, Tempe, AZ USA (Aug 2015 – Present)
Florida International University, Miami, FL USA (Aug 2013 – Aug 2015 )
Advisor: Dr. Ming Zhao
Master of Engineering, Software Engineering (Aug 2009 – Dec 2012)
Beihang University, Beijing China
Specialization in Embedded Software Development
Advisor: Yimin Ge
Bachelor of Science, Applied Physics (Sep 2005 – Jul 2009)
Beihang University, Beijing China
Advisor: Chenlin Gou
Publication
Vasily Tarasov, Lukas Rupprecht, Dimitris Skourtis, Wenji Li, Raju Rangaswami, Ming Zhao “Evaluating Docker storage performance: from workloads to graph drivers”. Cluster Computing22, 11591172 (2019)
Vasily Tarasov, Lukas Rupprecht, Dimitris Skourtis, Amit Warke, Dean Hildebrand, Mohamed Mohamed, Nagagramod Mandagere, Wenji Li, Raju Rangaswami, Ming Zhao “In Search of the IdealStorage Configuration for Docker Containers”, in proceedings of 2nd IEEE International Workshops on Foundations and Applications of Self* System(FAS*W’ 17), Tucson, AZ, Sep 2017
Professional Experience
Software Engineering
Google, Platforms, Sunnyvale, CA USA Dec 2019 – Present
Working on Google scale Storage Products and System management infrastructure
Research Assistant
Arizona State University, Tempe, AZ USA (Aug 2015 – Present)
Florida International University, Miami, FL USA (Sep 2014 – Aug 2015)
Conduct research on cloud and mobile storage systems
Teaching Assistant
Florida International University, Miami, FL USA (Jan 2014 – Apr 2014)
Created and instructed the Android kernel based lab exercises for the class COP 4610 (Operation System Principle)
Linux Software Development Engineer, Intern
Intel, USB & Mass Storage Feature Team, Beijing China (Aug 2011 – Aug 2012)
Developed the USB driver for Intel mobile chipset
Verification Engineer, Intern
Ericsson, PDU CC I&V, Beijing China (Apr 2011 – Jul 2011)
Developed verification environment for Ericsson exchange platform
System Research, Intern
Beihang University, EDA lab, Beijing China (Nov 2010 – Mar 2011)
Developed a prototype of tablet, specialized for multimedia conferencing
Projects
CacheDedup (May 2014 – Present)
Study inline deduplication for flash caching. Flash caching is a promising solution to the scalability problems but it faces serious limitations in capacity and endurance. We present a solution, CacheDedup, which embodies a new architecture that decouples the caching of indexing data structures from the caching of actual data, and explores two new cache replacement algorithms that are duplication-ware. My contributions are developing a real prototype of CacheDedup based on dm-cache, and evaluating its performance using real-world traces.
Deduplication Analysis in Mobile Device (Sep 2014 – Jan 2015)
Analyzed storage and network duplication in mobile device. We designed a kernel module on mobile device for capturing storage traces, and VPN server to capture network traces. My contributions are developing the storage trace-capture kernel module based on I/O scheduler and analyzing the storage duplication.
Android Kernel Projects for the Operation System Course (Jan 2014 – Apr 2014)
Designed and implemented three projects on a physical mobile device (Nexus 7) as the assignments for COP 4610. Also provided tutorials and guidances to the students throughout the entire course. Lab 1 taught students how to unlock bootloader, flash kernel image for Nexus 7, and implement a simple kernel module for the new kernel. Lab 2 developed a new low memory killer that can kill processes according to the CPU and memory usages. Lab 3 taught students how to implement a new round-robin I/O scheduler for the storage on the mobile device.
Performance Analysis of I/O Scheduler for Mobile Devices (Sep 2013 – Dec 2013)
Evaluated the performance of different I/O schedulers for different data access patterns on mobile devices. I designed several experiments for testing the read and write fairness problem and the parallelism characteristics of the embedded NAND flash storage on mobile devices.
USB Driver Improvement for x86 Mobile Chipset (Aug 2011 – Aug 2012)
Analyzed and fixed reported bugs in the USB driver for the x86 mobile chipset. My contributions are analyzing the various issues reported by Intel engineers, identifying the root causes and fixing them with my teammates.
Handheld Multimedia Conferencing System (Nov 2010 — Mar 2011)
Developed a prototype handheld multimedia conferencing system, based on custom-made dual-screen tablets. My contributions are porting the Linux operation system to the Jumbo 2440 development board and developing an image comparison application with MiniGUI graphics library. I also developed a matrix keyboard driver to control a 4*4 keyboard to control the two screens on the tablet that can simultaneously show different contents.
Programming
Languages: C, C++, Java, Linux shell scripting, LaTeXe
Platforms: Linux/Android programming on servers and mobile devices