Search papers, labs, and topics across Lattice.
This paper addresses the challenge of complex event processing (CEP) in resource-constrained IoT edge devices by optimizing the placement of data and code within a CEP task graph. They formulate a constrained programming optimization problem to balance execution costs across different paths, focusing on minimizing the critical path. The implementation as a Python library enables adaptive optimization of code and I/O assignments, demonstrating improved throughput and reduced latency in multi-device CEP scenarios.
Squeezing more performance out of IoT edge devices for complex event processing is now possible with a Python library that adaptively optimizes code and I/O placement.
The increasing variety of input data and complexity of tasks that are handled by the devices of internet of things (IoT) environments require solutions that consider the limited hardware and computation power of the edge devices. Complex event processing (CEP), can be given as an example, which involves reading and aggregating data from multiple sources to infer triggering of important events. In this study, we balance the execution costs between different paths of the CEP task graph with a constrained programming optimization approach and improve critical path performance. The proposed approach is implemented as a Python library, allowing small-scale IoT devices to adaptively optimize code and I/O assignments and improve overall latency and throughput. The implemented library abstracts away the communication details and allows virtualization of a shared memory between IoT devices. The results show that optimizing critical path performance increases throughput and reduces delay across multiple devices during CEP operations.