Seminarium: Systemy Rozproszone
8 maja 2025 12:15, sala 4070
Kacper Sołtysiak, Mikołaj Wasiak



Improving the Performance of Simulating Large Low-Power Wireless Networks in Cooja



Internet of Things (IoT) solutions often rely on fleets of low-power wireless devices. Development and testing of software for such devices, before it is deployed in the target environment, is greatly facilitated by employing simulations. One of such state-of-the-art simulators today is Cooja, originally developed for testing nodes running Contiki-NG OS (formerly known as Contiki OS).

Unfortunately, in Cooja, simulations involving large numbers of devices are slow, especially when modern, relatively complex microcontrollers are emulated. One important reason is that they are simulated in a lockstep fashion, each executing for a small slice of time in a single global thread. According to the authors, this design was adopted to allow for deterministic, replayable simulations. In reality, however, as our preliminary experiments suggest, due to the nature of wireless communication, the model can possibly be relaxed to allow for parallel execution of some independent slices. The goal of my thesis is to develop modifications to Cooja and CMEmu, an emulation engine of an ARM Cortex-M3-based device, that would exploit this approach and, generally, improve the simulation speed. The modifications will be evaluated against the baseline simulator in terms of execution time and correctness.

Zapraszam,
Kacper Sołtysiak



Bibliografia:





"Hey, psst, try this." The underground culture around custom CPU schedulers.



Unbeknownst to the upstream Linux community, there exists a variety of alternative Linux CPU schedulers, circulating downstream for years. The CachyOS Linux distribution, an Arch Linux derivative founded in May 2021, has painstakingly collected these patches into a nicely organized repository, bringing them to the fruition of a larger audience. The project itself derived its name from one of these schedulers, Cachy by Hamad Salim Al Marri; the Cachy scheduler has later been renamed to CacULE. Some of the most popular schedulers currently in circulation are:

The BitMap Queue CPU scheduler, or BMQ, by Alfred Chen
The Burst-Oriented Response Enhancer CPU scheduler, or BORE, by Masahito Suzuki
The CacULE CPU scheduler, inspired by the ULE scheduler from FreeBSD and formerly known as Cachy, by Hamad Salim Al Marri
The Enhanced CPU Handling Orchestrator scheduler, or ECHO, by Hamad Salim Al Marri

The goals for this session are to illustrate the algorithms employed by these schedulers, bring them to the attention of the wider upstream kernel community, and explore the opportunity to implement them using the sched-ext framework to allow for an even wider circulation of their underpinning ideas.

Zapraszam,
Mikołaj Wasiak



Bibliografia: