Traditional CPUs are general, but this comes at a cost (called “Turing tax”). They are more expensive and less efficient than specialized hardware. This raises the question: should we build CPU-free nodes? CPU-free nodes only have custom hardware and storage. We envision that in the future distributed systems, like data stores and storage systems, will run on a large collection of CPU-free nodes. The fast path will execute entirely in custom hardware. Only control-plane operations will execute on CPUs. This will result in better performance, higher efficiency, and lower cost. Realizing this vision requires solving many challenges including data structure and hardware co-design, providing sharing and isolation, security and management. These are all different from a traditional system running with the CPU and the OS.
Project Honeycomb is tackling the challenges of building complex abstractions in custom hardware. We are targeting common abstractions, such as hashtables, B-trees, scans, updates, aggregation, and filtering. These abstractions are used by many systems and they would all benefit from efficient hardware implementations. We are using FPGAs today.