<?xml version="1.0" encoding="UTF-8"?>

<modsCollection xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd">
<mods version="3.3">

<genre>article</genre>

<titleInfo><title>Efficient parameterized algorithms for data packing</title></titleInfo>


<note type="publicationStatus">published</note>


<note type="qualityControlled">yes</note>

<name type="personal">
  <namePart type="given">Krishnendu</namePart>
  <namePart type="family">Chatterjee</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">2E5DCA20-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000-0002-4561-241X</description></name>
<name type="personal">
  <namePart type="given">Amir Kafshdar</namePart>
  <namePart type="family">Goharshady</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">391365CE-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000-0003-1702-6584</description></name>
<name type="personal">
  <namePart type="given">Nastaran</namePart>
  <namePart type="family">Okati</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Andreas</namePart>
  <namePart type="family">Pavlogiannis</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">49704004-F248-11E8-B48F-1D18A9856A87</identifier><description xsi:type="identifierDefinition" type="orcid">0000-0002-8943-0722</description></name>







<name type="corporate">
  <namePart></namePart>
  <identifier type="local">KrCh</identifier>
  <role>
    <roleTerm type="text">department</roleTerm>
  </role>
</name>





<name type="corporate">
  <namePart>Efficient Algorithms for Computer Aided Verification</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Rigorous Systems Engineering</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>
<name type="corporate">
  <namePart>Quantitative Graph Games: Theory and Applications</namePart>
  <role><roleTerm type="text">project</roleTerm></role>
</name>



<abstract lang="eng">There is a huge gap between the speeds of modern caches and main memories, and therefore cache misses account for a considerable loss of efficiency in programs. The predominant technique to address this issue has been Data Packing: data elements that are frequently accessed within time proximity are packed into the same cache block, thereby minimizing accesses to the main memory. We consider the algorithmic problem of Data Packing on a two-level memory system. Given a reference sequence R of accesses to data elements, the task is to partition the elements into cache blocks such that the number of cache misses on R is minimized. The problem is notoriously difficult: it is NP-hard even when the cache has size 1, and is hard to approximate for any cache size larger than 4. Therefore, all existing techniques for Data Packing are based on heuristics and lack theoretical guarantees. In this work, we present the first positive theoretical results for Data Packing, along with new and stronger negative results. We consider the problem under the lens of the underlying access hypergraphs, which are hypergraphs of affinities between the data elements, where the order of an access hypergraph corresponds to the size of the affinity group. We study the problem parameterized by the treewidth of access hypergraphs, which is a standard notion in graph theory to measure the closeness of a graph to a tree. Our main results are as follows: We show there is a number q* depending on the cache parameters such that (a) if the access hypergraph of order q* has constant treewidth, then there is a linear-time algorithm for Data Packing; (b)the Data Packing problem remains NP-hard even if the access hypergraph of order q*-1 has constant treewidth. Thus, we establish a fine-grained dichotomy depending on a single parameter, namely, the highest order among access hypegraphs that have constant treewidth; and establish the optimal value q* of this parameter. Finally, we present an experimental evaluation of a prototype implementation of our algorithm. Our results demonstrate that, in practice, access hypergraphs of many commonly-used algorithms have small treewidth. We compare our approach with several state-of-the-art heuristic-based algorithms and show that our algorithm leads to significantly fewer cache-misses. </abstract>

<relatedItem type="constituent">
  <location>
    <url displayLabel="2019_ACM_POPL_Chatterjee.pdf">https://research-explorer.ista.ac.at/download/6380/6381/2019_ACM_POPL_Chatterjee.pdf</url>
  </location>
  <physicalDescription><internetMediaType>application/pdf</internetMediaType></physicalDescription><accessCondition type="restrictionOnAccess">no</accessCondition>
</relatedItem>
<originInfo><publisher>ACM</publisher><dateIssued encoding="w3cdtf">2019</dateIssued>
</originInfo>
<language><languageTerm authority="iso639-2b" type="code">eng</languageTerm>
</language>



<relatedItem type="host"><titleInfo><title>Proceedings of the ACM on Programming Languages</title></titleInfo>
  <identifier type="issn">2475-1421</identifier><identifier type="doi">10.1145/3290366</identifier>
<part><detail type="volume"><number>3</number></detail><detail type="issue"><number>POPL</number></detail>
</part>
</relatedItem>
<relatedItem type="Supplementary material">
  <location>     <url>https://research-explorer.ista.ac.at/record/8934</url>  </location>
</relatedItem>

<extension>
<bibliographicCitation>
<short>K. Chatterjee, A.K. Goharshady, N. Okati, A. Pavlogiannis, Proceedings of the ACM on Programming Languages 3 (2019).</short>
<apa>Chatterjee, K., Goharshady, A. K., Okati, N., &amp;#38; Pavlogiannis, A. (2019). Efficient parameterized algorithms for data packing. &lt;i&gt;Proceedings of the ACM on Programming Languages&lt;/i&gt;. ACM. &lt;a href=&quot;https://doi.org/10.1145/3290366&quot;&gt;https://doi.org/10.1145/3290366&lt;/a&gt;</apa>
<ieee>K. Chatterjee, A. K. Goharshady, N. Okati, and A. Pavlogiannis, “Efficient parameterized algorithms for data packing,” &lt;i&gt;Proceedings of the ACM on Programming Languages&lt;/i&gt;, vol. 3, no. POPL. ACM, 2019.</ieee>
<chicago>Chatterjee, Krishnendu, Amir Kafshdar Goharshady, Nastaran Okati, and Andreas Pavlogiannis. “Efficient Parameterized Algorithms for Data Packing.” &lt;i&gt;Proceedings of the ACM on Programming Languages&lt;/i&gt;. ACM, 2019. &lt;a href=&quot;https://doi.org/10.1145/3290366&quot;&gt;https://doi.org/10.1145/3290366&lt;/a&gt;.</chicago>
<mla>Chatterjee, Krishnendu, et al. “Efficient Parameterized Algorithms for Data Packing.” &lt;i&gt;Proceedings of the ACM on Programming Languages&lt;/i&gt;, vol. 3, no. POPL, 53, ACM, 2019, doi:&lt;a href=&quot;https://doi.org/10.1145/3290366&quot;&gt;10.1145/3290366&lt;/a&gt;.</mla>
<ista>Chatterjee K, Goharshady AK, Okati N, Pavlogiannis A. 2019. Efficient parameterized algorithms for data packing. Proceedings of the ACM on Programming Languages. 3(POPL), 53.</ista>
<ama>Chatterjee K, Goharshady AK, Okati N, Pavlogiannis A. Efficient parameterized algorithms for data packing. &lt;i&gt;Proceedings of the ACM on Programming Languages&lt;/i&gt;. 2019;3(POPL). doi:&lt;a href=&quot;https://doi.org/10.1145/3290366&quot;&gt;10.1145/3290366&lt;/a&gt;</ama>
</bibliographicCitation>
</extension>
<recordInfo><recordIdentifier>6380</recordIdentifier><recordCreationDate encoding="w3cdtf">2019-05-06T12:18:17Z</recordCreationDate><recordChangeDate encoding="w3cdtf">2026-07-15T22:31:02Z</recordChangeDate>
</recordInfo>
</mods>
</modsCollection>
