sit two pods, resulting in one more O/E/O conversion. This simple example shows how VNF placement can minimize O/E/O conversions. The problem of VNF placement can be stated as follows. Each NF chain has a set of VNFs to be placed in a number of pods. The VNFs of the same chain placed in the same pod form a placement group. Eventually, the VNF set is partitioned into one or multiple placement groups. The optimization objective is to minimize the total number of placement groups for all the NF chains, respecting the resource constraints. A placement group of an NF chain corresponds to a pod the NF chain needs to visit, and thus one O/E/O conversion is needed. We make the assumption that a single VNF will never be split into more than one pod. We also assume sufficient pods, such that all the NF chains can be accommodated. A variant of this problem can be mini- mizing NF blocking given a constraint on the number of pods, which will be investigated in our future study. One drawback of minimiz- ing O/E/O conversions is that it may limit the freedom of the cloud manager to choose a specific pod for an NF chain (e.g., for affinity requirement). Such cases can be addressed by adding specific extra 5.2 Service Function Chaining Algorithm 2 Optical NFV Placement algorithm procedure Place(PodList, ChainList, NFList create a bipartite graph N with two sets of nodes for all elements in P and G for each NF chain C in ChainList do Initiate an empty pod list PodListc. Sort the NFs needed by C in a descending order by resource demand end for for each unprocessed NF n of C do Set flag=false Sort PodListc in an ascending order by available resource and select the first pod p if p has enough resources for n then provision n by p and set flag=true go to the next pod p in PodListc end if if flag=false then add the most-available-resource pod pm of PodList to PodListc. Provision n by pm. end if end for In PodList, select pod pa with the least resources consumed by NFs provisioned in Step 3, and pod pb with the most available resources.