  With the surge of multi- and manycores, much research has focused on
algorithms for mapping and scheduling on these complex platforms. Large classes
of these algorithms face scalability problems. This is why diverse methods are
commonly used for reducing the search space. While most such approaches
leverage the inherent symmetry of architectures and applications, they do it in
a problem-specific and intuitive way. However, intuitive approaches become
impractical with growing hardware complexity, like Network-on-Chip interconnect
or heterogeneous cores. In this paper, we present a formal framework that can
determine the inherent symmetry of architectures and applications
algorithmically and leverage these for problems in software synthesis. Our
approach is based on the mathematical theory of groups and a generalization
called inverse semigroups. We evaluate our approach in two state-of-the-art
mapping frameworks. Even for the platforms with a handful of cores of today and
moderate-size benchmarks, our approach consistently yields reductions of the
overall execution time of algorithms, accelerating them by a factor up to 10 in
our experiments, or improving the quality of the results.
