  Mobile devices such as smartphones and autonomous vehicles increasingly rely
on deep neural networks (DNNs) to execute complex inference tasks such as image
classification and speech recognition, among others. However, continuously
executing the entire DNN on mobile devices can quickly deplete their battery.
Although task offloading to cloud/edge servers may decrease the mobile device's
computational burden, erratic patterns in channel quality, network, and edge
server load can lead to a significant delay in task execution. Recently,
approaches based on split computing (SC) have been proposed, where the DNN is
split into a head and a tail model, executed respectively on the mobile device
and on the edge server. Ultimately, this may reduce bandwidth usage as well as
energy consumption. Another approach, called early exiting (EE), trains models
to embed multiple "exits" earlier in the architecture, each providing
increasingly higher target accuracy. Therefore, the trade-off between accuracy
and delay can be tuned according to the current conditions or application
demands. In this paper, we provide a comprehensive survey of the state of the
art in SC and EE strategies by presenting a comparison of the most relevant
approaches. We conclude the paper by providing a set of compelling research
challenges.
