Swarms of autonomous devices are increasing in ubiquity and size, making the need for rethinking their hardware-software system stack critical. We present HiveMind, the first swarm coordination platform that enables programmable execution of complex task workflows between cloud and edge resources in a performant and scalable manner. HiveMind is a software-hardware platform that includes a domain-specific language to simplify programmability of cloud-edge applications, a program synthesis tool to automatically explore task placement strategies, a centralized controller that leverages serverless computing to elastically scale cloud resources, and a reconfigurable hardware acceleration fabric for network and remote memory accesses. We design and build the full end-to-end HiveMind system on two real edge swarms comprised of drones and robotic cars. We quantify the opportunities and challenges serverless introduces to edge applications, as well as the trade-offs between centralized and distributed coordination. We show that HiveMind achieves significantly better performance predictability and battery efficiency compared to existing centralized and decentralized platforms, while also incurring lower network traffic. Using both real systems and a validated simulator we show that HiveMind can scale to thousands of edge devices without sacrificing performance or efficiency, demonstrating that centralized platforms can be both scalable and performant.
翻译:自动装置的群落在无处不在和规模上不断增加,使得重新思考硬件软件系统堆积的必要性变得十分关键。 我们展示了第一个群群协调平台HiveMind,这是第一个能够以可演化和可扩缩的方式在云层和边缘资源之间以可编程的方式执行复杂任务工作流程的组合平台。 HiveMind是一个软件硬件平台,其中包含一个特定域语言,以简化云端应用程序的可编程性;一个自动探索任务配置战略的程序合成工具;一个中央控制器,利用无服务器计算到天平云资源,以及一个可重新配置的硬件加速结构,用于网络和远程存储存取。我们设计并用由无人机和机器人汽车组成的两个真实边端的边缘群来建立全端到端的HiveMind系统。我们量化了服务器在边缘应用程序上无法引入的机会和挑战,以及集中和分布式协调之间的偏差。我们显示,与现有中央和分散式平台相比,HiveMind实现了显著的性能和电池效率,同时也使网络流量降低。我们使用真实的系统和中央级平面平台展示了可变压的性能。