Optimal coded caching in heterogeneous networks with uncoded prefetching Emanuele Parrinello, Ay¸ se Ünsal and Petros Elia Abstract— In the context of caching in heterogeneous net- works, the work explores the setting where a multi-antenna transmitter (N0 antennas), broadcasts to K receiving users, each assisted by one of Λ K helper nodes serving as limited-sized caches. Our aim is to identify the limits of coded caching when there are fewer caches than users (Λ <K), the interplay between having fewer caches but more transmit antennas, and the impact of non-uniformity where some caches serve more users than others. For a broad range of parameters, under the assumption of uncoded cache placement, the work derives the exact optimal worst-case delivery time (or equivalently, the optimal sum degrees of freedom (DoF)), as a function of the cache sizes and the user-to-cache association profile. This is achieved by presenting an information-theoretic outer bound based on index coding that adapts to user-to-cache association non-uniformities, and an optimal caching-and-delivery scheme. The result reveals the effect of these non-uniformities, and also reveals a powerful effect of introducing a modest number of antennas and a modest number of helper nodes; when Λ < K/N0, adding a single degree of cache-redundancy yields a caching-gain increase equal to N0, and similarly, adding antennas has a multiplicative DoF impact where for example introducing a second transmit antenna can double the DoF. I. I NTRODUCTION A recent information theoretic exposition of the cache- aided communication problem [2], has revealed the potential of caching in allowing for the elusive scaling of networks, where a limited amount of (bandwidth and time) resources can conceivably suffice to serve an ever increasing number of users. This exposition in [2] considered a single-stream broad- cast channel (BC) scenario where a single-antenna transmitter has access to a library of N files, and serves (via a single bottleneck link) K receivers, each having a cache of size equal to the size of M files. In a normalized setting where the link has capacity 1 file per unit of time, the work in [2] showed that any set of K simultaneous requests can be served with normalized delay (worst-case completion time) which is at most T = K(1γ) 1+ where γ M N denotes the normalized cache size. This implied an ability to treat +1 users at a time; a number that is often referred to as the cache-aided sum degrees of freedom (DoF) d Σ K(1γ) T , corresponding to a caching gain of additional served users due to caching. For this same single-bottleneck setting, this performance was shown to be approximately optimal (cf. [2]), and under the basic assumption of uncoded cache placement where caches store uncoded content from the library, it was shown to be exactly optimal (cf. [3], [4]). This coded caching was The authors are with the Communication Systems Department at EU- RECOM, Sophia Antipolis, 06410, France (email: parrinel@eurecom.fr, un- sal@eurecom.fr, elia@eurecom.fr). This work was supported by the European Research Council under the EU Horizon 2020 research and innovation program / ERC grant agreement no. 725929. Since its acceptance, this work has been extended and improved in its final version [1]. adapted for a variety of basic broadcast settings that include uneven topologies [5], the erasure channel [6], [7], the MISO BC with fading [8], see also [9]–[12]. Cache-aided heterogeneous networks: A next step was to explore coded caching in the context of more involved topologies, that better capture aspects of wireless networks. Of particular interest are the so called heterogeneous net- works where communication between the base station and the receiving nodes, takes place in the presence of helper nodes which can now serve as caches. This heterogeneous topology nicely captures an evolution into denser networks where many wireless access points work in conjunction with bigger base stations, in order to better handle interference and (when storage of data is allowed) in order to alleviate the backhaul load by replacing backhaul capacity with storage capacity at the communicating nodes. The use of caching in such networks was famously explored in the Femtocaching work in [14], where wireless receivers are assisted by helper nodes of a limited cache size, whose main role was to bring content closer to the users. A transition to coded caching can be found in [15] which considered a similar heterogeneous network, where one receiving user can have access to a main base station (server) as well as to multiple access points (multiple helper caches). In this context, under mostly a uniform user-to-cache association, [15] proposes a coded caching scheme which is shown to perform to within a certain constant factor from the optimal. This uniform setting is addressed also in [16], again for the single antenna case. Notation: For n a positive integer, we will use [n] {1, 2, ..., n}, and we will use 2 [n] to denote the power set of [n]. The expressions α|β denote that integer α divides integer β. We will use P (n, k) n! (nk)! and ( n k ) n! (nk)!k! . If A is a set, then |A| will denote its cardinality. N will represent the natural numbers. We will use Conv(f (i)) to represent the lower convex envelope of the points {(i, f (i))|i [n] ∪{0}} for some n N. For n N, we will use S n to denote the symmetric group of all permutations of [n]. To simplify notation, we will also use such permutations π S n on vectors v R n , where π(v) will now represent the action of the permutation matrix defined by π, meaning that the first element of π(v) is v π(1) (the π(1) entry of v), the second is v π(2) , and so on. π s (L) will denote the sorted version of L in descending order. II. SYSTEM MODEL In this work, we consider a basic broadcast configuration with a transmitting server having N 0 transmitting antennas and access to a library of N files W 1 , ..., W N of total size n[N] |W n | = N units of ‘file’, where this transmitter is connected via a broadcast link to K receiving users and to Λ K helper nodes that will serve as caches which store content from the library. The communication process is split into a) the cache-placement phase, b) the user-to-cache