  Scheduling in Asymmetric Multicore Processors (AMP), a special case of
Heterogeneous Multiprocessors, is a widely studied topic. The scheduling
techniques which are mostly runtime do not usually consider parallel
programming pattern used in parallel programming frameworks like OpenMP. On the
other hand, current compilers for these parallel programming platforms are
hardware oblivious which prevent any compile-time optimization for platforms
like big.LITTLE and has to completely rely on runtime optimization. In this
paper, we propose a hardware-aware Compiler Enhanced Scheduling (CES) where the
common compiler transformations are coupled with compiler added scheduling
commands to take advantage of the hardware asymmetry and improve the runtime
efficiency. We implement a compiler for OpenMP and demonstrate its efficiency
in Samsung Exynos with big.LITTLE architecture. On an average, we see 18%
reduction in runtime and 14% reduction in energy consumption in standard NPB
and FSU benchmarks with CES across multiple frequencies and core configurations
in big.LITTLE.
