DECOMPOSER: Functional decomposition and distributed execution of monolithic applications to heterogeneous resources
Creators
Description
In current computing processing infrastructures, optimizing performance and energy efficiency across heterogeneous hardware environments remains a critical challenge. Recently, the growth of different types of hardware architectures has raised challenges but also opportunities. In this paper, we present Decomposer, designed to decompose monolithic applications into modular components, allowing them to be executed across various combinations of hardware architectures, both locally and in distributed settings. Using static and dynamic analysis, Decomposer allows flexible allocation of functions to different targets, optimizing both execution time and energy consumption. Our approach involves the generation of Intermediate Representations (IR) using LLVM and MLIR, allowing the identification of functions for decomposition and their distributed execution on heterogeneous hardware. By expanding execution options, Decomposer provides flexibility in resource allocation without increasing execution times. Furthermore, we observed that such decomposition improves cache utilization, reducing L1 cache misses and L2 references in more than 50%, thus enhancing memory efficiency. This work, although in its initial phase, shows that this approach allows for dynamic workload distribution across multiple targets, offering a more versatile and adaptable solution for application execution, aligning resource usage with operational objectives and environmental considerations. We envisage that the compilers area and its techniques can be very useful for optimizing a set of applications to be decomposed and run non only on the core data-centers but also in the edge 5G network.
Files
4656_Camera-ready_manuscript.pdf
Files
(672.9 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:fe7fa633e844944f36100ca71d91224a
|
672.9 kB | Preview Download |