## 3 System Model and Problem Formulation  
### System Model  
We consider a model comprising a set of mobile devices, a set of edge nodes, and a cloud node. As shown in Figure 1, each node in every layer can communicate not only with nodes within the same layer but also with any node in other layers. The cloud node possesses robust processing capabilities, featuring minimal processing delay and the capacity to cache all services. However, it incurs higher processing costs and is located at a considerable distance from both mobile devices and edge nodes, resulting in increased transmission delay and cost. In contrast, mobile devices exhibit the lowest processing capabilities among the three entities and are only capable of caching a limited number of services. Nonetheless, mobile devices have the advantage of minimal transmission delay and the lowest transmission costs when communicating with each other. We consider a set of execution nodes, including cloud nodes, edge nodes, and mobile devices. Let \(M_{v}=\{m_{1},m_{2},\ldots,m_{M^{\prime}}\}\) denote the set of execution nodes that satisfy the service cache requirements for task \(v\). We consider an application that must be completed within a maximum cost \(T\). The application consists of multiple interdependent tasks, and these dependencies can be modeled as a directed acyclic graph (DAG) \(G=(V,E)\), where \(V\) represents the set of tasks, and \(E\) represents the set of edges used to represent the dependency relationships between  
Figure 1: System model. tasks. An edge \((i,j)\in E\) indicates that the output data of task \(i\) will serve as the input data for task \(j\), meaning task \(j\) can only be executed after task \(i\) is completed and the data is transmitted. Our delay and cost calculation models are based on [9; 19; 39]. Next, we provide a detailed introduction to the processing and communication models. (1) Processing model: We assume that execution node \(v\) has cached the services required by task \(j\) and can process multiple tasks simultaneously, so the time to process task \(j\) on execution node \(v\) is solely composed of the computation time. Specifically, the time and cost to process task \(j\) on execution node \(v\) are  
\[T_{j}^{v}=\frac{L_{j}}{f_{v}},T_{j}^{v}=p_{v}\cdot T_{j}^{v} \tag{1}\]  
respectively, where \(L_{j}=S_{j}\cdot C_{v}\)[11] represents the computational workload of task \(j\), with \(S_{j}\) denoting the data size of task \(j\) and \(C_{v}\) representing the number of CPU cycles required by execution node \(v\) to process 1 bit of data. \(f_{v}\) denotes the CPU frequency of execution node \(v\), where the CPU frequency of servers is generally higher than that of mobile devices. \(p_{v}\) represents the computational cost per unit time for execution node \(v\), which is an approximation in this paper [39]. (2) Communication model: The communication time between execution nodes includes both the task data upload and the result download durations. Following [9], we assume uplink/downlink channel reciprocity and denote the channel gain for transmitting the output data of task \(i\) from execution node \(k\) to execution node \(v\) as the input data of task \(j\) by \(h_{ij}^{kv}=A_{d}\cdot\left(\frac{3\times 10^{8}}{4\pi f_{c}d_{kv}}\right)^{d_{c}}\), where \(A_{d}=4.11\) denotes the antenna gain, \(f_{c}=915\,\mathrm{MHz}\) denotes the carrier frequency, \(d_{c}=26\) denotes the path loss exponent, and \(d_{kv}\) denotes the distance between execution nodes \(k\) and \(v\). We assume that the channel gain does not change during the transmission of tasks \(i\) and \(j\).