Advancements in multicore platforms enabled the develop- ment of complex embedded systems incorporating algorithms that were typically executed on high-performance worksta- tions. Although many solutions exist today for supporting software development on multicore platforms, they rarely take timing constraints into account. This work presents a toolchain aimed at guaranteeing real-time constraints into parallel OpenMP code. This toolchain, called SOMA uses code profiling for estimating the multicore requirements and produces a static schedule for a set of parallel tasks. The toolchain is implemented using the source-to-source transla- tion capabilities of CLang. Performance results are provided on a computer vision application
SOMA: An OpenMP Toolchain For Multicore Partitioning
RUFFALDI, EMANUELE;DABISIAS, Giacomo;BRIZZI, FILIPPO;BUTTAZZO, Giorgio Carlo
2016-01-01
Abstract
Advancements in multicore platforms enabled the develop- ment of complex embedded systems incorporating algorithms that were typically executed on high-performance worksta- tions. Although many solutions exist today for supporting software development on multicore platforms, they rarely take timing constraints into account. This work presents a toolchain aimed at guaranteeing real-time constraints into parallel OpenMP code. This toolchain, called SOMA uses code profiling for estimating the multicore requirements and produces a static schedule for a set of parallel tasks. The toolchain is implemented using the source-to-source transla- tion capabilities of CLang. Performance results are provided on a computer vision applicationI documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.