The number of wireless devices is now over billion, and with the advent of new 5G-and-beyond technologies it is expected to grow to billion by 2022 
. Many of these devices will be data-processing-capable nodes that facilitate the rapidly growing data-intensive applications running at the network edge, e.g., social networking, video streaming and distributed data analytics. While some devices are occupied processing computationally-intensive applications, e.g., facial recognition, location-based augmented/virtual reality (AR/VR), and online 3D gaming[2, 3, 4], it may be desirable for them to offload their data to devices with underutilized resources. Traditionally, cloud computing architectures have been adopted for such data intensive applications, e.g., Amazon Web Services and Microsoft Azure, but the exponential rise in data generation at the edge is making centralized architectures infeasible for providing latency-sensitive quality of service at scale .
As a current trend in wireless networks is reducing cell sizes , many 5G networks will be dense with short distances, forming a magnitude of smaller subnets . Networks of small subnets combined with improved computational and storage capabilities of edge devices have enabled mobile edge computing (MEC), a recently popularized line of research. At a high level, MEC leverages radio access networks (RANs) to boost computing power in close proximity to end-users, thus enabling the users to offload their computations to an edge server (central processor) [7, 8, 9, 10, 11] as shown in Figure 1(fig:topo:MEC). In an MEC architecture, the edge servers have high-performance computing units which can process large amounts of computationally intensive tasks efficiently. This MEC concept has also been extended to a helper-edge server architecture to exploit the computation resources of idle devices [12, 13].
The current trend in distributed computing, though, is a migration to even more decentralized architectures. This is due to the fact that all edge devices can take part in data offloading, given the advances in 5G communication technologies in conjunction with improved computational capabilities of individual devices. For this reason, device-to-device (D2D) network architectures (shown in Figure 1(fig:topo:D2D)) that were previously studied in 4G LTE standards now hold the promise of providing distributed computing at scale.
Unlike the MEC system in Figure 1(fig:topo:MEC), distributed computing in the D2D network of Figure 1(fig:topo:D2D) will have more complicated topology management needs given the additional coordination requirements. In particular, judicious management of network and communication resources is essential for D2D network efficiency because wireless transmissions among edge nodes participating in data offloading will incur inevitable inter-channel interference. The focus of this paper is on developing such resource management methodologies that jointly optimize network and communication resources in D2D networks to adapt to edge computing demands.
I-a Related work
Several existing works have considered resource allocation management in MEC systems. In particular, the problems of wireless scheduling [14, 15], interference management through allocation of different subchannels , power allocation [12, 17, 13], and multiple-input multiple-output (MIMO) signal design [18, 19, 20] have each been studied in this context. All of these works, however, have considered the network and communication resources separately, typically focusing on one or the other independently. In reality, these all are interdependent, and there is a need to understand how MEC systems should be designed to jointly optimize link selection and resource management for contemporary edge computing scenarios. Given the single direction offloading to the edge server, MEC systems can be viewed as special cases of the D2D networks that we study in this paper (see Figure 1).
In terms of D2D networks, some research on D2D networks has addressed resource management problems such as subchannel allocation , power allocation , or both of these jointly [23, 24, 25]. Also, MIMO signal design has been considered in scenarios of D2D communications underlaying cellular networks, in order to mitigate inter-channel interferences [26, 27] or to maximize utility models for cellular users communicating in such scenarios . However, for the above works, the link selection problem is not considered, which is important for network efficiency maximization. Although some recent works addressed link selection  together with device power allocation  in D2D networks, they in turn have not addressed wireless signal design and subchannel allocation problems.
I-B Design Principles and Contributions
We develop an optimization methodology for network and communication resource management in wireless D2D networks, considering the problems of link selection, subchannel allocation, power allocation, and MIMO signal design jointly. Our approach is driven by two design principles:
(1) Link selection for energy minimization. The network topology should be defined so that energy efficiency is maximized. Given a reconfigurable network topology, link selection design between nodes in D2D network is more complicated than offloading decisions between nodes and a server in MEC systems.
(2) Joint resource allocation and MIMO signal design. The link selection is accompanied with efficient management of available resources. We jointly consider network resources that involve topology configuration, through link selection and frequency assignment, and communication resources that involve transmission power and MIMO antennas. Especially, with a large number of links and limited subchannels, MIMO signal design, i.e., beamforming, is essential to mitigate inevitable inter-channel interferences for robust data transfer and optimization.
The contributions of this paper are as follows:
We formulate a novel optimization problem for D2D edge computing networks that minimizes the total energy consumption required to process given data samples at the D2D edge nodes, based on a framework for joint wireless MIMO signal design, resource allocation (subchannel and power allocation), and link selection (Section II).
We decompose the integrated framework into two subproblems to make it computationally tractable: one for network resource allocation and the other for MIMO signal design. This facilitates the network resource optimization with integer variables and MIMO signal design optimization with non-integer variables (Section II).
In the optimization of network resource allocation, we jointly determine the link with subchannel allocation. For solving this problem, we modify our objective function and exploit an integer programming. We propose a greedy algorithm as another solution to reduce the computational complexity (Section III).
With respect to MIMO signal design optimization, we determine the transmit beamformer, transmit power and receive combiner by exploiting interference coordination techniques for MIMO systems. (Section III). The energy minimization problem is converted to the weighted minimum mean square error (WMMSE) minimization problem for tractability (Section III).
Extensive simulations are presented to evaluate the integrated framework and our proposed algorithms (Section IV).
Ii System Model and Optimization Formulation
In this section, we formulate the problem of jointly optimizing MIMO signal design and network resource allocation to minimize the total energy consumption in device-to-device (D2D) network. We first outline preliminaries of the underlying wireless D2D network model in Sec. II-A and then present the optimization in Sec. II-C.
Ii-a Wireless Device-to-device (D2D) Network Model
Figure 2 demonstrates a wireless D2D network model of nodes that can transmit using multiple antennas.
Data transfer. Consider a multi-point to multi-point wireless channel where a group of nodes can simultaneously transfer (offload) data to one another. With , we define
as the binary variable describing whether nodetransmits data to node , and (in bits) as the length of data present at node for potential transfer, which is a task eligible for distributed processing. That is, implies that the node sends the data to the node while means the node is holding it for local processing. Note that data transfer is not allowed from a node to itself, i.e., for all .
We assume that each task should be processed as a whole, i.e., the task is divisible. In other words, If , then , since the node will not transmit its data to two or more nodes. We denote the set of link pairs attempting to transmit data as
with denoting the -th pair of transmit and receive node where , and being the total number of link pairs. For example, if we have the connected link from node 3 to node 1 and it is the first link pair , then .
Frequency subchannels. To facilitate multiple access transmission, the pairs in will leverage multiple frequency subchannels , where is the total number of subchannels, each having the same bandwidth . In general, the subchannels will be limited, i.e., , meaning subchannels will be shared across multiple links. With
as the binary vector of which active links are using the-th subchannel, , the -th element for denotes whether the -th link uses subchannel () or not (). For example, suppose we have three links and two subchannels. Then and . One possible subchannel allocation is and , meaning the first link is using the first subchannel and the second and third links are using the second subchannel . We also denote as the binary subchannel co-occurrence matrix ; if , then links and share the same subchannel, and they interfere with each other, and if they do not.
Communication demand. The time it takes for the data transfer from node to can be quantified as , where is the maximum achievable data rate over the wireless channel. If a node has transmit power , then we can calculate the total energy consumed for data transfer over the set of link pairs as in (2). Note that communication only occurs where the link pairs are connected , , i.e., pairs for . This means that we can write the communication energy as
A lower means the device has a lower energy requirement. Assuming each node has transmit antennas and receive antennas, we consider the case of multiple-input multiple-output (MIMO) links between nodes. The channel matrix from transmitter to receiver , then, is denoted . Transmit beamforming at is accomplished by constructing the beamformer where . The receiver behaves similarly, constructing the combiner with . Using these assumptions, the maximum data rate on link  is
where is the bandwidth of frequency subchannel, a superscript denotes the conjugate transpose, and the noise power . Note that the data rate in (3) considers interference from other links sharing the same subchannel allocation.
Processing demand. There are two possibilities for processing the data : the local processing and offloaded processing. The local processing means that the node processes its own data , i.e., for all . However, the offloaded processing means that the node transfers the data to another node which then processes it, i.e., for some . We denote the processing power of node as , which is practically a function of CPU usage and energy efficiency of device . Using this, the energy requirement in each of these cases is
where is the computation speed of node and includes the energy of communication from the node to . With this, we can calculate the total energy consumed for data processing in an entire network over nodes as
Ii-B Example for Wireless D2D Network Model
Ideally, the total energy consumption with data offloading in wireless D2D network should be minimized. To illustrate this, consider a three node example where at most one link can be connected. For , each node is assumed to have the same length of data Mbits, computing power Watt, transmission power Watt. The transmission data rate is assumed as Mbits/sec for . However, we consider different computing speeds, , and Mbits/sec. Using these definitions, the total energy consumption for local computation should be Joules.
The objective is to minimize total energy to find best link pair among 6 possible links: , , , , , and . It is noteworthy that the link must be properly selected to minimize the total energy. Suppose we have link . Then the total energy including transmission energy should be Joules, which is less than the local computation energy . This implies that if transmission channel is available and energy-efficient, we can exploit the communication to minimize total energy for data processing. If we consider link instead of link , the total energy would be Joules, which is larger than local computation energy . Further, we are aware that link is the best link pair for minimizing total energy consumption with the relationship for any , where is the total energy consumption with the link pair . Therefore, the link selection optimization is essential for minimizing total energy consumption. Although this example assumed only one link and identical data rates of the nodes, we are aware that minimizing the inter-channel interferences in many links environment are critical to data rate maximization for selected links, which will lead to total energy minimization.
Ii-C Optimization and Decomposition
We are interested in the combination of MIMO signal design parameters – i.e., transmit powers , transmit beamformers , and receive combiners – and network resource allocation parameters – i.e., transmission link pairs and subchannel allocations – that will lead to processing the network data with minimum energy consumption. We can formulate the following optimization problem:
Constraints (7-9) relate to the MIMO signal design variables, as described in Sec. II-A. In (7), since is only defined when , the equation (7) can be considered as for as in (2). In (9), we impose an overall transmission power budget that the network cannot exceed. Constraints (10-13), by contrast, restrict the link pair and subchannel allocations, as follows:
Transmit and receive streams (10&11). Because each task is indivisible, we consider that each node can have at most one transmit stream, i.e., . Also, we assume that each receive node can have at most one receive stream to reduce the complexity of designing the combiner of receive node, i.e., . Further, we restrict that each node cannot be in transmit and receive mode simultaneously, which leads to Constraint (10). Constraint (11) means data transfer is taken as a binary variable and not allowed for same node.
Link pair candidates (12). Only the link pairs that would lead to a lower energy requirement should be considered for the network through optimization. However, we can define the link pair candidates based on comparison of the computation energy, i.e., and for , denoting the computation energy for local processing and offloaded processing, respectively. In other words, if , the pair can be the candidate for link pairs. Therefore, we define the link pair candidate set as . Note that the optimized link pairs should be among the candidates, i.e., .
Subchannel allocation (13). Each link pair must be allocated to a subchannel. With the allocation variables restricted to binary values, the sum over subchannels for each link must be .
Assuming all nodes have transmit and receive antennas, i.e., for all , the optimization (6-13) is a mixed integer program (MIP) with non-integer and integer variables. Also, since the term as a function of has the form , which is non-convex, the problem is a non-convex MIP. Existing solvers for non-convex MIPs do not scale well with the number of variables , and even with nodes equipped with antennas and subchannels, our problem already has more than 1000 variables. One of the challenges we address in Sec. III is developing an effective algorithm to solve this problem. Shown in Figure 3, as a first step, we decompose it into two interrelated subproblems, one for the network resource allocation variables (integer) and the other for the MIMO signal design variables (non-integer) as follows:
Ii-C1 Network resource optimization
The variables and appear in each term of the objective (6). With , , and fixed, then, we have the following optimization:
Given the dependence of on these variables, this problem is a non-linear integer program, but is no longer an MIP.
Ii-C2 MIMO signal design optimization
Given the dependence of on these non-integer variables, the problem is a non-convex optimization, but is also no longer an MIP. In fact, the dependence of on both sets of variables renders the optimization (6-13) non-separable, and hence the subproblems must be solved alternately . Although the decomposition for the overall optimization problem does not enable to obtain optimal solution, the obtained (suboptimal) solution from the decomposition can reduce the energy consumption significantly by efficient data offloading compared to that of local processing. This is approximately a reduction in the Figure 4 example. We will develop this decomposition approach in Section III.
Iii Data Transfer and Processing Algorithms
Iii-a Network resource optimization
We propose two different algorithms to solve for and with , and fixed.
Iii-A1 Non-linear integer program
The variables, and cannot be separable because the subchannel allocation is determined only for the connected link . This means that, in order to find the best combinations of and , the subchannel should be determined jointly with link pairs. Therefore, for joint optimization for and , three dimensional (3D) variable, is introduced, meaning whether transmits data to through the subchannel . The variable is linked with and by
where the meaning of two relationships is that the link pair is mapped to only one subchannel and that -th link pair is using subchannel .
Then, by substituting for and , the formulation (5) can be rewritten as
The constraints change to
Then, we obtain a non-linear integer program problem:
We implemented this algorithm using the Solving Constraint Integer Programs (SCIP) solver  in the Matlab environment. Since it is NP-hard problem, a large computational time is required when the number of variables is large. For example, for running with and , we have total variables and a computation time of approximately an hour on a 3.5 GHz CPU.
Iii-A2 Greedy algorithm
For all link pairs for , we find the best pair to maximize the saved energy by data offloading, as
where and are given in (4). The link will be connected when . The link pairs are sequentially determined until all possible links are connected, which leads to when links are connected and , otherwise.
Given the possible link candidates , we need to allocate the subchannels to the link pairs to minimize the interference. At the beginning, when new subchannels are available, we allocate the empty subchannel which is interference-free, to the seltected link pair until all subchannels are used. However, after allocating all interference-free subchannels to the link pairs, the subchannel allocation to the remaining link pairs will incur inter-channel interference. In this case, we should compare all combinations of link pairs and subchannels and choose the best combination. We performed this process until all possible pairs are determined. During this process, whenever we determine the best pair, we update the candidate set with the constraint (10) i.e., removing the candidates from the determined links so far. A formal description of the algorithm for joint link pair and subchannel is provided in Algorithm 1.
Iii-B MIMO signal design optimization
We turn to the optimization of the MIMO signal design variables, , and with and fixed. Instead of minimizing (2), we desire to convert the problem to familiar problem and find the sub-optimal solution for communication demand. We will use the relationship for , and minimize the upper bound for the communication demand in (2), , which is given as
where is the total transmission power budget in (9). The problem in (21) is simplified to a problem for minimizing the time delay, which has a similar form as maximizing harmonic-rate . Combining the power and into , i.e., , leads to
where is given in (3) and the constraint (23) comes from (8) and (9). This problem is non-convex and NP-hard. Therefore, suboptimal solution can be found by alternatively solving for the variables in (24).
Iii-B1 Receive combiner
First, with fixed, we will solve for . Because with fixed, each solely depends on , the optimization problem is decoupled across receivers, resulting in the SINR maximization problem for individual receiver
Here, denotes the identity matrix.
Iii-B2 Transmit beamformer and power
Next, fixing in (26), we solve for (22) to design . Unlike solving for , cannot be decoupled across transmitters since depends on other beamformers besides . This can be handled by transferring the original problem to the weighted minimum mean square error (WMMSE) problem  with for all given by
where is auxiliary weight variable, and is the inverse function of . We note that the explicit form of is not needed to solve for in our problem. The mean square error at receive node in -th link pair is then given by
where in (29) is given by and .
We fix the combiner and the auxiliary weight , and optimize the beamformer by solving (28). Substituting found from (29) in (28) makes the beamformers for all decoupled across the links, resulting in the following optimization problem:
This problem is a standard quadratic convex optimization problem, which can be solved by using Karush-Kuhn-Tucker (KKT) conditions . Since it is a standard procedure, we omit the details here. An algorithmic description for the MIMO signal design is outlined in Algorithm 2.