  Network Function Virtualization (NFV) platforms consume significant energy,
introducing high operational costs in edge and data centers. This paper
presents a novel framework called GreenNFV that optimizes resource usage for
network function chains using deep reinforcement learning. GreenNFV optimizes
resource parameters such as CPU sharing ratio, CPU frequency scaling,
last-level cache (LLC) allocation, DMA buffer size, and packet batch size.
GreenNFV learns the resource scheduling model from the benchmark experiments
and takes Service Level Agreements (SLAs) into account to optimize resource
usage models based on the different throughput and energy consumption
requirements. Our evaluation shows that GreenNFV models achieve high transfer
throughput and low energy consumption while satisfying various SLA constraints.
Specifically, GreenNFV with Throughput SLA can achieve $4.4\times$ higher
throughput and $1.5\times$ better energy efficiency over the baseline settings,
whereas GreenNFV with Energy SLA can achieve $3\times$ higher throughput while
reducing energy consumption by 50%.
