  Modern information technology services largely depend on cloud
infrastructures to provide their services. These cloud infrastructures are
built on top of datacenter networks (DCNs) constructed with high-speed links,
fast switching gear, and redundancy to offer better flexibility and resiliency.
In this environment, network traffic includes long-lived (elephant) and
short-lived (mice) flows with partitioned and aggregated traffic patterns.
Although SDN-based approaches can efficiently allocate networking resources for
such flows, the overhead due to network reconfiguration can be significant.
With limited capacity of Ternary Content-Addressable Memory (TCAM) deployed in
an OpenFlow enabled switch, it is crucial to determine which forwarding rules
should remain in the flow table, and which rules should be processed by the SDN
controller in case of a table-miss on the SDN switch. This is needed in order
to obtain the flow entries that satisfy the goal of reducing the long-term
control plane overhead introduced between the controller and the switches. To
achieve this goal, we propose a machine learning technique that utilizes two
variations of reinforcement learning (RL) algorithms-the first of which is
traditional reinforcement learning algorithm based while the other is deep
reinforcement learning based. Emulation results using the RL algorithm show
around 60% improvement in reducing the long-term control plane overhead, and
around 14% improvement in the table-hit ratio compared to the Multiple Bloom
Filters (MBF) method given a fixed size flow table of 4KB.
