Table of Contents
Networking and Wide-Area Systems (NeWS) Group
Courant Institute of Mathematical Sciences, NY
Postdoctoral Research Fellow, 2015-2016
Graduate Researcher, 2010-2015
I focused on how systems will need to be redesigned to take advantage of the HPC-like networks we correctly believed would be in future datacenters. My work culminated in Cell and Pilaf, two powerful in-memory distributed stores. Pilaf is a distributed in-memory cache that leverages HPC networking features to handily surpass the throughput and parallelism of existing Ethernet and Infiniband-based systems. Using the lessons we learned creating Pilaf, we built Cell, a distributed sorted in-memory store offering high-speed random accesses, range queries, and transactions with that consumes minimal CPU resources.
In 2012, I completed my work on Oolong, a distributed framework for asynchronous applications. It builds on the power of database trigger concepts to support fast, efficient execution of applications requiring causal execution and asynchronous processing. Applications built for Oolong, include Bipartite Matching, Connected Components, PageRank, a web crawler, and Shortest Paths, show that Oolong provides a more intuitive and simpler interface for many problems than Piccolo [Power 2010] and PrIter [Zhang 2011], and can run PageRank 1.7x faster and Shortest Paths 15x faster than Piccolo, and Connected Components 7-25x faster than PrIter.
I began my PhD studies with an exploration of distributed systems via the Piccolo project, intended to allow high-speed, highly-parallel computation to be applied to problems that traditionally might employ a map/reduce framework. I implemented a face classifier on Piccolo based on the face database I created for my Master’s thesis, and worked on precise benchmarks of Piccolo versus Hadoop to explore why Piccolo presents a signficant speedup over Hadoop for algorithms such as PageRank. During my work with Oolong, I implemented many Oolong applications in Piccolo to compare performance.
S*ProCom², Cooper Union, NY
Graduate Research Fellow, 2009-2010
Undergraduate Research Fellow, 2007-2009
Beginning in the fall of 2007, I worked on projects in Cooper Union’s Center for Signal Processing, focusing on implementing high-speed, highly-parallel algorithms and systems, especially parallelizing stream ciphers and stochastic algorithms targeted for reconfigurable, high-throughput platforms such as FPGAs and GPUs.
My Master’s thesis focused on the application of Convolutional Neural Networks (CNNs) to facial detection and recognition in wearable computing systems. I explored the synergistic use of high-speed algorithms with CPU-intensive, high-performance techniques for realtime image processing on moderate-resource hardware. By utilizing one system to detect faces and a second to normalize and verify detections prior to recognition, better detection accuracy was obtained than either system could achieve alone, and better speed than applying both methods to each full input frame and correlating their results. Finally, I considered applications to highly-parallelized commodity GPGPU hardware for extreme performance improvements on fixed computing systems.
Binghamton University, NY
NSF REU Research Fellow, Summer 2008
During the summer of 2008, I spent ten weeks participating in an REU at Binghamton University, working on a project called MiNT. The objective of the project is to continue previous work by SUNY Stony Brook to create a physical, small-scale test environment to simulate wireless network scenarios. A tool called Network Simulator (NS2) currently exists, but since it performs all simulation solely in hardware, it cannot accurately reproduce all of the possibly fault modes possible in a real wireless situation, including multipath interference, obstacles, and hardware failure. I designed a hardware platform upon which to implement a hybrid NS2 using commercial iRobot Create robots and x86-based embedded computers with multiple wireless interfaces, then helped to build the hybridized NS2 software. Among the challenges we encountered were the problem of correcting for inaccuracies in the robots' movements (localization), finding hardware drawing sufficiently low power to run entirely off the robot’s own battery to simplify the design, and properly controlling the transmission power level of each robot to maintain the small-scale quality of the testbed. Near the end of the program, I began to do preliminary work with virtual machines, specifically optimizing the Xen hypervisor scheduler for I/O-intensive applications without compromising scheduling fairness or incurring any significant overhead.
Stevens Institute of Technology, NJ
NSF REU Research Fellow, Summer 2007
During the summer of 2007, I spent nine weeks working as an REU participant at Stevens Institute of Technology in Hoboken, NJ on using image processing methods to detect cancerous cells in microscope images. Specifically, I wrote and tested an application to identify and segment cells in microscope images, robust to staining method, magnification, and other factors. I also implemented code to dynamically determine the density of cells in images as a method of identifying cancerous or precancerous tissue regions. Finally, I gave a lecture on current image processing methods and presented my research as a logical extension of these techniques. My full project logs, documentation, and code can be found here.
Published Papers and Theses
C. Mitchell, L. Nelson, K. Montgomery, S. Sen, J. Li, “Balancing CPU and Network in the Cell Distributed B-Tree Store”, in Proc. of Usenix ATC 2016, Denver, Colorado, June 22-24, 2016.
C. Mitchell, “Building Fast, CPU-Efficient Distributed Systems on Ultra-Low Latency, RDMA-Capable Networks”, Ph.D. thesis, New York University, New York, defended August 25, 2015, 110pp.
Q. Chen, Y. Liao, C. Mitchell, J. Li, Z. Xiao, “Building Scalable Multimedia Search Engine Using Infiniband”, in Proc. of Usenix HotCloud 2014, Philadelphia, Pennsylvania, June 17-18, 2014.
C. Mitchell, Y. Geng, J. Li, “Using One-Sided RDMA Reads to Build a Fast, CPU-Efficient Key-Value Store”, in Proc. of Usenix ATC 2013, San Jose, California, June 26-28, 2013.
C. Mitchell, R. Power, J. Li, “Oolong: Distributed Applications Made Easy”, in Proc. of APSys 2012, Seoul, South Korea, July 23-24, 2012.
C. Mitchell, R. Power, J. Li, “Oolong: Programming Asynchronous Distributed Applications with Triggers” (Poster), in Proc. of SOSP 2011, Cascais, Portugal, October 23-26, 2011.
C. Mitchell, “Applications of Convolutional Neural Networks to Facial Detection and Recognition for Augmented Reality and Wearable Computing,” Master’s thesis, Cooper Union, New York, defended May 3, 2010, 148pp.
K. Chatterjee, M. Sandora, C. Mitchell, D. Stefan, D. Nummey, and J. Poggie, “A New Software and Hardware Parallelized Floating Random-Walk Algorithm for the Modified Helmholtz Equation Subject to Neumann and Mixed Boundary Conditions,” Applied Computational Electromagnetics Society Journal, March 2010.
D. Stefan, C. Mitchell, C. G. Almenar, “Trojan Attacks for Compromising Cryptographic Security in FPGA Encryption Systems,” in Cyber Security Awareness Week, New York, Oct. 2008, 14pp.
V. Munishwar, S. Singh, X. Wang, C. Mitchell, K. Gopalan, N. Abu-Ghazaleh, “On the Accuracy of RFID-based Localization in a Mobile Wireless Network Testbed,” in Proc. Of PerCom ’09, Galveston, Texas, March 9-13, 2009, 6pp.
V. Munishwar, S. Singh, C. Mitchell, X. Wang, K. Gopalan, N. B. Abu-Ghazaleh, “RFID Based Localization for a Miniaturized Robotic Platform for Wireless Protocols Evaluation” (Demo), in Proc. of 7th IEEE PerCom Workshop on Pervasive Wireless Networking (PerCom 2009)
C. Mitchell, V. Munishwar, S. Singh, X. Wang, K. Gopalan, and N. Abu-Ghazaleh, “Testbed Design and Localization in MiNT-2: A Miniaturized Robotic Platform for Wireless Protocol Development and Emulation,” in Proc. of ComsNets09, Bangalore, India, January 5-10, 2009, 10pp.
D. Stefan and C. Mitchell, “On the Parallelization of the MICKEY-128 2.0 Stream Cipher,” In Proc. of the ECRYPT State of the Art of Stream Ciphers, Lausanne, Switzerland, Feb. 2008, 12pp.
C. Mitchell, Using the TI-84 Plus, Second Edition, Manning Publications, July 2015, 325pp.
C. Mitchell, Using the TI-83 Plus/TI-84 Plus, Manning Publications, July 2013, 300pp.
C. Mitchell, Programming the TI-83 Plus/TI-84 Plus, Manning Publications, September 2012, 352pp.
C. Mitchell, “Self-Teaching a Love of STEM: A Personal Tale”, Technophilic Magazine, McGill University, Fall 2012.