POLCA: Programming Large Scale Heterogeneous Infrastructures
POLCA explicitly addresses the programmability concerns of both embedded and high performance computing. Both domains have generated strongly focused approaches for solving their specific problems that are now confronted with the increasing need for parallelism even in Embedded Systems and the need for addressing non-functional criteria in High Performance Computing. Rather than improving both domains separately, POLCA takes a bold step forward by proposing a hybrid programming model that decisively increases programming efficiency in both areas and enables realisation of multi domain use cases.
This model thereby allows efficient parallelisation and distribution of the application code across a highly heterogeneous infrastructure, not through automagic methods, but through exploitation of fundamental mathematical axioms behind the execution logic. The model is strongly oriented towards mathematical application cases of both domains, ranging from sensor evaluation, over monitoring-control-loops to complex simulation and modelling. POLCA is thereby explicitly geared towards exploitation of reconfigurable hardware to make use of their high efficiency under the right usage criteria. In principal it even allows for exploitation of run-time reconfigurations, given an application with a suitable profile.
Thus, POLCA is strongly coupled with a performance evaluation toolchain that supports the right compilation and deployment, and thus execution configuration. To maintain controllability and ensure proper, reliable execution of the non-functional criteria, POLCA can generate stand-alone code that does not require support through virtualisation technologies, but addresses the specifics of the destination platform directly.
The project builds up on existing collaboration between experts from embedded computing and high performance computing, to combine complementary expertise from the two domains into an accessible and productive programming model of the future.
Colin W. Glass
Höchstleistungsrechenzentrum Universität Stuttgart
Nobelstraße 19, 70569 Stuttgart, Germany