Search

KR-20260064452-A - METHOD FOR DETERMINING MAP SIZE AND APPARATUS THEREOF

KR20260064452AKR 20260064452 AKR20260064452 AKR 20260064452AKR-20260064452-A

Abstract

The present invention relates to a method for determining a map size to improve the performance of network equipment, comprising: a step of collecting data related to network equipment placed between a client and a server; a step of generating a plurality of training datasets based on the collected data; a step of generating an artificial intelligence (AI) model based on the generated training datasets using a predetermined machine learning algorithm; and a step of determining the size of a map to be used for the operation of the network equipment using the generated AI model.

Inventors

  • 강효성
  • 오화용
  • 이정호
  • 권영운

Assignees

  • 삼성에스디에스 주식회사

Dates

Publication Date
20260507
Application Date
20250414
Priority Date
20241031

Claims (20)

  1. In a method for determining map size performed by a computing device, A step of collecting data related to network equipment placed between a client and a server; A step of generating multiple training datasets based on the collected data above; A step of generating an artificial intelligence (AI) model based on the generated training dataset using a predetermined machine learning algorithm; and A method for determining map size, comprising the step of determining the size of a map to be used for the operation of the network equipment using the artificial intelligence model generated above.
  2. In paragraph 1, A method for determining map size, characterized in that the above network equipment is a load balancer with an eBPF (Extended Berkeley Packet Filter) program installed.
  3. In paragraph 1, A method for determining map size, characterized in that the above map includes at least one of a VIP (Virtual IP) map, a CT (Connection Tracking) map, an LT (Lookup Table) map, a SA (Server Address) map, and a NAT (Network Address Translation) map.
  4. In claim 1, the step of generating the training datasets is, A step of filtering the collected data above; A step of classifying the above-mentioned filtered data according to the operating mode of the network equipment; and A method for determining map size characterized by including a step of extracting data that affects the performance of the network equipment from among the classified data.
  5. In paragraph 4, the step of filtering the collected data is, A method for determining map size characterized by calculating the rate of change in traffic throughput at each point in time based on traffic throughput information included in the collected data, and filtering the collected data based on the calculated rate of change in traffic throughput.
  6. In paragraph 4, the step of generating the above-mentioned training datasets is, A step of normalizing the above extracted data; and A method for determining map size characterized by further including the step of generating multiple training datasets based on the normalized data above.
  7. In paragraph 6, A method for determining map size, characterized in that each training dataset includes map_size data corresponding to the dependent variable of the machine learning algorithm, and at least one of cpu_core data, hop_count_client data, hop_count_server data, lb_setup data, nw_config data, client_number data, server_number data, and map_type data corresponding to the independent variables of the machine learning algorithm.
  8. In paragraph 1, A method for determining map size, characterized in that the machine learning algorithm comprises at least one of a K-Nearest Neighbors (KNN) algorithm, a forward regression algorithm, a logistic regression algorithm, a Support Vector Machine (SVM) algorithm, and a neural network algorithm.
  9. In paragraph 1, A method for determining map size that further includes a step of verifying the performance of the artificial intelligence model based on the error rate of the artificial intelligence model.
  10. In paragraph 1, the step of generating the artificial intelligence model is, A method for determining map size characterized by generating an artificial intelligence model for each operating mode of the above-mentioned network equipment.
  11. In paragraph 1, A step of generating input data for the above artificial intelligence model; and A method for determining map size that further includes a step of verifying the input data generated above.
  12. In Paragraph 11, A method for determining map size characterized by the above input data being generated based on information regarding the network structure and network resource environment in which the network equipment will be operated.
  13. In Paragraph 11, If the validation of the above input data fails, A method for determining map size that further includes the step of determining the size of a map to be used for the operation of the network equipment based on a default value.
  14. A computer program stored on a computer-readable recording medium so that a method according to any one of claims 1 to 13 is executed on a computer.
  15. A map size determining device comprising one or more processors that execute multiple instructions for performing multiple operations and one or more memories that store said multiple instructions, The above plurality of operations are: An operation to collect data related to network equipment placed between a client and a server; The operation of generating multiple training datasets based on the collected data above; The operation of generating an artificial intelligence (AI) model based on the generated training dataset using a predetermined machine learning algorithm; and A map size determination device comprising the operation of determining the size of a map to be used for the operation of the network equipment using the artificial intelligence model generated above.
  16. In paragraph 15, The above network equipment is a map size determination device characterized by being a load balancer with an eBPF (Extended Berkeley Packet Filter) program installed.
  17. In paragraph 15, A map size determining device characterized by including at least one of a VIP (Virtual IP) map, a CT (Connection Tracking) map, an LT (Lookup Table) map, a SA (Server Address) map, and a NAT (Network Address Translation) map.
  18. In paragraph 15, the operation of generating the above-mentioned training datasets is, An operation to filter the collected data above; The operation of classifying the above-mentioned filtered data according to the operating mode of the network equipment; and A map size determination device characterized by including an operation to extract data that affects the performance of the network equipment from among the classified data.
  19. In paragraph 15, the above plurality of operations are, A map size determination device further comprising an operation to verify the performance of the artificial intelligence model based on the error rate of the artificial intelligence model.
  20. In paragraph 15, the above plurality of operations are, The operation of generating input data for the above artificial intelligence model; and A map size determination device further comprising an operation to verify the input data generated above.

Description

Method for Determining Map Size and Apparatus Thereof The present invention relates to middleware placed between a client and a server, and more specifically, to a method and apparatus for determining the size of an eBPF map used in the operation of an eBPF (Extended Berkeley Packet Filter) based load balancer. A Load Balancer (LB) is a network device placed between clients and a server pool to distribute the load on the servers. The load balancer performs the function of evenly distributing network traffic and client requests to multiple servers. Recently, eBPF (Extended Berkeley Packet Filter) technology, which allows programs to run within the Linux kernel, has been proposed. By applying this eBPF technology to load balancers, high-performance network systems capable of high-speed packet processing are being implemented. Unlike a general load balancer (L4LB), an eBPF-based load balancer does not use the network stack in kernel space for high-speed packet processing. For example, as shown in FIG. 1, a general load balancer (11) determines the server (30) to which a service request packet will be delivered using layer-by-layer header information of the network stack, and forwards the packet to the determined server (30). However, an eBPF-based load balancer (12) determines the server (30) to which a service request packet will be sent through an eBPF program in the XDP (eXpress Data Path) of the driver space, and forwards the packet to the determined server (30). An eBPF-based load balancer (12) determines the processing method of packets using an eBPF program. At this time, the eBPF program refers to an eBPF map, and the types of eBPF maps include a VIP (Virtual IP) map, a CT (Connection Tracking) map, an LT (Lookup Table) map, and a SA (Server Address) map. For example, as shown in FIG. 2a, the eBPF program checks whether a service is registered by querying the VIP map based on the IP address and port number indicating the destination of a service request packet. If, as a result of querying the VIP map, a service exists, the eBPF program queries the CT map to detect a server ID, and based on the detected server ID, queries the SA map to determine the server IP address and port number. Meanwhile, if there is no server ID in the CT map, the eBPF program queries the LT map to detect a server ID, queries the SA map based on the detected server ID to determine the server IP address and port number, and updates the corresponding server ID in the CT map. Meanwhile, two operation modes are supported depending on the method by which a server (30) receives a service request packet through an eBPF-based load balancer (12) and transmits a service response packet to a client (20). For example, as shown in FIG. 2b, a proxy mode is supported in which a service response packet is transmitted from the server (30) to the client (20) via the load balancer (12), and a Direct Server Return (DSR) mode is supported in which a service response packet is transmitted directly from the server (30) to the client (20) without passing through the load balancer (12). In proxy mode, the eBPF-based load balancer (12) determines the packet processing method through the eBPF program. At this time, the eBPF program refers to a Network Address Translation (NAT) map, which is a type of eBPF map. For example, as shown in FIG. 2c, the NAT entry registered in the NAT map includes an Ingress NAT Entry for processing service request packets and an Egress NAT Entry for processing service response packets per session. Thus, for high-speed packet processing of the eBPF-based load balancer (12), the eBPF program refers to the aforementioned eBPF maps. When the eBPF program is executed, the eBPF map has a fixed size, so dynamic changes according to the network environment are not possible. Therefore, it is necessary to determine in advance the size of the eBPF map to be used in the eBPF program. If the eBPF map size is increased indiscriminately to accommodate many sessions in an eBPF-based load balancer (12), a heavy load will be generated during the process of referencing, creating, and deleting entries in the eBPF map. Since the basic session scale between the eBPF-based load balancer (12) and the server pool (30) must be accommodated, the eBPF map size cannot be reduced indiscriminately. Furthermore, since the performance of the eBPF-based load balancer (12) may vary depending on the network environment, there are limitations to determining the eBPF map size simply by heuristics. Therefore, a method is required to determine the optimal eBPF map size to improve the performance of the eBPF-based load balancer (12). FIG. 1 is a diagram illustrating the operation of a general load balancer and an eBPF-based load balancer; FIGS. 2a to 2c are drawings illustrating eBPF maps used in eBPF programs; FIG. 3 is a diagram showing the configuration of a map size determining device according to an embodiment of the present invention; FIG. 4 is a diagram illustr