The major question is finding the right bound for \(f(n,\ell )\) . The trivial lower bound is \(f(n,\ell ) \ge \frac{n}{\ell }\) . On the upper bound of \(f(n,\ell )\) , there are multiple studies where \(\ell \)  is a small constant, or \(n\)  has lots of structure, like being a prime number or maintaining certain divisibility conditions [1]}, [2]}, [3]}. A fully general non-trivial upper bound for all \(\ell \)  and \(n\)  was first established by Chen et.al., which shows an explicit construction of a \(O(\frac{n (\log n)^{\omega (n)}}{\ell ^{1/2}})\)  size \(\ell \) -covering set. They also showed \(f(n,\ell ) = \frac{n^{1+o(1)}}{\ell ^{1/2}}\)  using the fourth moment of character sums, but without providing a construction [4]}. In the same article, the authors shows \(f(p,\ell ) = O(\frac{p}{\ell })\)  for prime \(p\)  with a simple explicit construction. Koiliaris and Xu improved the result for general \(n\)  and \(\ell \)  using basic number theory, and showed \(f(n,\ell ) = \frac{n^{1+o(1)}}{\ell }\)  [5]}. A \(\ell \) -covering set of the same size can also be found in \(O(n\ell )\)  time. The value hidden in \(o(1)\)  could be as large as \(\Omega (\frac{1}{\log \log n})\) . A closer inspection of their result shows \(f(n,\ell ) = O(\frac{n}{\ell }\log n\log \log n)\)  if \(\ell \)  is neither too large nor too small. That is, if \(t \le \ell \le n/t\) , where \(t=n^{\Omega (\frac{1}{\log \log n})}\) . See fig:comp for comparison of the results.
