A cycle cover of a bridgeless graph G is a collection of simple cycles in G such that each edge e appears on at least one cycle. The common objective in cycle cover computation is to minimize the total lengths of all cycles. Motivated by applications to distributed computation, we introduce the notion of low-congestion cycle covers, in which all cycles in the cycle collection are both short and nearly edge-disjoint. Formally, a (d, c)-cycle cover of a graph G is a collection of cycles in G in which each cycle is of length at most d and each edge participates in at least one cycle and at most c cycles.A-priori, it is not clear that cycle covers that enjoy both a small overlap and a short cycle length even exist, nor if it is possible to efficiently find them. Perhaps quite surprisingly, we prove the following: Every bridgeless graph of diameter D admits a (d, c)-cycle cover where d =Õ(D) and c =Õ(1). That is, the edges of G can be covered by cycles such that each cycle is of length at most O(D) and each edge participates in at most O(1) cycles. These parameters are existentially tight up to polylogarithmic terms.Furthermore, we show how to extend our result to achieve universally optimal cycle covers. Let C e is the length of the shortest cycle that covers e, and let OPT(G) = max e∈G C e . We show that every bridgeless graph admits a (d, c)-cycle cover where d =Õ(OPT(G)) and c =Õ(1).We demonstrate the usefulness of low congestion cycle covers in different settings of resilient computation. For instance, we consider a Byzantine fault model where in each round, the adversary chooses a single message and corrupt in an arbitrarily manner. We provide a compiler that turns any r-round distributed algorithm for a graph G with diameter D, into an equivalent fault tolerant algorithm with r · poly(D) rounds.Theorem 2 (Optimal Cycle Cover, Informal). There exists a construction of (nearly) universally optimal (d, c)-cycle covers with d = O(OPT(G)) and c = O(1), where OPT(G) is the best possible cycle length (i.e., even without the congestion constraint).In fact, our algorithm can be made nearly optimal with respect to each individual edge. That is, we can construct a cycle cover that covers each edge e by a cycle whose length is O(|C e |) where C e is the shortest cycle in G that goes through e. The congestion for any edge remains O(1).Turning to the distributed setting, we also provide a construction of cycle covers for the family of minor-closed graphs. Our construction is (nearly) optimal in terms of both its run-time and in the parameters of the cycle cover. Minor-closed graphs have recently attracted a lot of attention in the setting of distributed network optimization [GH16, HIZ16a, GP17, HLZ18, LMR18].Theorem 3 (Optimal Cycle Cover Construction for Minor Close Graphs, Informal). For the family of minor closed graphs, there exists an O(OPT(G))-round algorithm that constructs (d, c)-cycle cover with d = O(OPT(G)), c = O(1), where OPT(G) is equal to the best possible cycle length (i.e., even without the constraint on the...