Parameterizing simulated annealing for distributing Kahn process networks on multiprocessor SoCs

  • Authors:
  • Heikki Orsila;Emo Salminen;Timo D. Hämäläinen

  • Affiliations:
  • Department of Computer Systems, Tampere University of Technology, Tampere, Finland;Department of Computer Systems, Tampere University of Technology, Tampere, Finland;Department of Computer Systems, Tampere University of Technology, Tampere, Finland

  • Venue:
  • SOC'09 Proceedings of the 11th international conference on System-on-chip
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Mapping an application on Multiprocessor System-on-Chip (MPSoC) is a crucial step in architecture exploration. The problem is to minimize optimization effort and application execution time. Simulated annealing (SA) is a versatile algorithm for hard optimization problems, such as task distribution on MPSoCs. We propose an improved automatic parameter selection method for SA to save optimization effort. The method determines a proper annealing schedule and transition probabilities for SA, which makes the algorithm scalable with respect to application and platform size. Applications are modeled as Kahn Process Networks (KPNs). The method was improved to optimize KPNs and save optimization effort by doing sensitivity analysis for processes. The method is validated by mapping 16 to 256 node KPNs onto an MPSoC. We optimized 150 KPNs for 3 architectures. The method saves over half the optimization time and loses only 0.3% in performance to non-automated SA. Results are compared to non-automated SA, Group migration, random mapping and brute force algorithms. Global optimum solution are obtained by brute force and compared to our heuristics. Global optimum convergence for KPNs has not been reported before. We show that 35% of optimization runs reach within 5% of the global optimum. In one of the selected problems global optimum is reached in as many as 37% of optimization runs. Results show large variations between KPNs generated with different parameters. Cyclic graphs are found to be harder to parallelize than acyclic graphs.