Distributed Computation Offloading
The modern computing landscape ranges across a large variety of heterogeneous device types with different amounts of available resources; starting with microcontrollers and mobile devices, multicore desktop computers with accelerator hardware such as graphics cards to dedicated server clusters. In order to alleviate specific resource restrictions, computational problems and individual tasks can be offloaded to other devices on the network. But in doing so, the middleware needs to account for limited network throughput and imperfect transmission reliability, data placement issues, the target's device architecture, Quality-of-Service requirements of individual tasks and more while also maintaining context-awareness to achieve optimal resource utilization. Our research implementations include e.g. the Tasklet Trading System and Wasimoff.