1. Introduction
TCAM (Ternary Content-Addressable Memory) is a type of memory used in digital circuits and network devices for high-speed data searches. TCAM is designed to perform content-based addressing, allowing for rapid and parallel searching of data. TCAM cells are made up of three states, often represented as “0”, “1”, and “X” (don’t care). Unlike traditional binary memories where each cell can only store a “0” or a “1”, TCAM cells can also hold the “X” value, which signifies that the corresponding bit does not matter for the search operation. Each TCAM cell typically consists of multiple storage elements, comparators, and associated control circuitry to facilitate content-based searches. When a search operation is performed, the TCAM compares the input search key to the stored values in parallel across all cells. The “X” values in TCAM cells allow for more flexible matching criteria, making it well-suited for applications where wildcard or range-based searches are common, such as in network routing and firewall rules. TCAM is commonly used in networking devices like routers and switches to quickly identify and route packets based on their content. However, TCAM is relatively expensive and power-hungry compared to traditional binary memories like SRAM (Static Random-Access Memory) or DRAM (Dynamic Random-Access Memory), which limits its use to applications where high-speed content-based searches are essential [
1,
2].
TCAM is used in software-defined networking (SDN) OpenFlow switches for the storage of flow tables. In each flow table, flow entries are stored, which determines the actions to be taken upon the incoming packets to the switches. The literature [
3,
4] suggests that there can be up to 8000 flow tables due to TCAM space limitations. Moreover, if the number of flow tables required increases more than the specified number, then alternative memory technologies such as NAND, Optane memory, MRAM (Magnetoresistive RAM), ReRAM (Resistive RAM), and FRAM (Ferroelectric RAM) can be combined with TCAM [
5,
6].
Optimizing TCAM using a hybrid mechanism with other flash memory technologies requires careful consideration of the specific requirements and characteristics of both TCAM and the chosen flash memory. When considering which flash memory technology to use in conjunction with TCAM, you will need to balance several factors to ensure optimal performance, speed, endurance, and cost-effectiveness. While there is not a one-size-fits-all answer, certain non-volatile memory technologies might be more suitable for hybridization with TCAM. Keep in mind that the availability and suitability of these technologies can change over time due to advancements in the field. According to the literature, here are a few options to consider: (1) 3D XPoint is a relatively new non-volatile memory technology developed by Intel and Micron. It offers higher performance and endurance compared to traditional NAND flash while maintaining lower latency. 3D XPoint memory could be used as a cache or secondary storage layer to accelerate TCAM access; (2) MRAM is a non-volatile memory technology that uses magnetic elements to store data. It has fast read and write speeds, low latency, and high endurance. MRAM could be integrated as a hybrid storage layer for TCAM, providing both speed and durability; (3) ReRAM is another emerging non-volatile memory technology that offers fast read and write speeds and relatively high endurance. It can be a candidate for use alongside TCAM to enhance performance and endurance. In addition to it, (4) FRAM is a non-volatile memory technology that combines the best attributes of RAM (fast read and write speeds) with non-volatile storage. While it may not offer the same capacity as other flash memory types, it can provide fast and reliable storage for frequently accessed TCAM data [
5,
6].
Furthermore, when selecting a flash memory technology to use in conjunction with TCAM, consider factors such as speed: choose a technology with low latency and fast read and write speeds to complement TCAM’s high-speed search operations. In addition to speed, look for memory with high endurance, as TCAM operations involve frequent write operations. Moreover, prioritize memory technologies with strong data retention and reliability characteristics. Further, evaluate the cost-effectiveness of the chosen memory technology for your specific use case. Finally, consider the feasibility and complexity of integrating the chosen memory technology into your TCAM architecture. Hence, it is important to collaborate with experts in both TCAM design and the chosen flash memory technology to ensure compatibility, performance, and longevity in your hybrid TCAM solution. Since technology landscapes evolve, it is advisable to consult the latest industry developments and research before making a decision.
Our previous works [
7,
8] discuss flash memory technologies, enumerate the benefits of flash storage devices and their usage in various markets such as mobile devices, IoT, laptop computers, etc., and discuss the recovery techniques of flash memory with the flash translation layer. Moreover, the works presented in [
8] illustrate an effective strategy of recovery for flash memory utilizing shadow paging. Various metrics are evaluated and compared with other schemes considering their memory type.
High-speed searching and accessing of data are primary tasks of any device to have a faster look-up operation. But it becomes critical for the operation to search more information at different instants with far-fetched throughput for various network algorithms, especially in SDN OpenFlow switches with TCAM limitations for the OpenFlow tables. The OpenFlow tables in switches are stored in TCAM. The works in [
9,
10,
11,
12,
13] show different schemes for the efficiency and fast searching of TCAM. Moreover, they also show the cost and energy efficiency of the TCAM employing different strategies for efficiency of the TCAM.
The authors in [
14,
15] focused on the SDN problems regarding the location selection for controllers in SD-IoT or on the controller’s selection. However, none of these works consider TCAM enhancement in combination with other memory technologies. To the best of our knowledge, these are pioneering works regarding increasing the effectiveness of TCAM through a selection of state-of-the-art memory technologies in conjunction with TCAM for SDN. The main contributions of our work are as follows.
First, we identify the state-of-the-art and compatible memory technologies with TCAM along with their features.
We formulate the problem for TCAM alternative technologies selection and ranking with ANP.
Further, we make a mathematical model and pictorial diagram of TCAM technologies and their features leveraging ANP.
Then, we apply a step-by-step method utilizing the ANP mathematical model to rank the memory technologies.
Finally, we compare the results from the switches with memory technology and rank our proposed ANP model higher than another mathematical model, the AHP [
16].
To validate the results’ effectiveness, we evaluate several metrics such as recovery delay, jitter, packets received ratio, and throughput, and compare them with the AHP model.
The rest of our paper is organized as follows. In
Section 2, we formulate the problem of memory technologies selection for TCAM with ANP. In
Section 3, the detailed mathematical model and step-by-step process of ANP with respect to the TCAM technologies are explained. Experiments are conducted and results are discussed in
Section 4.
Section 5 concludes the paper.
3. ANP Mathematical Model for Ranking the TCAM Alternatives
Herein, we model the problem of memory technology ranking and selection with ANP. The features of memory technologies are shown in Equation (1), while the technologies to be combined with TCAM are denoted in Equation (2). The details of these are given below.
Alternative Memory Technologies:
NAND: NAND is the non-volatile memory, i.e., it can hold the information even without the connectivity of power. The performance of NAND is comparatively lower than the 3D Xpoint. Hence, the ability of it to retain data without power makes it a great alternative for external as well as internal portable devices. Moreover, it can be utilized as a cache layer with TCAM access.
3D XPoint is a relatively new non-volatile memory technology developed by Intel and Micron. It offers higher performance and endurance compared to traditional NAND flash while maintaining lower latency. 3D XPoint memory could be used as a cache or secondary storage layer to accelerate TCAM access.
MRAM is a non-volatile memory technology that uses magnetic elements to store data. It has fast read and write speeds, low latency, and high endurance. MRAM could be integrated as a hybrid storage layer for TCAM, providing both speed and durability.
ReRAM is another emerging non-volatile memory technology that offers fast read and write speeds and relatively high endurance. It can be a candidate for use alongside TCAM to enhance performance and endurance.
FRAM is a non-volatile memory technology that combines the best attributes of RAM (fast read and write speeds) with non-volatile storage. While it may not offer the same capacity as other flash memory types, it can provide fast and reliable storage for frequently accessed TCAM data.
When selecting a flash memory technology to use in conjunction with TCAM, consider these factors:
Speed: Choose technology with low latency and fast read and write speeds to complement TCAM’s high-speed search operations.
Endurance: Look for memory with high endurance, as TCAM operations involve frequent write operations.
Reliability: Prioritize memory technologies with strong data retention and reliability characteristics.
Cost: Evaluate the cost-effectiveness of the chosen memory technology for your specific use case.
Integration Complexity: Consider the feasibility and complexity of integrating the chosen memory technology into your TCAM architecture.
It is important to collaborate with experts in both TCAM design and the chosen flash memory technology to ensure compatibility, performance, and longevity in your hybrid TCAM solution. Since technology landscapes evolve, it is advisable to consult the latest industry developments and research before making a decision. The overall step-by-step illustration of the ANP model is shown in
Figure 2. First of all, the memory technologies and their features are shown in the top left boxes. Then below these two boxes is a pairwise comparison box which shows that the alternatives (memory technologies as indicated in
Table 1) are compared in a matrix form with respect to their features (shown in
Table 2). The box with a consistency ratio (CR) is shown in
Figure 2, which is for the purpose of computation of the consistency among the pairwise comparison values. In simple words, while comparing the memory technologies regarding their features, we should assign accurate values. These values are shown in upcoming paragraphs with equations (i.e., CR). From the Consistency Index, the Consistency Index (CI) values are calculated and if these values are less than or equal to 0.1, then the judgments made in the comparison matrix are regarded as precise and accurate. If the judgments are not accurate, then they are calculated.
Figure 2 shows that the next two steps are the calculations of the unweighted and weighted supermatrices. These matrices show the final weights for the memory technologies. A memory technology with a high weight will be considered as the most favorable to be used with TCAM. More details for these matrices are given in the next subsections. Herein, we provide a brief overview of the steps in the ANP. In the next subsections, more explanation is provided with the support of expressions and equations.
3.1. TCAM (Alternatives) and Features Pairwise Comparison
The pairwise comparison matrix, in the context of the Analytical Network Process (ANP) decision-making method, is a fundamental component used to systematically assess and quantify the relative importance or preference of one criterion or element over another within a given decision-making framework. The ANP is an extension of the Analytic Hierarchy Process (AHP) designed to handle complex decision problems with interdependencies and feedback loops among criteria and elements.
In the ANP, decision-makers or experts are asked to provide pairwise comparisons between elements, which can be criteria, sub-criteria, or alternatives, depending on the specific decision problem. These pairwise comparisons are used to construct a square matrix known as the pairwise comparison matrix. The dimensions of the matrix correspond to the number of elements being compared.
The entries in the pairwise comparison matrix represent the strength of preference or importance of one element relative to another. The scale used for these comparisons often ranges from, for example, 1 (indicating equal importance) to 9 (indicating extremely stronger importance). The elements on the diagonal of the matrix typically have a value of 1, indicating that an element is equally important or preferable to itself.
Once the pairwise comparison matrix is completed, mathematical operations such as the Eigenvector method or the Saaty scale are applied to derive the weights or priority values for each element. These weights represent the relative importance of each element within the decision hierarchy.
The pairwise comparison matrix serves as a quantification of subjective judgments and allows decision-makers to incorporate their preferences and expertise into the decision model. The ANP then extends this process to account for the complex relationships and interdependencies between elements within a network structure, providing a more comprehensive and realistic approach to multi-criteria decision-making.
The Analytical Network Process (ANP), assessing the consistency of pairwise comparison matrices is essential to ensure the reliability of the decision-making process. The consistency ratio (CR) is used to measure the degree of inconsistency in a pairwise comparison matrix. To calculate the consistency ratio, we follow the following steps:
Pairwise Comparison Matrix (A):
First, you should have a pairwise comparison matrix (A), where each element A
ij represents the relative importance of element i compared to element j. This matrix is typically derived through expert judgment or surveys. The pairwise comparison matrix is indicated in (3). An example with filled values is shown in (4). In (4), the values are filled from a table of scale that shows the significance of one feature in comparison with other features in a memory technology. It is a nine-level scale, which is shown in
Table 3.
Calculate the Weighted Sum (W): Calculate the weighted sum of each column in matrix A. To do this, multiply each element of the matrix by the corresponding weight for the column and then sum the products. Let us denote the weights as w
1, w
2, …, w
n, and matrix A as A. The weighted sum for each column (S
j) is calculated as follows:
where Sj is the weighted sum for column j. A
ij is the element in the i-th row and j-th column of matrix A. w
i is the weight assigned to the i-th criterion or alternative. n is the number of criteria or alternatives.
Calculate the Consistency Index (CI): The Consistency Index (CI) is a measure of how consistent the pairwise comparison matrix is. It is calculated using the following formula:
where λ
max is the maximum eigenvalue of matrix A. n is the number of criteria or alternatives. To find the maximum eigenvalue, you can use mathematical software or calculators designed for this purpose.
Calculate the Random Index (RI): The Random Index (RI) is a reference value used to determine the level of consistency expected by chance. The RI depends on the order of the matrix (n), and you can find the corresponding RI values in pre-defined tables. For example, here are some common RI values for different matrix sizes, as shown in
Table 4.
We can use these RI values or refer to tables for larger matrices.
Calculate the consistency ratio (CR):
The consistency ratio (CR) is calculated by dividing the Consistency Index (CI) by the Random Index (RI):
If CR is less than or equal to 0.10 (some sources may use 0.15 as the threshold), it is generally considered acceptable, indicating an acceptable level of consistency in the pairwise comparison matrix. If CR exceeds this threshold, it suggests a need for reconsidering the judgments and making adjustments to improve consistency.
In summary, the consistency ratio (CR) in the Analytical Network Process (ANP) is a measure of the consistency of a pairwise comparison matrix. It is calculated by comparing the Consistency Index (CI) to a reference value known as the Random Index (RI). A CR below a certain threshold indicates an acceptable level of consistency in the matrix. If the CR exceeds the threshold, it suggests that the judgments may be inconsistent, and revisions may be needed.
3.2. Weighted Supermatrix
The weighted supermatrix is a crucial component in the ANP that captures the relative importance or weight of each criterion and sub-criterion in a decision-making hierarchy. To illustrate this concept as a scholar, let us consider an example of a project selection process for a construction company.
Imagine you are tasked with evaluating different construction projects for your company, and you have identified various criteria such as cost, timeline, environmental impact, and safety. Each of these criteria is further divided into sub-criteria. The weighted supermatrix represents the pairwise comparisons and weights assigned to these criteria and sub-criteria.
In mathematical terms, the weighted supermatrix W is a square matrix where each element Wij represents the relative importance or weight assigned to criterion i compared to criterion j. These weights are typically obtained through expert judgment or surveys. The matrix is consistent when the sum of its elements in each column is equal to 1.
3.3. Limit Supermatrix
The limit supermatrix in the ANP is used to capture the overall influence and interdependence of elements within the decision-making hierarchy. It takes into account both the direct and indirect influences among criteria, sub-criteria, and alternatives.
Continuing with the construction project example, imagine that the cost criterion directly influences the selection of materials, which in turn affects the project timeline and environmental impact. The limit supermatrix represents these complex interactions.
In mathematical terms, the limit supermatrix L is a square matrix where each element Lij represents the total influence of element i on element j, considering all direct and indirect paths. It is obtained by raising the weighted supermatrix W to various powers until it converges to a stable state. This process accounts for feedback loops and dependencies within the decision hierarchy.
In the analytical network process (ANP), the limit supermatrix gives the final weights of the alternatives or the memory technologies, as in our paper we are making a ranking of it. In our paper, this ranking is shown in
Table 5 from the limit supermatrix. The weighted supermatrix was computed through raising it to a higher power till it converged into a matrix containing stable values, i.e., with no further change. The stable matrix is known as a limit supermatrix. The limit matrix shows the weights of the alternatives and the criteria, i.e., the final prioritized values. The limit matrix is the resulting matrix that comprises the final weights measured against each element in the criteria (features of memory) and alternative (memory technologies) clusters. Consequently, it was obtained from the weighted supermatrix by raising the values in the matrix to the power of 2
k until we obtained the same values in each row. Herein,
k denotes any random number.
The weighted supermatrix and limit supermatrix are fundamental components of the Analytical Network Process (ANP). They play a key role in structuring and evaluating complex decision-making problems, allowing decision-makers to consider both the importance of criteria and the interrelationships among them in a rigorous and systematic manner.
Table 5 indicates the final rank values from the limit supermatrix. It shows that the higher weight is for memory technology 5 (MT
5, W
5 with 4) and the lesser weight is indicated for the memory technology 2 (W
1), i.e., MT
5 and MT
2.
4. Simulations and Results
In this section, we provide the effectiveness of combining the suitable memory technology with TCAM. In this regard, we assume that the selected technology (W
5 associated with TM
5) has less delay in writing the flow operations when the link recovery process is performed, and the additional flows are to be written in the flow table in TCAM and its combined memory. To prove our hypothesis, we make an experimental evaluation. Moreover, we compared it with the AHP. Further, we make a network with Abilene, RedIris, USNet, DFN, and Interoute topologies in Mininet [
17]. Then we make a link failure in the network. Then we recover that link with the alternate shortest path recovery algorithm (Dijkstra) [
18].
Herein, we calculate the recovery delay for these five topologies in Mininet. The equation for recovery delay is given below. The recovery delay is a cumulative sum of the path finding delay, the delay for insertion of flow rules (modified).
Figure 3 shows the recovery delay in five topologies. To calculate the recovery delay, we made a link fail in each topology, then we used the Dijkstra shortest path algorithm to find an alternative route for the failed route and calculated this time. Moreover, we also calculated the delay in inserting the flow entries in the flow table of the switches in the data plan. The total delay for each topology is calculated using the two kinds of switches that we rank through the AHP and our proposed methodology. The graphs show that the delay for our proposed ANP strategy is smaller than the AHP scheme. The effectiveness of the proposed method is due to the effective selection of suitable memory technology which reduces the flow insertion time, resulting in the reduction in the total delay. Moreover, the graph also shows the delay in Abilene is smaller than other layouts. Abilene has the smallest number of nodes and links in the topology. Hence, the complexity of the Abilene network is lower than other topologies, resulting in less delay. In addition,
Figure 3 shows the highest recovery delay for the Interoute Network. The Interoute Network has a greater number of nodes and links than other topologies such as RedIris, DFN, and USNet. Hence, the recovery delay is also higher than other networks due to the increased complexity of the Interoute. Equation (5) in this paper shows the recovery delay in milliseconds (ms). The recovery delay is a sum of two parameters, D
p and D
F. D
P shows the path calculation delay, which is for finding the shortest path for the failed link (the alternative shortest path) and D
F shows the flow insertion delay (which is for pushing the flow rules in the TCAM of the SDN switches).
Herein, we want to explain further, to clarify the recovery delay more for the reviewer. Here is a stepwise explanation.
Step 1: In the network topologies (which are used for experiments), we deliberately made a link fail with the link failure command in the Mininet Emulator.
Step 2: The SDN controller periodically checks the link failures with the link layer discovery protocol (LLDP). Consequently, the controller in SDN discovers the failed link through the LLDP.
Step 3: Then, the controller recovers the link, and we calculate the delay which is the recovery delay indicated with D
R. The D
R consists of two parameters, i.e., D
P and D
F. D
P shows an alternative path for the failed link (original path). Moreover, D
F shows the flow insertion delay, i.e., the flow rules for the modified alternative path. The flow insertion for the ANP selected memory takes less time, as indicated in
Figure 3. We have cross-calculated the recovery delay in five network topologies to verify that the recovery delay is less than the AHP selected memory technology.
Figure 4 shows the packets received ratio (PRR). The PRR is calculated using D-ITG utility [
19] in the Mininet Emulator. To calculate the PRR, we opened two graphical interfaces utilizing Xming server utility between the source and destination hosts. Then, we started sending traffic from the sender to the receiver host. Moreover, we made a link fail, and the Dijkstra algorithm recovered it during this activity. However, some packets were lost during the activity due to the link failure. Hence, we recorded the total number of received packets over the total number of sent packets, which we call the PRR. The PRR is calculated using two kinds of switch memory technologies obtained with the AHP and the proposed ANP approach. Our proposed approach shows a high PRR as compared to the AHP. The effectiveness of the proposed method is verified through a high PRR.
Figure 5 shows the throughput (packets received in 1000 s from sender to receiver hosts) comparison computer using two kinds of switches, i.e., the one with our proposed scheme and one with the AHP strategy. The throughput is greater than the AHP approach. The throughput is calculated using IPERF [
20] over a period of 1000 s. The figure shows the average number of packets received at the receiver for a period of 1000 s. The graph shows the results for throughput calculated in the five topologies. The throughput through IPERF is computed by selecting a random pair of sending and receiving hosts attached to the switches in each topology. Then, we started Xming interfaces, sending and receiving hosts, and utilized IPERF utility for computing the throughput.
Figure 6 indicates the jitter calculation of the proposed approach, leveraging ANP with the AHP method.
Figure 6 represents that the jitter is less for the proposed approach than the AHP-based method. The jitter is computed during the recovery of networks (Abilene, RedIris, USNet, DFN, and Interoute). During the recovery of these networks, the TCAM was consulted for inserting the flow rules in the switches. Hence, the recovery jitter (time in milliseconds) for the ANP-based method is less because of the effective memory used with TCAM as compared with the AHP. It is also observed from
Figure 6 that the jitter is high in layouts or topologies with a higher number of nodes and edges, such as RedIris, USNet, DFN, and Interoute, as compared to Abilene. From Abilene to Interoute, the number of nodes and edges increases towards the Interoute topology, which has the higher jitter compared to Abilene.
5. Conclusions
In this paper, we developed a scheme for enhancing the capacity of TCAM with state-of-the-art memory technologies. TCAM is used in OpenFlow switches for storing the flow tables. Hence, when flows are inserted in OpenFlow switches, the appropriate memory technology helps in reducing the flow insertion delay, and jitter. Moreover, the proper selection also increases the throughput and PRR. First, we proposed a method leveraging the ANP mathematical decision-making model to rank the memory technologies according to their features. Then, we used two kinds of switches in the experimental evaluation to validate the effectiveness of the mathematical model, i.e., the one we selected through the ANP and the other one through the AHP. Furthermore, we evaluated the effectiveness of suggested methodology through various experiments in five different topologies emulated in the SDN emulator, i.e., Mininet, where we made a failure in the network (link failure). Then, the network recovered and inserted the updated flow entries in the underlying switches with memory technologies selected using the ANP and AHP. More and more, we have evaluated the recovery delay, jitter, throughput, and PRR through these two kinds of switches, with memory technologies selected with the ANP as well as the AHP. The experiments showed that the memory technology selected through the ANP for TCAM in SDN switches has higher throughput, less delay and jitter, and higher PRR. In a nutshell, the mathematical model experiments were verified by experimental evaluations.