Network programmability will be required to handle future increased network traffic and constantly changing application needs. However, there is currently no way of using a high-level, easy to use programming language to program Wi-Fi firmware. This impedes rapid prototyping and deployment of novel network services/applications and hinders continuous performance optimization in Wi-Fi networks, since expert knowledge is required for both the used hardware platforms and the Wi-Fi domain. In this paper, we present ReactiFi, a high-level reactive programming language to program Wi-Fi chips on mobile consumer devices. ReactiFi enables programmers to implement extensions of PHY, MAC, and IP layer mechanisms without requiring expert knowledge of Wi-Fi chips, allowing for novel applications and network protocols. ReactiFi programs are executed directly on the Wi-Fi chip, improving performance and power consumption compared to execution on the main CPU. ReactiFi is conceptually similar to functional reactive languages, but is dedicated to the domain-specific needs of Wi-Fi firmware. First, it handles low-level platform-specific details without interfering with the core functionality of Wi-Fi chips. Second, it supports static reasoning about memory usage of applications, which is important for typically memory-constrained Wi-Fi chips. Third, it limits dynamic changes of dependencies between computations to dynamic branching, in order to enable static reasoning about the order of computations. We evaluate ReactiFi empirically in two real-world case studies. Our results show that throughput, latency, and power consumption are significantly improved when executing applications on the Wi-Fi chip rather than in the operating system kernel or in user space. Moreover, we show that the high-level programming abstractions of ReactiFi have no performance overhead compared to manually written C code.
翻译:网络的可编程性将被用来处理未来网络流量增加和不断变化的应用需求。然而,目前没有办法使用高层次、容易使用编程语言来编程 Wi-Fi 固态软件。这妨碍快速编程和部署新的网络服务/应用程序,并阻碍Wi-Fi网络网络的持续绩效优化,因为使用硬件平台和Wi-Fi域都需要专家知识。在本文件中,我们为移动消费设备上的无线-Fi芯片编程语言提供了高端反应程序语言ReactiFi。ReactiFi使程序员能够实施PHY、MAC和IP层机制的扩展,而不需要Wi-Fi 芯片专家知识,允许新的应用程序和网络协议。ReactifiFi程序直接在Wi-Fi网络芯片芯片上执行,提高性能和能量消耗与主CPU的执行能力。ReactiFiFi在概念上类似于功能反应语言,但专门满足Wi-Fi 固态软件的域特定需要。首先,它处理低级平台的具体细节细节,而无需干扰Wi-Fi-fiel 的功能功能功能功能功能功能功能功能功能功能功能功能应用功能功能功能功能功能功能功能应用。第二阶段的运行系统,它在动态的运行中显示中显示。在动态的动态的系统运行中,在动态的运行中,在动态的系统运行中,在不断变动的运行中显示中显示中,在动态的功能的运行的系统运行的功能的功能的功能的功能的功能的功能的功能的功能的运行。