Solving Graph Partitioning Problems Arising in Tagless Cache Management

  • Sandro Bartolini
  • Iacopo Casini
  • Paolo Detti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8596)


The instruction cache is a critical component in any microprocessor. It must have high performance to enable fetching of instructions on every cycle. In this paper, we consider an optimization problem arising in the management of a new hybrid hardware and linker-assisted approach for cache memory management. A graph partitioning formulation is presented and different ILP formulations are proposed, obtained by strengthening and/or relaxing constraints and by reducing the number of integer variables. The formulations are tested on large benchmarks (with thousands of nodes and edges) arising from real applications.


Cache memory Graph partitioning Integer programming 



The authors would like to thank Tim M. Jones and Jonas Maebe for the discussion about the tagless cache operation and for the preparation of the input data used in this work. This work was partially supported by IT FIRB PHOTONICA project (RBFR08LE6V).


  1. 1.
    Alfieri, A., Nicosia, G., Pacifici, A.: Exact algorithms for a discrete metric labeling problem. Discrete Optim. 3(3), 181–194 (2006)CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Alpert, C.J., Kahng, A.B.: Recent directions in netlist partitioning: a survey. Integr. VLSI J. 19, 1–81 (1995)CrossRefzbMATHGoogle Scholar
  3. 3.
    Grotschel, M., Wakabayashi, Y.: A cutting plane algorithm for a clustering problem. Math. Program. 45(1), 59–96 (1989)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Ferreira, C.E., Martin, A., de Souza, C.C., Weismantel, R., Wolsey, L.A.: Formulations and valid inequalities for the node capacitated graph partitioning problem. Math. Program. 74(3), 247–266 (1996)CrossRefzbMATHGoogle Scholar
  5. 5.
    Ferreira, C.E., Martin, A., de Souza, C.C., Weismantel, R., Wolsey, L.A.: The node capacitated graph partitioning problem: a computational study. Math. Prog. Series B 81, 229–256 (1998)zbMATHGoogle Scholar
  6. 6.
    Garey, M.R., Johnson, D.S.: Computers and Intractability - A Guide to the Theory of NP-Completeness. Freeman and co., New York (1979)zbMATHGoogle Scholar
  7. 7.
    Holm, S., Sorensen, M.M.: The optimal graph partitioning problem. OR Spectrum 15(1), 1–8 (1993)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Jones, T.M., Bartolini, S., Maebe, J., Chanet, D.: Link-time optimization for power efficiency in a tagless instruction cache. In: 2011 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 32–41 (2011)Google Scholar
  9. 9.
    Mehrotra, A., Trick, M.A.: Cliques and clustering: a combinatorial approach. Oper. Res. Lett. 22, 1–12 (1998)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Nossack, J., Pesch, E.: A branch-and-bound algorithm for the acyclic problem. Comput. OR 41, 174–184 (2014)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Wulf, W.A., McKee, S.A.: Hitting the memory wall: Implications of the obvious. SIGARCH Comput. Archit. News 23(1), 20–24 (1995)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Dipartimento di Ingegneria dell’Informazione Scienze MatematicheUniversity of SienaSienaItaly

Personalised recommendations