# Improving Symbolic System-Level Synthesis by Solver Coordination and Domain-Specific Heuristics
## 8 Experimental Results
### Experimental Setup  
All experiments where performed on a workstation with a hexa-core Intel Xeon CPU E5-1650v2 at 3.50 GHz running Ubuntu Linux as operating system. The total amount of accessible RAM in our experiments was limited to 62 GB (note that the average RAM consumption over all synthesis runs within our experiments was 6.45 GB.) using the tool benchexec [40]. To decide the binding and routing, we used clingo (version 5.2.2) [16] which combines the answer set solver clasp and the grounder gringo. As configuration of the answer set solver we used an automatic configuration (-configuration=auto) and also leveraged the parallel solving capabilities (-parallel-mode=6,split) where the search for answer sets is split onto the available six cores of our benchmarking workstation. In the coordinated approach, the optimization strategy was set to unsatisfiable core optimization strategy using (-opt-strategy=usc,4). Since this optimization strategy cannot be used together with domain-specific heuristics, we used a branch and bound optimization strategy (-opt-strategy=bb,2) when necessary. Both optimization strategies where selected based on the results of initial tests with the different optimization strategies that the used answer set solver has to offer. For the coordinated approach, we further limited the optimization time for the answer set solver to 10 s. Note that this limited time is always additional for the optimization of a found initial solution for the binding and routing problem. After this time limit for \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Set** & **Applications** & **Tasks** & **Messages** & **Packets** \\ \hline
3 \(\times\) 3-50 & \(9.5\pm 1.3\) & \(129.9\pm 5.4\) & \(163.6\pm 8.0\) & \(1641.2\pm 97.4\) \\
3 \(\times\) 3-60 & \(11.2\pm 1.1\) & \(156.0\pm 4.3\) & \(198.8\pm 7.6\) & \(1980.8\pm 75.8\) \\
3 \(\times\) 3-70 & \(13.3\pm 1.2\) & \(179.5\pm 4.2\) & \(228.8\pm 7.2\) & \(2293.0\pm 101.0\) \\
4 \(\times\) 4-50 & \(17.2\pm 1.9\) & \(227.5\pm 6.1\) & \(286.3\pm 8.7\) & \(2853.6\pm 102.8\) \\
4 \(\times\) 4-60 & \(19.6\pm 1.4\) & \(272.8\pm 7.2\) & \(346.3\pm 11.7\) & \(3467.9\pm 118.5\) \\
4 \(\times\) 4-70 & \(23.8\pm 1.7\) & \(319.9\pm 7.5\) & \(405.1\pm 13.5\) & \(4046.6\pm 135.6\) \\
5 \(\times\) 5-50 & \(26.9\pm 2.1\) & \(359.9\pm 6.8\) & \(453.5\pm 12.5\) & \(4516.1\pm 140.8\) \\
5 \(\times\) 5-60 & \(31.8\pm 3.1\) & \(433.4\pm 10.4\) & \(548.4\pm 16.4\) & \(5491.0\pm 170.8\) \\
5 \(\times\) 5-70 & \(37.1\pm 2.1\) & \(501.0\pm 9.0\) & \(634.2\pm 12.0\) & \(6339.4\pm 124.7\) \\
6 \(\times\) 6-50 & \(38.8\pm 2.7\) & \(515.1\pm 11.3\) & \(649.8\pm 15.3\) & \(6488.0\pm 163.2\) \\
6 \(\times\) 6-60 & \(46.1\pm 2.8\) & \(620.2\pm 10.7\) & \(788.1\pm 15.0\) & \(7888.8\pm 180.0\) \\
6 \(\times\) 6-70 & \(53.4\pm 2.8\) & \(723.6\pm 13.1\) & \(916.2\pm 19.5\) & \(9118.6\pm 174.2\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Overview instances: average numbers with standard deviation of 25 instances per system specification. optimization, the currently best solution is analyzed in the background theory. The answer set solver might also stop earlier, in this case it has proved that it found the best solution w.r.t. the prioritization of the optimization statements (cf. Section 5). In the background theory, in order to test the limits of the _classical_ uncoordinated approach to some extend independent of a background theory solver configuration, we made use of a portfolio solving approach. Here, any occurring scheduling problem is tried to be solved by the two SMT-solvers \(\mathtt{yices}\) (version 2.5.4) [41] and 23 (version 4.6.0) [42] in different configurations. Note that related work has shown that often SMT-solvers perform better in deciding the time-triggered scheduling problems considered in this paper compared to integer linear programming (ILP) approaches [31].