I. Introduction
Vehicular Ad-hoc NETwork (VANET) has emerged as a major area of research in recent times. In vanets, On-Board Units (OBU) in vehicles can communicate wirelessly with Road-Side Units (RSU) placed at various locations along the roads. VANET has enabled the prospect of building applications for providing many different types of useful services for on-road vehicles, including road safety, navigation, traffic monitoring, entertainment, etc. [1]. Some of these applications generate a large amount of data that needs to be processed in real-time as the data is very likely to hold significance for a short period of time. In many cases, OBUs in vehicles may not be able to process or even store such a large amount of data and require some external resources to store and complete the required processing of the data within time [2]. In such cases, data generated by applications can be offloaded to nearby RSUs on its path, which usually can be equipped with both a larger amount and better quality of resources as compared to those in vehicles. The RSUs can then run Virtual Machines (VMs) on behalf of the vehicles to process their data. However, an RSU is still going to have limited resources and can become overloaded. For example, RSUs in a dense traffic region or near intersections may receive requests from a large number of vehicles that are beyond their serving capacity, while some other RSUs elsewhere are less utilized. Due to this, some requests may get dropped and/or fail to complete, resulting in a deteriorated quality of service. One way to address this problem would be to efficiently distribute the load from overloaded RSUs to the less utilized RSUs by migrating the VMs among RSUs [3] [4]. However, VM migration has a cost associated with it and can also result in increasing the delay in serving application requests [5] [6]. In addition to the cost of migration, using the resources of RSUs can also incur cost for usage, with different RSUs incurring possibly different costs. Hence, the problem of increasing the number of VMs that complete their execution within time while reducing the total cost is challenging.