Abstract | ||
---|---|---|
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. |
Year | DOI | Venue |
---|---|---|
2021 | 10.22152/programming-journal.org/2021/5/4 | Art Sci. Eng. Program. |
DocType | Volume | Issue |
Journal | 5 | 2 |
Citations | PageRank | References |
1 | 0.38 | 0 |
Authors | ||
8 |
Name | Order | Citations | PageRank |
---|---|---|---|
Artur Sterz | 1 | 5 | 2.52 |
Matthias Eichholz | 2 | 2 | 2.76 |
Ragnar Mogk | 3 | 1 | 0.38 |
Lars Baumgärtner | 4 | 1 | 1.06 |
Pablo Graubner | 5 | 1 | 0.38 |
Matthias Hollick | 6 | 750 | 97.29 |
Mira Mezini | 7 | 1 | 1.73 |
Bernd Freisleben | 8 | 13 | 7.35 |