ACOTES project: Advanced compiler technologies for embedded streaming

Streaming applications are built of data-driven, computational components, consuming and producing unbounded data streams. Streaming oriented systems have become dominant in a wide range of domains, including embedded applications and DSPs. However, programming efficiently for streaming architecture...

Descripción completa

Detalles Bibliográficos
Autores: Duranton, M., Munk, H., Ayguadé Parra, Eduard|||0000-0002-5146-103X, Bastoul, C., Carpenter, Paul Matthew, Chamski, Z., Cohen, A., Cornero, M., Dumont, P., Pop, S., Pop, A., Ornstein, A., Nuzman, D., Miranda, C., Martorell Bofill, Xavier|||0000-0002-0417-3430, Lindwer, M., Ladelsky, R., Ferrer, Roger, Fellahi, M., Pouchet, L. N, Zaks, A., Shvadron, U., Trifunovic, K., Rohou, E., Rosen, I., Ramírez Bellido, Alejandro, Ródenas, D.
Tipo de recurso: artículo
Fecha de publicación:2011
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/13576
Acceso en línea:https://hdl.handle.net/2117/13576
https://dx.doi.org/10.1007/s10766-010-0132-7
Access Level:acceso abierto
Palabra clave:Parallel computers
Compilers (Computer programs)
Compiladors (Programes d'ordinador)
Programació en paral·lel (Informàtica)
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors::Arquitectures paral·leles
Descripción
Sumario:Streaming applications are built of data-driven, computational components, consuming and producing unbounded data streams. Streaming oriented systems have become dominant in a wide range of domains, including embedded applications and DSPs. However, programming efficiently for streaming architectures is a challenging task, having to carefully partition the computation and map it to processes in a way that best matches the underlying streaming architecture, taking into account the distributed resources (memory, processing, real-time requirements) and communication overheads (processing and delay). These challenges have led to a number of suggested solutions, whose goal is to improve the programmer’s productivity in developing applications that process massive streams of data on programmable, parallel embedded architectures. StreamIt is one such example. Another more recent approach is that developed by the ACOTES project (Advanced Compiler Technologies for Embedded Streaming). The ACOTES approach for streaming applications consists of compiler-assisted mapping of streaming tasks to highly parallel systems in order to maximize cost-effectiveness, both in terms of energy and in terms of design effort. The analysis and transformation techniques automate large parts of the partitioning and mapping process, based on the properties of the application domain, on the quantitative information about the target systems, and on programmer directives. This paper presents the outcomes of the ACOTES project, a 3-year collaborative work of industrial (NXP, ST, IBM, Silicon Hive, NOKIA) and academic (UPC, INRIA, MINES ParisTech) partners, and advocates the use of Advanced Compiler Technologies that we developed to support Embedded Streaming.