GrPPI: A Generic Parallel Pattern Interface for Stream and Data Processing

Next Avalon working group will be tomorrow (3/10/2016) at 15h in amphi L. Dr. Manuel F. Dolz, currently visiting us from Madrid, will be talking about his work.

GrPPI: A Generic Parallel Pattern Interface for Stream and Data Processing

Current parallel programming frameworks aid developers to a great extent in implementing applications that exploit parallel hardware resources. Nevertheless, developers require additional expertise to properly use and tune them to operate efficiently on specific parallel platforms. With the lack of high-level parallel pattern abstractions, we present GrPPI, a generic and reusable parallel pattern interface for both stream processing and data-intensive C++ applications (https://github.com/arcosuc3m/grppi). GrPPI accommodates a layer between developers and existing parallel programming frameworks targeting multi-core processors, such as C++ threads, OpenMP and Intel TBB. To achieve this goal, this interface leverages modern C++ features, metaprogramming techniques, and template-based programming to act as switch among those frameworks. All in all, thanks to its high-level API and compact design, GrPPI allows users to easily expose parallelism and hide away the complexity behind concurrency mechanisms. We evaluate this interface using an image processing use case and demonstrate its benefits from the usability, flexibility, and performance points of view.

WG Hayri Acar: Software development methodology in a Green IT environment

2016-06-07 – Hayri Acar

Title: Software development methodology in a Green IT environment

Speaker: Hayri Acar

Abstract: Writing sustainable, power efficient and green software necessitates understanding the power consumption behavior of a computer program. One of the benefits is the fact that developers, by improving their source code implementations, can optimize power consumption of a software. Existing power consumption models need to be improved by taking into account more components susceptible to consume energy during runtime of an application. In this paper, we first present a detailed classification of previous works on power consumption modelization. Then, we introduce TEEC (Tool to Estimate Energy Consumption) model in order to estimate the power consumed by CPU, memory and disk due to the execution of an application at runtime. The main goal is to guide developers to improve their source code for optimizing energy consumption. TEEC enables determining the part of the code consuming the highest power. This will help to obtain a less energy consuming software with the same functionalities.

PPT: WG_160607_Presentation_ENS