# Server Operation and Virtualization to Save Energy and Cost in Future Sustainable Computing
## 2 Background
### Matters to Consider in the Realization of Virtual EPC Function  
How to port EPC software from a vendor hardware platform to a virtualization environment and what software should be redesigned from the beginning to take full advantage of the cloud when implementing virtual EPC functionality may give rise to controversy. The majority of mobile network service providers consider it to be an important issue. When some virtual solutions were tested, new design was required in order to optimize and operate them in the cloud environment as the existing software porting performance is not good compared with the existing (hardware-based) solution. Though it is not a problem for simple applications, it may be a big problem in main infrastructures such as EPC. In particular, it must be solved in case of data flat that requires high performance (e.g., P-GW). In general, there can be fundamental differences between the software that can derive maximum performance from dedicated hardware resources and the software that can dynamically adjust the capacity in an integrated infrastructure environment without limit to physical devices. To save status information, local saving devices or dispersed SAN (Storage Area Network) environment can be used. To cope with elastic trouble response, the \(1+1\) model or N + M model can be used. For scaling, a more powerful service can be introduced, or the capacity can be expanded in terms of software together with general load dispersion technology. For communication between components, RPC (Remote Procedure Call), share memory, message delivery, or web service API (Application Programming Interface) can be used. When applying the virtual EPC function, if low-delay but sufficient capacity transmission is possible, the control flat functions can be operated at a large-scale central concentrated data center. As for data flat, the problem is complicated due to the requirements of high-speed stable packet processing. Basically, a COTS (Commercially Off-The-Shelf) server can be used for data flat. If only a low processing rate is the problem, it can be solved by adding more COTS servers thanks to the low cost of the COTS servers. If stable high-speed packet processing (e.g., S/P-GW) is an issue, however, the use of a hypervisor in the compatible CPU cannot guarantee performance. As an alternative, the use of SR-IOV (Single Root I/O Virtualization) [16] or other direct I/O-style mechanism is discussed to make a direct connection between the virtual machine and core. Bypassing the hypervisor enables stable performance predictability but reduces elasticity. As such, there has yet to be a consensus regarding a better solution. For now, SR-IOV technology is applied to the data flat function. The I/O function of the COTS server is another issue. In the case of P-GW where stable high-speed performance is important, the standard network interface card is not enough to ensure sufficient performance. There are various methods to address such problems, but Intel's DPDK (Data Plane Development Kit) [17] solution receives much attention. If a virtual network function is operated at the large-scale central concentration data center by introducing the NFV model, it can save cost thanks to economy of scale; it can also be applied to IT, web-scale application, and some mobile network applications without any problems. In terms of the 3 GPP EPC standard, however, the trend is to move to the distributed gateway structure compared to the 3G packet core, and the close distribution of contents cash to users is receiving much attention. Accordingly, the virtual gateway is highly likely to be distributed to the distributed NFV infrastructure PoP (Point of Presence), i.e., small-scale data center due to delay time, elasticity, and transmission efficiency. If so, how to define a specific virtual network function working under the distributed NFV infrastructure and how to keep the user/service status along the movement of a user or service may be an issue.