Many modern software applications involve processing, analyzing, and reacting to potentially large volumes of streaming data. Examples of such applications include monitoring systems, decision support systems, financial analysis tools and traffic control systems.
Designing and implementing these applications is difficult. Indeed, the streaming nature of the data demands for efficient algorithms, techniques and infrastructures to analyze the incoming information on the fly and extract relevant knowledge from it.
During this talk, I will present my experience in this area. I will first focus on the design of a language explicitly conceived to identify situations of interest from large streams of low level data. Next, I will discuss the implementation of efficient processing algorithms for streaming data that can exploit modern many-core architectures, such as multi-core CPUs and
programmable GPUs, to reduce the processing latency and increase the overall throughput of the system. Finally, I will present the open issues and challenges in the field of stream processing and draw a roadmap for future research in the area.
Alessandro Margara is an assistant professor at Politecnico di Milano. His research interests focus on middleware solutions to ease the design and development of complex distributed systems, with a special emphasis on event stream processing and reactive systems. His work includes the definition of languages for event and stream processing and the implementation of parallel and distributed algorithms to efficiently support such languages. Alessandro obtained his PhD Cum Laude from Politecnico di Milano. He has been a postdoctoral researcher at Vrije Universiteit Amsterdam and at Università della Svizzera italiana, Lugano. Some of Alessandro's recent publications appear in ACM Computing Surveys, IEEE TSE, IEEE TPDS, ICSE, ICDCS, DEBS, EuroSys, Middleware.