Joint Cache Partition and Job Assignment on Multi-core Processors

  • Avinatan Hassidim
  • Haim Kaplan
  • Omry Tuval
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8037)


Multicore shared cache processors pose a challenge for designers of embedded systems who try to achieve minimal and predictable execution time of workloads consisting of several jobs. To address this challenge the cache is statically partitioned among the cores and the jobs are assigned to the cores so as to minimize the makespan. Several heuristic algorithms have been proposed that jointly decide how to partition the cache among the cores and assign the jobs. We initiate a theoretical study of this problem which we call the joint cache partition and job assignment problem.

By a careful analysis of the possible cache partitions we obtain a constant approximation algorithm for this problem. For some practical special cases we obtain a 2-approximation algorithm, and show how to improve the approximation factor even further by allowing the algorithm to use additional cache. We also study possible improvements that can be obtained by allowing dynamic cache partitions and dynamic job assignments.

We define a natural restriction of the well known scheduling problem on unrelated machines in which machines are ordered by “strength”. We call this restriction the ordered unrelated machines scheduling problem. We show that our joint cache partition and job assignment problem is harder than this scheduling problem. The ordered unrelated machines scheduling problem is of independent interest and we give a polynomial time algorithm for certain natural workloads.


cache partition job assignment 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Lin, J., Lu, Q., Ding, X., Zhang, Z., Zhang, X., Sadayappan, P.: Gaining insights into multicore cache partitioning: Bridging the gap between simulation and real systems. In: HPCA, pp. 367–378 (2008)Google Scholar
  2. 2.
    Molnos, A.M., Cotofana, S.D., Heijligers, M.J.M., van Eijndhoven, J.T.J.: Throughput optimization via cache partitioning for embedded multiprocessors. In: ICSAMOS, pp. 185–192 (2006)Google Scholar
  3. 3.
    Hassidim, A.: Cache replacement policies for multicore processors. In: ICS, pp. 501–509 (2010)Google Scholar
  4. 4.
    López-Ortiz, A., Salinger, A.: Paging for multi-core shared caches. In: ITCS, pp. 113–127. ACM (2012)Google Scholar
  5. 5.
    Liu, T., Li, M., Xue, C.J.: Instruction cache locking for multi-task real-time embedded systems. Real-Time Systems 48, 166–197 (2012)MATHCrossRefGoogle Scholar
  6. 6.
    Liu, T., Zhao, Y., Li, M., Xue, C.J.: Joint task assignment and cache partitioning with cache locking for WCET minimization on MPSoC. J. Parallel Distrib. Comput. 71, 1473–1483 (2011)MATHCrossRefGoogle Scholar
  7. 7.
    Hassidim, A., Kaplan, H., Tuval, O.: Joint cache partition and job assignment on multi-core processors. CoRR abs/1210.4053 (2012)Google Scholar
  8. 8.
    Lenstra, J.K., Shmoys, D.B., Tardos, É.: Approximation algorithms for scheduling unrelated parallel machines. Math. Program. 46, 259–271 (1990)MathSciNetMATHCrossRefGoogle Scholar
  9. 9.
    Hochbaum, D.S., Shmoys, D.B.: A polynomial approximation scheme for scheduling on uniform processors: Using the dual approximation approach. SIAM J. Comput. 17, 539–551 (1988)MathSciNetMATHCrossRefGoogle Scholar
  10. 10.
    Mahadev, N.V.R., Peled, U.N.: Threshold graphs and related topics. Annals of Discrete Mathematics, vol. 56. Elsevier (1995)Google Scholar
  11. 11.
    Chvátal, V., Hammer, P.L.: Set-packing problems and threshold graphs. Technical Report CORR 73-21, Dep. of Combinatorics and Optimization, Waterloo, Ontario (1973)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Avinatan Hassidim
    • 1
  • Haim Kaplan
    • 2
  • Omry Tuval
    • 2
  1. 1.Dept. of Computer ScienceBar Ilan UniversityIsrael
  2. 2.Dept. of Computer ScienceTel-Aviv UniversityIsrael

Personalised recommendations