Aviation airborne computing platform architecture design method

By using heuristic algorithms to dynamically allocate computing modules and switches on the aviation airborne computing platform, the problem of unbalanced resource allocation in the existing technology is solved, and more efficient resource utilization and communication performance is achieved.

CN119806836APending Publication Date: 2025-04-11CHINESE AERONAUTICAL RADIO ELECTRONICS RES INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411936827.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The existing aeronautical airborne computing platform architecture design is difficult to accurately generate computing platform components and communication links based on communication needs, resulting in the problems of waste of resources and unbalanced load.

Method used

A heuristic algorithm is used to dynamically determine the number of computing modules and switches according to the needs of network communication and task operation, and the resident application is allocated to the corresponding computing modules through an intelligent allocation algorithm to ensure load balancing and reasonable allocation of resources.

Benefits of technology

It realizes the precise allocation of computing resources, improves the utilization rate of computing modules, reduces the communication load and delay of the switch, and avoids the problems of resource waste and load imbalance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806836A_ABST
    Figure CN119806836A_ABST
Patent Text Reader

Abstract

The invention relates to avionics system architecture design, in particular to an aviation airborne computing platform architecture design method. The method comprises the following steps: determining the number of calculation modules and the number of switches according to requirements of network communication and task operation; calculating resources required by each resident application, and allocating the resident applications to corresponding calculation modules according to the relationship between the resources required by the resident applications and the applications; and according to the communication bandwidth requirement of each computing module, the computing modules are connected with the switches, and then the switches are cascaded in a net shape to generate a platform communication link.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an avionics system architecture design, and in particular to an aviation airborne computing platform architecture design method. Background Art

[0002] Aircraft onboard computing platforms play a key role in the field of modern avionics, providing infrastructure to support large-scale data processing and high-performance computing. The core of this is the architecture design, which is responsible for intelligently allocating applications to physical resources to ensure efficient use of resources and overall optimization of the system.

[0003] Aviation airborne computing platforms are typically equipped with 10 / 100Gbps high-speed lossless Ethernet interconnection. This network infrastructure provides a low-latency and high-bandwidth environment, ensuring rapid data transmission between different nodes. It is the basis for achieving efficient parallel computing and data-intensive task processing.

[0004] Architecture design software is crucial in this platform. Its main task is to place various applications on appropriate physical resources. This process requires comprehensive consideration of factors such as the application's computing requirements, memory usage, storage space, and network bandwidth. The software uses intelligent algorithms and predictive models to dynamically evaluate and adjust resource allocation to cope with changing loads and demands. This intelligent mapping not only improves resource utilization, but also significantly improves system performance and responsiveness.

[0005] Intelligent computing units are the core components of the platform, usually including multi-core processors, GPUs, and FPGAs to meet diverse computing needs. Architecture design software needs to flexibly adapt these computing units and select the optimal computing resources based on application characteristics. For example, image processing tasks may be more suitable for running on GPUs, while data analysis tasks may be more suitable for processing on multi-core CPUs.

[0006] In general, the architectural design of aviation onboard computing platforms supports the needs of large-scale data processing through efficient resource management and optimized design strategies, and promotes the digital transformation and innovative development of various industries. Summary of the invention

[0007] Purpose of the invention: The present invention provides an aviation airborne computing platform architecture design method, which is used to generate aviation airborne computing platform components and communication links according to communication requirements, allocate resident applications to corresponding computing modules based on a heuristic algorithm to achieve load balancing requirements, and finally generate an airborne computing platform architecture to achieve reasonable allocation of computing resources.

[0008] Technical solution:

[0009] A method for designing an aviation airborne computing platform architecture is provided, comprising:

[0010] Determine the number of computing modules and switches based on network communication and task operation requirements;

[0011] Calculate the resources required by each resident application, and allocate the resident application to the corresponding computing module according to the resources required by the resident application and the relationship between the applications;

[0012] According to the communication bandwidth requirements of each computing module, it is connected to the switch, and then the switches are cascaded in a mesh to generate a platform communication link.

[0013] Furthermore, the number of computing modules is determined based on the requirements of network communication and task operation, including:

[0014] Computing platform CPU requirement N CPU : C 执行时间i is the execution time of the ith resident application; P 应用周期i is the application period of the i-th resident application; n is the number of resident applications;

[0015] Compute platform memory requirements N 内存 : M 应用内存需求i is the memory requirement of i resident applications;

[0016] Bandwidth requirement of computing platform N 带宽 : S 消息长度j is the length of the jth message of the i-th resident application, P 消息周期j is the jth message cycle of the i-th resident application.

[0017] Take N CPU 、N 内存 、N 带宽 The maximum value is used as the number of calculation modules.

[0018] Furthermore, the number of switches Num 交换机 The calculation function is:

[0019] Num 交换机 [Port-(Num 交换机 -1)]=Num 计算模块 ;

[0020] Among them, port is the port number of each switch.

[0021] Furthermore, resources include CPU resources, storage resources, and bandwidth resources. Based on the resources required by the resident applications and the relationship between the applications, the resident applications are allocated to corresponding computing modules, including:

[0022] A. Obtain the binding and mutual exclusion relationships of the resident applications to be allocated; extract the resident applications with binding relationships to form a binding application queue; and arrange the remaining applications in descending order of required resources to form an application queue;

[0023] B. Obtain the CPU occupancy, memory occupancy, and bandwidth occupancy of each computing module, score the computing module, and generate a computing module allocation queue based on the score;

[0024] C. Selecting an unallocated computing module in the computing module allocation queue in order, and allocating the unallocated resident application to the computing module, after which the CPU occupancy rate, memory occupancy rate, and bandwidth occupancy rate of the computing module change, and executing step B;

[0025] D. If there is a resident application that is mutually exclusive with the resident application in the computing module, remove the computing module from the queue, select the next computing module in the computing module allocation queue, and so on, and allocate the application to the computing module. After that, the CPU occupancy rate, memory occupancy rate, and bandwidth occupancy rate of the computing module change, and execute step B;

[0026] E. If there is no computing module in the computing module allocation queue, a new computing module is generated, and the unallocated resident application is allocated to the newly generated computing module. After that, the CPU occupancy rate, memory occupancy rate, and bandwidth occupancy rate of the computing module change, and step B is executed;

[0027] During the allocation process, computing modules are first allocated to bound application queues. After the bound application queues are allocated, computing modules are allocated to application queues. Bound applications refer to several resident applications bound together for use. Bound applications are allocated as one resident application. Mutually exclusive applications refer to several resident applications that affect each other's use. Mutually exclusive applications cannot be allocated to the same computing module.

[0028] Furthermore, the calculation formula of the score is:

[0029]

[0030] Score2 = 1-Var;

[0031]

[0032] Where N CPU is the CPU usage, N Ram is the memory usage, N Bandwidth is the bandwidth occupancy rate, Mean is the mean of the three requirements; Var is the variance of the CPU, memory and bandwidth occupancy rates of the computing module, Score1 is score 1, and Score2 is score 2.

[0033] Furthermore, according to the communication bandwidth requirements of each computing module, it is connected to the switch, and then the switches are cascaded in a mesh to generate a platform communication link, including:

[0034] Sort the computing modules according to bandwidth utilization from large to small to form a computing module queue, sort the switches according to used bandwidth from small to large to form a switch queue, take out the computing modules and switches from the computing module queue and switch queue respectively, connect them, remove the computing module from the queue, and re-sort the switch queue according to used bandwidth until all computing module queues are empty.

[0035] Furthermore, the lower the computing module resource usage is, the higher the Score1 is.

[0036] Furthermore, the smaller the variance of the three resource occupancy rates of the computing module is, the higher the Score2 is.

[0037] Beneficial effects:

[0038] 1. The required number of computing modules and switches can be calculated based on the overall CPU demand, storage demand and bandwidth demand of the platform. Compared with the previous method of determining the number of components based on experience, the method of this patent can more accurately determine the number of computing modules and switches required for the platform, avoiding waste of resources and the need for redesign due to insufficient resources in early planning.

[0039] 2. Considering the module load and the mutually exclusive relationship between application binding, the resident applications can be reasonably allocated to the computing modules using the algorithm of this patent, so that the load of each module can be kept as balanced as possible, and the resources of each module can be fully utilized without exceeding the upper limit. Compared with the traditional allocation method, the utilization rate of the computing module can be improved.

[0040] 3. It can establish the connection relationship between the computing module and the switch while considering the communication needs of the modules, so as to avoid the modules with high communication load being concentrated on one switch. Compared with the past, it can reduce the communication load of the switch and the communication delay. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 Flowchart of the calculation method for the platform components.

[0042] Figure 2 Flowchart of the method for assigning resident tasks. DETAILED DESCRIPTION

[0043] The present invention is further described in detail below based on the accompanying drawings and embodiments.

[0044] The present invention provides an aviation airborne computing platform architecture design method, which mainly includes: a method for calculating the number of platform components including switches and computing resources, a method for allocating resident applications to each computing module, and a method for generating topological connections between switches and computing resources.

[0045] Calculation method for the number of platform components: According to the requirements of network communication and task operation, the number of computing modules required considering the platform CPU requirements, storage requirements, and bandwidth requirements is calculated respectively, and the maximum value is taken as the number of computing modules. According to the number of computing modules, in order to reduce the communication between switches and reduce the message delay, the switch mesh cascade is considered, and the number of switches is calculated accordingly.

[0046] Resident application allocation method: Calculate the CPU resources, storage resources, and bandwidth resources required by each application. Obtain the binding and mutual exclusion relationship of tasks. Sort all tasks from large to small according to the resource (resident application) occupancy, first allocate tasks with binding relationships, and then allocate each application to the corresponding module according to the algorithm while considering the mutual exclusion relationship. Verify the resource occupancy of each module while allocating. If the resources are insufficient, add computing modules before allocating.

[0047] Platform communication link generation method: Sort the modules according to the required communication bandwidth from large to small, select the switch with the smallest communication bandwidth, connect it to it, update the switch bandwidth, repeat this step for each module until all modules are connected to the switch. Then cascade the switches in a mesh.

[0048] The process of the implementation scheme of the present invention is as follows:

[0049] (1) Calculation method of the number of platform components

[0050] Calculate the number of computing modules and switches required based on the overall CPU, storage, and bandwidth requirements of the platform, such as Figure 1 shown.

[0051] a) Platform demand calculation

[0052] In the design of this model, we claim to protect the following ideas

[0053] 1. The platform CPU requirement is calculated by adding the ratio of each application's execution time to the application's cycle time.

[0054]

[0055] 2. The platform memory requirement is calculated by adding the memory requirements of each application.

[0056]

[0057] 3. The bandwidth requirement of the platform is: first calculate the ratio of the message length to the period of all messages under the application, and then add the bandwidth requirements of all applications to get the bandwidth requirement of the platform. In the formula, m is the number of messages of each application, and n is the number of applications.

[0058]

[0059] b) Calculation of the number of computing modules

[0060] In the design of this model, we claim to protect the following ideas

[0061] 1. The number of computing modules is calculated by calculating the ratio of the platform CPU demand to the module CPU utilization, the ratio of the platform memory demand to the module memory utilization, and the ratio of the platform bandwidth demand to the module bandwidth utilization. The maximum value of these three results is the number of computing modules.

[0062]

[0063] c) Calculation of the number of switches

[0064] In order to reduce the communication load of the switch and reduce the communication delay, the switch adopts a mesh cascade mode, and any two switches are cascaded. The number of switches required can be calculated based on the number of calculation modules obtained in the previous step. In the formula, port is the number of ports of each switch.

[0065] Num 交换机 [Port-(Num 交换机 -1)]=Num 计算模块

[0066] In the design of this model, we claim to protect the following ideas

[0067] 1. Use the formula: Num 交换机 [Port-(Num 交换机 -1)]=Num 计算模块 Calculate the number of switches.

[0068] (2) Resident Application Allocation Method

[0069] Taking into account the module load and the mutually exclusive relationship between application binding, the resident applications are reasonably allocated to the computing modules using the algorithm of this patent. Figure 2 shown.

[0070] In the design of this model, we claim to protect the following ideas

[0071] 1. Preprocess the applications to be allocated and calculate the CPU resources, storage resources, and bandwidth resources required by each application.

[0072] 2. Arrange the applications in descending order of required resources to form an application queue.

[0073] 3. Generate a computing module allocation queue based on the algorithm.

[0074] 4. Select the first computing module in the queue and assign the application to it.

[0075] 5. If there is an application that is mutually exclusive with this application in the computing module, remove the computing module from the queue, select the first computing module in the queue again, and so on, assign the application to the computing module, and remove the application from the queue.

[0076] 6. If there are no computing modules in the queue, a new computing module is generated and the application is assigned to the newly generated computing module.

[0077] a) Data Preprocessing

[0078] Calculate the CPU resources, storage resources, and bandwidth resources required by each application. Obtain the binding and mutual exclusion relationships of tasks. Extract the applications with binding relationships to form a binding application queue. Arrange the remaining applications in descending order of required resources to form an application queue.

[0079] b) Generate a priority queue for computing module allocation

[0080] Calculate the scores of all calculation modules according to the following formula

[0081]

[0082] Where N CPU is the CPU usage, N RAM is the memory usage, N Bandwidth is the bandwidth usage, and Mean is the mean of the three requirements.

[0083]

[0084] Where Var is the variance of CPU, memory and bandwidth utilization of the computing module.

[0085]

[0086] Score1 is calculated by the above formula. The lower the module resource usage, the higher the score Score1

[0087] Score2=1-Var

[0088] Score2 is calculated using the above formula. The smaller the variance of the three resource occupancy rates of the module, the higher the score.

[0089]

[0090] Score is the average of the two scores. The modules are sorted in descending order according to the score to form a priority queue for computing module allocation.

[0091] In the design of this model, we claim to protect the following ideas

[0092] 1. The method for scoring each calculation module is:

[0093] Score2=1-Var

[0094]

[0095] c) Resident Application Allocation

[0096] Take the application from the application queue, calculate the allocation priority queue for all computing modules according to the above method, select the first computing module in the queue, and allocate the application to the selected computing module. Update the resource utilization of the module. If there is an application that is mutually exclusive with the application in the computing module, remove the computing module from the queue, select the first computing module in the queue again, and so on, allocate the application to the computing module, and remove the application from the queue. If there is no computing module in the queue, generate a new computing module and allocate the application to the newly generated computing module.

[0097] (3) Platform communication link generation method

[0098] Sort the computing modules according to bandwidth utilization from large to small to form a computing module queue, sort the switches according to used bandwidth from small to large to form a switch queue, take out computing modules and switches from the computing module queue and the switch queue respectively, connect them, remove the computing module from the queue, and re-sort the switch queue according to used bandwidth until all computing module queues are empty.

[0099] In the design of this model, we claim to protect the following ideas

[0100] 1. Sort the computing modules according to bandwidth utilization from large to small to form a computing module queue. Sort the switches according to used bandwidth from small to large to form a switch queue.

[0101] 2. Connect the first module in the computing module queue to the first switch in the switch queue.

[0102] 3. Remove the computing module from the queue and re-sort the switch queue according to the used bandwidth.

Claims

1. A method for designing an aviation airborne computing platform architecture, characterized in that: include: Determine the number of computing modules and switches based on network communication and task operation requirements; Calculate the resources required by each resident application, and allocate the resident application to the corresponding computing module according to the resources required by the resident application and the relationship between the applications; According to the communication bandwidth requirements of each computing module, it is connected to the switch, and then the switches are cascaded in a mesh to generate a platform communication link.

2. The method according to claim 1, characterized in that Determine the number of computing modules based on network communication and task operation requirements, including: Computing platform CPU requirements C 执行时间i is the execution time of the ith resident application; P 应用周期i is the application period of the i-th resident application; n is the number of resident applications; Computing platform memory requirements M 应用内存需求i is the memory requirement of i resident applications; Bandwidth requirements of computing platforms S 消息长度j is the length of the jth message of the i-th resident application, P 消息周期j is the jth message cycle of the i-th resident application; Take N CPU 、N 内存 、N 带宽 The maximum value is used as the number of calculation modules.

3. The method according to claim 2, characterized in that Number of switches 交换机 The calculation function is: Num 交换机 [Port-(Num 交换机 -1)]=Num 计算模块 ; Among them, port is the port number of each switch.

4. The method according to claim 3, characterized in that Resources include CPU resources, storage resources, and bandwidth resources. They are allocated to corresponding computing modules based on the resources required by resident applications and the relationship between applications, including: A. Obtain the binding and mutual exclusion relationships of the resident applications to be allocated; extract the resident applications with binding relationships to form a binding application queue; and arrange the remaining applications in descending order of required resources to form an application queue; B. Obtain the CPU occupancy, memory occupancy, and bandwidth occupancy of each computing module, score the computing module, and generate a computing module allocation queue based on the score; C. Selecting an unallocated computing module in the computing module allocation queue in order, and allocating the unallocated resident application to the computing module, after which the CPU occupancy rate, memory occupancy rate, and bandwidth occupancy rate of the computing module change, and executing step B; D. If there is a resident application that is mutually exclusive with the resident application in the computing module, remove the computing module from the queue, select the next computing module in the computing module allocation queue, and so on, and allocate the application to the computing module. After that, the CPU occupancy rate, memory occupancy rate, and bandwidth occupancy rate of the computing module change, and execute step B; E. If there is no computing module in the computing module allocation queue, a new computing module is generated, and the unallocated resident application is allocated to the newly generated computing module. After that, the CPU occupancy rate, memory occupancy rate, and bandwidth occupancy rate of the computing module change, and step B is executed; During the allocation process, computing modules are first allocated to bound application queues. After the bound application queues are allocated, computing modules are allocated to application queues. Bound applications refer to several resident applications bound together for use. Bound applications are allocated as one resident application. Mutually exclusive applications refer to several resident applications that affect each other's use. Mutually exclusive applications cannot be allocated to the same computing module.

5. The method according to claim 4, characterized in that The calculation formula of score is: Score2 = 1-Var; Where N CPU is the CPU usage, N Ram is the memory usage, N Bandwidth is the bandwidth occupancy rate, Mean is the mean of the three requirements; Var is the variance of the CPU, memory and bandwidth occupancy rates of the computing module, Score1 is score 1, and Score2 is score 2.

6. The method according to claim 1, characterized in that According to the communication bandwidth requirements of each computing module, it is connected to the switch, and then the switches are cascaded in a mesh to generate a platform communication link, including: Sort the computing modules according to bandwidth utilization from large to small to form a computing module queue, sort the switches according to used bandwidth from small to large to form a switch queue, take out the computing modules and switches from the computing module queue and switch queue respectively, connect them, remove the computing module from the queue, and re-sort the switch queue according to used bandwidth until all computing module queues are empty.

7. The method according to claim 5, characterized in that The lower the computing module resource usage, the higher the Score1.

8. The method according to claim 5, characterized in that The smaller the variance of the three resource usages of the computing module, the higher the Score2.