Modern mobile applications are becoming more complex and thus require an abundant amount of resources. Some of them are latency-sensitive such as traffic-safety and augmented/virtual reality, which need low response time for (near-)real-time object detection and decision-making. Executing them on resource-limited mobile devices or offloading them on a far-distant cloud server, is not viable due to lack of resources or long latency [1]. However, edge computing is introduced to deploy edge servers near mobile devices [2]. Thus, the resource-intensive parts of mobile applications are offloaded on the nearby edge instead, providing shorter latency and faster processing. However, edge servers are heterogeneous and exhibit failures due to a lack of advanced supporting systems [3]. Therefore, new offloading techniques have to be devised that account for heterogeneous and unreliable edge servers to enable low-latency and reliable application execution.