Homepage of Lorenzo De Carli
Hi! My name is Lorenzo De Carli and I am a fifth-year graduate student in Computer Sciences at the University of Wisconsin-Madison. In this page you can find my resume, a summary of my education and my research work, and some software tools I developed.
Resume
Get a copy of my resume: [PDF].
Education
- 2008-present: Ongoing PhD in Computer Sciences at UW-Madison, Madison, WI, USA.
Advisors: Professor Somesh Jha, Professor Karu Sankaralingam.
- 2005-2007: MSc in Computer Engineering (Software and Multimedia) at Politecnico di Torino, Turin, Italy.
Thesis: "Combined use of multiple network connections in the same device".
Tutors: Professor Fulvio Risso, Professor Mario Baldi.
- 2001-2005: BSc in Computer Engineering at Politecnico di Torino, Turin, Italy.
Thesis: "Development of a VTK viewer based on the QT library".
Tutor: Professor Andrea Sanna.
Research
My inclinations, together with the accidents of life and the research interests of my tutors, made me work on the following topics:
1. Flexible lookup module for network devices.
I work as a research assistant in the UW-Madison CS department with professor Somesh Jha and professor Karu Sankaralingam. I am currently working on a flexible lookup module, designed to be employed in network devices. The goal of our research is to create an "intelligent memory" that can perform lookups at hardware speed while being easily reconfigurable to support different data structures (hash tables, trees) and protocols. Preliminary results of this work were the subject of a paper (Flexible Lookup Modules for Rapid Deployment of New Protocols in High-speed Routers) presented at the SIGCOMM 2009 conference. A detailed description of the PLUG hardware architecture was presented at PACT 2010, and PLUG-based solution for efficient packet classification was presented at ANCS 2011.
2. Fingerprinting network problems.
During my internship at Microsoft Research India, I contributed to the development of a tool - Deja vu - for identifying and classifying network problems. The principle is to generate simple, human-readable signatures by extracting a series of features from network traces. Deja Vu then uses a novel learning algorithm to categorize problem signatures in clusters. The advantage of such approach is that signatures can be effectively used to map failures to known problems (existing clusters), and to detect the occurrence of new problems (new clusters). Also, the signatures - being simple and human readable -can be used by experts to diagnose problems instead of time-consuming network capture analysis. Deja Vu was presented at the CoNEXT 2011 conference.
3. Parallel data transfers.
For my master thesis, I participated in the development of a session-layer protocol - called PATTHEL - that aggregates multiple TCP connections in a single logical channel. PATTHEL is similar in spirit to SCTP but it is implemented on top of TCP, which makes it easier to deploy and more flexible. For example, it can be employed to aggregate the throughput of multiple NICs, but also to spread the load among multiple low-bandwidth relays in a P2P network. PATTHEL was presented at the ISCC 2009 conference.
Publications
- E. Harris, S. Wasmundt, L. De Carli, K. Sankaralingam, C. Estan - LEAP: Latency- Energy- and Area-optimized Lookup Pipeline, ANCS 2012.
- R. Bhagwan, L. De Carli, V. N. Padmanabhan, K. P. N. Puttaswamy - Deja Vu: Fingerprinting Network Problems, CoNEXT 2011.
- N. Vaish, T. Kooburat, L. De Carli, K. Sankaralingam, C. Estan - Experiences in Co-designing a Packet Classification Algorithm and a Flexible Hardware Platform, ANCS 2011.
- A. Kumar, L. De Carli, S. J. Kim, M. de Kruijf, K. Sankaralingam, C. Estan, S. Jha - Design and Implementation of the PLUG Architecture for Programmable and Efficient Network Lookups, PACT 2010.
- L. De Carli, Y. Pan, A. Kumar, C. Estan, K. Sankaralingam - Flexible Lookup Modules for Rapid Deployment of New Protocols in High-speed Routers, SIGCOMM 2009.
- A. Baldini, L. De Carli, F. Risso - Increasing Performance of TCP Data Transfers Through Multiple Parallel Connections, ISCC 2009.
Software tools developed by me
Here is a list of tools I developed for course projects. For most of them, the source code is available. Note that code is provided "as is" - if you want to compile it be warned that, depending on your operating system/build environment, some tweaking may be required.
- PLUG framework, an API for simulating the execution of network lookups on communication-exposed processors. Developed as part of the research work at UW-Madison. Written in C++.
- OBR library, a set of Matlab scripts for object-based rendering. OBR consists in rendering a source picture using a library of objects, creating an highly abstracted version of the original image. A full description of the topic, together with the Matlab source code, can be found here.
- PATTHEL, a socket parallelization library, allowing to transmit a single data flow over multiple parallel network paths to improve the overall bandwidth. Written in C++.
- RemoteDK, a software suite that allows to capture screen and audio on a computer, send them encoded on a network and view them on a remote host. Written in C#. Get the source code here.
- Dccp, a 3D pinball game based on the OpenGL graphic library and the Newton physics library. Written in C++. Get the source code here.
- DM_QT, a viewer for Matlab-generated 3D meshes, based on the VTK visualization library and the QT toolkit. Written in C++.
- Knock, a software suite demonstrating the technique of port-knocking for stealthy remote authentication. Written in C. Get the source code here.
Contact me:
Office: Computer Sciences & Statistics building, room 7378
Phone (office): +1 608 262 6611
E-mail: my first name at cs dot wisc dot edu
Why does this page look like it was created in 1997?
Because I am lazy. Sooner or later I may come up with something fancier :-).
Last update: Oct 23 2012.