In the near future, the number of Internet connected objects is expected to be between 26-50 billion devices. This figure is expected to grow even further due to the production of miniaturized portable devices that are lightweight, energy, and cost-efficient. In this paper, the entire IoT-fog-cloud architecture is modeled, the service placement problem is formulated using Mixed Integer Linear Programming (MILP) and the total power consumption is jointly minimized for processing and networking. We evaluate the distributed processing paradigm for both the un-capacitated and capacitated design settings in order to provide solutions for the long-term and short-term basis, respectively. Furthermore, four aspects of the IoT processing placement problem are examined: 1) IoT services with non-splittable tasks, 2) IoT services with splittable tasks, 3) impact of processing overheads needed for inter-service communication and 4) deployment of special-purpose data centers (SP-DCs) as opposed to the conventional general-purpose data center (GP-DC) in the core network. The results showed that for the capacitated problem, task splitting introduces power savings of up to 86% compared to 46% with non-splittable tasks. Moreover, it is observed that the overheads due to inter-service communication greatly impacts the total number of splits. However much insignificant the overhead factor, the results showed that this is not a trivial matter and hence much attention needs to be paid to this area to make the best use of the resources that are available at the edge of the network.