  Vehicular cloud (VC) platforms integrate heterogeneous and distributed
resources of moving vehicles to offer timely and cost-effective computing
services. However, the dynamic nature of VCs (i.e., limited contact duration
among vehicles), caused by vehicles' mobility, poses unique challenges to the
execution of computation-intensive applications/tasks with directed acyclic
graph (DAG) structure, where each task consists of multiple interdependent
components (subtasks). In this paper, we study scheduling of DAG tasks over
dynamic VCs, where multiple subtasks of a DAG task are dispersed across
vehicles and then processed by cooperatively utilizing vehicles' resources. We
formulate DAG task scheduling as a 0-1 integer programming, aiming to minimize
the overall task completion time, while ensuring a high execution success rate,
which turns out to be NP-hard. To tackle the problem, we develop a ranking and
foresight-integrated dynamic scheduling scheme (RFID). RFID consists of (i) a
dynamic downward ranking mechanism that sorts the scheduling priority of
different subtasks, while explicitly taking into account for the sequential
execution nature of DAG; (ii) a resource scarcity-based priority changing
mechanism that overcomes possible performance degradations caused by the
volatility of VC resources; and (iii) a degree-based weighted earliest finish
time mechanism that assigns the subtask with the highest scheduling priority to
the vehicle which offers rapid task execution along with reliable transmission
links. Our simulation results reveal the effectiveness of our proposed scheme
in comparison to benchmark methods.
