My name is Nicola. I’m a determined hacker, a unix hacker by choice and attitude. I have been an enthusiastic linux programmer since 1995. I have developed opensource applications using i386 AT&T assembler, GNU C and recently C++ languages solely for fun. I believe in the opensource philosophy, I am debian addicted and more importantly I love snowboarding.
After the masters in telecommunication engineering I worked for some years at the department of Information Engineering of the University of Pisa (Italy) as research assistant. My research activity focused the performance evaluation and optimization of device drivers of network adapters.
During that time I developed brute, actually the fastest and the most reliable traffic generator available for the linux operating system. Brute outclasses paired software in terms of performance and accuracy, providing users with a set of API that eases the development and enables the customization of generic traffic models. Brute was presented at SPECT05, an international SCS conference held in Philadelphia.
Another research project I worked on is a linux LKM intended to handle classifiers and schedulers at link layer of the 802.11 wireless protocol. L2FW, the name of the framework, is built on the top of the HostAP driver with the aim to improve the performance of Prims2 adapters when running as AP. On the top of L2FW with the guidance of Rosario Garroppo and Stefano Lucetti I then developed a channel-aware scheduler that, in conjunction with a mac classifier, avoids the performance anomaly of 802.11[bg] wireless networks.
Among other projects, it’s worth mentioning a linux interrupt-handler hack (do_IRQ) — a work I sketched with my colleague Francesco Oppedisano. The hack aims at implementing a refurbished version of NAPI that we could name New NAPI (NNAPI). NNAPI aims to fill the gap left about the capability to timestamp packets in gigabit ethernet device drivers (tests were conducted with intel epro1000 ethernet adapter). From the traffic characterization point of view, in fact, the accuracy of NAPI timestamping is not adequate and needs to be improved. NNAPI enhances the accuracy of timestamps by three order of magnitude — cloned timestamps pass from some thousand to a few.
A uber-lightweight interrupt handler that sports a minor latency reduced roughly to that of the interrupt PIC replaces the interrupt mitigation scheme. Unfortunately, quite predictable, the high precision of timestamping is achived to a detriment of performance in terms of packets captured per second. The project needs to be refined a bit. Hopefully the NNAPI source code will be released someday.
At the present moment I am employed at a company operating in the information and communication technology sector. I left the academic world last January.