  Consumer-electronics systems are becoming increasingly complex as the number
of integrated applications is growing. Some of these applications have
real-time requirements, while other non-real-time applications only require
good average performance. For cost-efficient design, contemporary platforms
feature an increasing number of cores that share resources, such as memories
and interconnects. However, resource sharing causes contention that must be
resolved by a resource arbiter, such as Time-Division Multiplexing. A key
challenge is to configure this arbiter to satisfy the bandwidth and latency
requirements of the real-time applications, while maximizing the slack capacity
to improve performance of their non-real-time counterparts. As this
configuration problem is NP-hard, a sophisticated automated configuration
method is required to avoid negatively impacting design time.
  The main contributions of this article are: (1) an optimal approach that
takes an existing integer linear programming (ILP) model addressing the problem
and wraps it in a branch-and-price framework to improve scalability. (2) A
faster heuristic algorithm that typically provides near-optimal solutions. (3)
An experimental evaluation that quantitatively compares the branch-and-price
approach to the previously formulated ILP model and the proposed heuristic. (4)
A case study of an HD video and graphics processing system that demonstrates
the practical applicability of the approach.
