  The granularity of distributed computing is limited by communication time:
there is no point in farming out smaller and smaller tasks if the communication
overhead dominates the decrease in processing time due to the added
parallelism. In this work, we leverage the low communication latency of a new
NIC/CPU hardware design, the nanoPU, to explore a new extreme of granularity in
distributed computation, where a problem is partitioned into tens of thousands
of nanosecond-scale tasks.
  To evaluate the feasibility and practicality of extremely fine-grained
computing, we built NanoSort, a distributed sorting algorithm running on the
nanoPU. Using cycle-accurate FireSim simulations of 65,536 nanoPU cores, we
show that NanoSort can sort 1M keys in 68$\mu$s, an order of magnitude faster
than MilliSort, the current state-of-the-art.
