🤖 AI Summary
This work addresses the challenge of efficiently executing complex event processing (CEP) on resource-constrained edge devices, where multi-source data aggregation and real-time response are hindered by limited computational capacity. To overcome this, we propose a joint optimization strategy that co-optimizes data placement and code deployment. By leveraging constraint programming, our approach schedules and load-balances critical paths in CEP task graphs while abstracting communication details to enable cross-device shared-memory virtualization. Building on this foundation, we implement a lightweight Python library that adaptively assigns computation and I/O tasks across IoT devices. Experimental results demonstrate that our method significantly improves CEP throughput in multi-device collaborative scenarios and effectively reduces end-to-end latency.
📝 Abstract
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.