## 3 System Model and Problem Formulation  
This section provides an overview of the motivation and fundamental process of the proposed DNN partitioning approach and presents a formal problem description. Suppose that there are \(N\) edge devices and an edge server forming an edge network. The edge server acts as a master to receive user requests, partition DNN models, and assign the DNN inferencing tasks for each edge device. Take video-based fall detection in health monitoring as an example. A video-based fall detection application takes a video stream as the input and recognizes if there is a human falling based on a given neural network. Due to the latency and privacy requirements, such applications are best deployed in an edge environment. In order to avoid the edge server becoming the inference bottleneck of all the edge intelligent applications, it is better to distribute the background inferencing task to other edge devices. As illustrated in Figure 1, after a user deploys a fall detection application in the edge environment through a user interface, the edge server will extract the neural network inferencing task and the corresponding neural network. It partitions and dispatches the neural network according to the current status of each edge device, such as the smart camera, the smart speaker, and the sweeping robot in Figure 1. Then, the neural network is divided into three parts in this example, i.e., \(p1\), \(p2\), and \(p3\), and deployed to the smart camera, the smart speaker, and the sweeping robot, respectively. All these selected devices will cooperate to complete a further distributed inferencing process without the edge server. Specifically, the smart camera will run the partition \(p1\) and send its output to the smart speaker as the input of partition \(p2\). The sweeping robot, in turn, performs the partition \(p3\) after receiving the smart speaker's output, then outputs the recognized result. As a group of edge devices will cooperate in executing a single DNN, an edge device must receive an input from a preceding device, perform the inferencing task, and deliver the output to the next device. Suppose the DNN model is divided into \(n\) pieces and deployed to \(n\) different edge devices. Using \(p_{i}\) (\(i=1,2,\ldots,n\)) to represent a sub-model of a given DNN and \(d_{j}(j=1,2,\ldots,n)\) to represent a selected device, if a sub-model \(p_{i}\) is deployed to a device \(d_{j}\), the corresponding execution time \(t_{ij}\) is defined as  
\[t_{i,j}=tc_{i,j}+tr_{i}+ts_{i} \tag{1}\]  
where \(tc_{i,j}\) is the time of executing sub-model \(p_{i}\) on device \(d_{j}\), and \(tr_{i}\) and \(ts_{i}\) are the time for receiving the input of \(p_{i}\) and sending the output of \(p_{i}\), respectively. If \(tt_{i}\) is used to represent the total transmission time, then \(tt_{i}=tr_{i}+ts_{i}\) and \(t_{i,j}=tc_{i,j}+tt_{i}\). In addition, because not all sub-models can run directly on any edge device, it also needs to consider whether an edge device can complete a specific inferencing task according to its current state. For example, it is necessary to determine that the available memory is enough and its remaining battery capacity is sufficient. Suppose \(m_{j}\) is the size of available memory on device \(d_{j}\) and \(rm_{i}\) is the required memory for running sub-model \(p_{i}\). If \(p_{i}\) can be executed on device \(d_{j}\), the following inequality must be true. \[rm_{i}\leq m_{j} \tag{2}\]  
Similarly, if \(ep_{j}\) is the average running power of device \(d_{j}\) and \(c_{j}\) is the remaining battery capacity on device \(d_{j}\), then if \(p_{i}\) can be executed on device \(d_{j}\), the following inequality must be true. \[ep_{j}\times t_{i,j}\leq c_{j} \tag{3}\]  
Above all, the DNN partitioning problem is formulated as a constrained optimization problem, trying to minimizing the total execution time of the DNN inferencing under given limitation of edge devices' available memory and energy. The corresponding objective function is formulated as follows:  
\[