Data processing system and memory management method thereof
Patent Information
- Application Number
- CN202580024561.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-09-30
- Filing Date
- 2025-07-02
- Publication Date
- 2026-10-30
AI Technical Summary
然而,由于没有调整根据分析数据不同地需要的计算资源的分配,这样的方法导致不必要的资源浪费
[0029]本发明的效果不限于上述那些,并且根据权利要求的范围,本领域的技术人员可以清楚地理解未明确描述的其它效果。
Smart Images

Figure CN123023040A_ABST
Abstract
Description
Technical Field
[0001] This application claims the benefit of Korean Patent Application No. 10-2024-0132782, filed with the Korean Intellectual Property Office on September 30, 2024, the entire disclosure of which is incorporated herein by reference.
[0002] The exemplary embodiments disclosed in this document relate to a data processing system and a method for managing its memory. Background Technology
[0003] In recent years, active research and development have been carried out in the field of rechargeable batteries. Here, rechargeable batteries refer to batteries capable of being charged and discharged, including conventional Ni / Cd and Ni / MH batteries, as well as the more recent lithium-ion batteries. Lithium-ion batteries, as rechargeable batteries, have the advantage of higher energy density than Ni / Cd and Ni / MH batteries. Furthermore, because lithium-ion batteries can be manufactured in a compact and lightweight form, they are used as power sources for mobile devices, and in recent years, their application has been expanded to power electric vehicles, thus attracting attention as a next-generation energy storage device.
[0004] As batteries are used as the power source for electric vehicles, the management and analysis of battery data in these vehicles is becoming increasingly important. In particular, with technological advancements, the types of battery data are becoming more complex and diverse. Therefore, effective data processing is needed to analyze and manage battery data.
[0005] In systems that process battery data, the battery analytics engine plays a crucial role in monitoring battery status and analyzing performance. Since the battery analytics engine performs its analysis operations using the system's memory, the method of allocating memory to each analytics engine can significantly impact computational resources and costs.
[0006] Existing data processing systems operate by allocating a fixed amount of computing resources (memory) to the analysis engine. However, this approach leads to unnecessary resource waste because it fails to adjust the allocation of computing resources according to the varying needs of the analyzed data. Summary of the Invention
[0007] Technical goals
[0008] According to an example embodiment of this disclosure, a data processing system and a method for managing its memory can be provided, the data processing system being able to predict the size of the required computing resources based on different battery data and allocate that size to the analysis engine.
[0009] According to exemplary embodiments of this disclosure, a data processing system and a method for managing its memory can be provided, the data processing system being able to predict the size of computing resources required to drive an analytics engine by using a machine learning-based memory prediction model.
[0010] The technical tasks achieved through the exemplary embodiments of this disclosure are not limited to the technical tasks described above, and other technical tasks can be derived from the exemplary embodiments described below.
[0011] Technical solution
[0012] According to an example embodiment of this disclosure, a data processing system may include: a data lake storing battery data; a data analysis module including an analysis engine that analyzes the battery data; at least one memory having computing resources for driving the analysis engine; a memory prediction module that inputs the battery data into a machine learning-based memory prediction model to obtain the size of computing resources required to drive the analysis engine from the memory prediction model; and a memory allocation module that allocates the computing resources of the at least one memory to the analysis engine based on the obtained size of the computing resources.
[0013] According to an exemplary embodiment of this disclosure, the data processing system may further include an artificial intelligence training module that trains the memory prediction model by modeling the correlation between a training input dataset and a training output dataset. The training input dataset may include multiple battery datasets related to multiple states of the battery. The training output dataset may include multiple computing resource datasets, representing the computing resources used when the analysis engine analyzes the multiple battery datasets.
[0014] According to an example embodiment of this disclosure, in the data processing system, the training input dataset may further include multiple feature datasets, which are associated with at least one of the following: the number of rows, size, collection period, and missing values appearing in each of the multiple battery datasets.
[0015] According to an example embodiment of this disclosure, in the data processing system, the memory prediction model can predict and output the size of computing resources required to drive the analysis engine based on at least one of the following: the number of rows, size, collection cycle, and missing values appearing in each row of the input battery data.
[0016] According to an exemplary embodiment of this disclosure, in the data processing system, the at least one memory may include a main memory having computing resources of a first size and a swap memory having computing resources of a second size.
[0017] According to an exemplary embodiment of this disclosure, in the data processing system, the memory allocation module can allocate the computing resources of the main memory and the computing resources of the swap memory to the analysis engine based on the size of the acquired computing resources.
[0018] According to an exemplary embodiment of this disclosure, in the data processing system, the memory allocation module can allocate the computing resources of the main memory to the analysis engine for a predetermined size of the acquired computing resources, and can allocate the computing resources of the swap memory to the analysis engine for the remaining size of the acquired computing resources excluding the predetermined size.
[0019] According to an exemplary embodiment of this disclosure, in the data processing system, the data analysis module can be configured as a microservices architecture (MSA) and includes multiple analysis engines, which are based on different analysis algorithms and are driven independently of each other.
[0020] According to an example embodiment of this disclosure, a method for managing memory performed by a data processing system may include the steps of: inputting battery data into a machine learning-based memory prediction model; obtaining from the memory prediction model the size of computing resources required to drive an analysis engine that analyzes the battery data; and allocating computing resources of at least one memory having computing resources for driving the analysis engine to the analysis engine based on the obtained size of computing resources.
[0021] According to an example embodiment of this disclosure, the method for managing memory performed by the data processing system may further include training the memory prediction model by modeling the correlation between a training input dataset and a training output dataset. The training input dataset may include multiple battery datasets associated with multiple states of a battery. The training output dataset may include multiple computational resource datasets, representing the computational resources used when the analysis engine analyzes the multiple battery datasets.
[0022] According to an example embodiment of this disclosure, for a method of managing memory executed by the data processing system, the training input dataset may further include multiple feature datasets, which are associated with at least one of the number of rows, size, collection period, and missing values appearing in each of the multiple battery datasets.
[0023] According to an example embodiment of this disclosure, for a method of managing memory executed by the data processing system, the memory prediction model can predict and output the size of computing resources required to drive the analysis engine based on at least one of the number of rows, size, collection cycle, and missing values appearing in each row of the input battery data.
[0024] According to an exemplary embodiment of this disclosure, for a method of managing memory executed by the data processing system, the at least one memory may include a main memory having computing resources of a first size and a swap memory having computing resources of a second size.
[0025] According to an example embodiment of this disclosure, for a method of managing memory executed by the data processing system, the operation of allocating computing resources of the at least one memory to the analysis engine may further include allocating computing resources of the main memory and the switching memory to the analysis engine based on the size of the acquired computing resources.
[0026] According to an example embodiment of this disclosure, for a method of managing memory performed by the data processing system, the operation of allocating computing resources of the at least one memory to the analysis engine may include: allocating computing resources of the main memory to the analysis engine for a predetermined size of the acquired computing resources, and allocating computing resources of the swap memory to the analysis engine for the remaining size of the acquired computing resources excluding the predetermined size.
[0027] Beneficial effects
[0028] According to the example implementation disclosed in this document, by predicting the required computing resources differently based on battery data and allocating the computing resources to the analysis engine, unnecessary waste of resources and costs can be minimized.
[0029] The effects of the present invention are not limited to those described above, and other effects not explicitly described will be clearly understood by those skilled in the art within the scope of the claims. Attached Figure Description
[0030] Figure 1 This is a block diagram of a data processing system according to an exemplary embodiment of the present disclosure.
[0031] Figure 2 This is a diagram illustrating an example of how a data processing system according to an exemplary embodiment of the present disclosure allocates memory computing resources to an analysis engine.
[0032] Figure 3This is a diagram illustrating an example of how a data processing system according to an exemplary embodiment of the present disclosure allocates computing resources of each of the main memory and the swap memory to an analysis engine.
[0033] Figure 4 This is an operation flowchart of a data processing system according to an exemplary embodiment of the present disclosure.
[0034] Figure 5 This is an operation flowchart of a data processing system according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0035] For the purpose of describing exemplary embodiments, descriptions of technical content that is well-known in the art to which this disclosure pertains and is not directly related to this disclosure will be omitted. This is to ensure clearer communication without obscuring the subject matter of this disclosure by omitting unnecessary descriptions.
[0036] For the same reason, some parts are exaggerated, omitted, or shown schematically in the accompanying drawings. Furthermore, the dimensions of each part do not perfectly reflect the actual dimensions. Identical or corresponding parts in each drawing are indicated by the same reference numerals.
[0037] The advantages and features of this disclosure, as well as methods of implementing them, will be apparent from the exemplary embodiments described in more detail below with reference to the accompanying drawings. However, it should be noted that this disclosure is not limited to the exemplary embodiments described below and can be implemented in various forms. Therefore, exemplary embodiments are provided merely to disclose this disclosure and to inform those skilled in the art of its category, and this disclosure is limited only by the category of the claims. Throughout the specification, the same reference numerals or identical reference numerals denote the same parts.
[0038] Here, it should be understood that each block and combination of flowchart illustrations can be executed by computer program instructions. Since these computer program instructions can be mounted on a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus, those instructions, which execute via the processor of the computer or other programmable data processing apparatus, can create means for performing the functions described in the flowchart blocks. These computer program instructions can be stored in a computer-usable or computer-readable storage medium that can point to the computer or other programmable data processing apparatus to implement the functions in a particular manner, and thus the computer program instructions stored in the computer-usable or computer-readable storage medium can produce an article of art comprising instruction means for performing the functions described in the flowchart blocks. The computer program instructions can also be mounted on a computer or other programmable data processing apparatus such that a series of operational steps can be performed on the computer or other programmable data processing apparatus to create a computer-implemented process, thereby creating computer or other programmable data. The instructions for executing the processing means can also provide steps for performing the functions described in the flowchart blocks.
[0039] Furthermore, each block can represent a module, segment, or portion of code that includes one or more executable instructions for performing a specified logical function. It should also be noted that in some alternative implementations, the functions specified in a block can occur out of order. For example, two consecutively shown blocks may actually execute substantially simultaneously, or these blocks may sometimes execute in reverse order, depending on the respective functions.
[0040] Furthermore, the term "unit" refers to a software or hardware component, such as an FPGA or ASIC. A "unit" performs certain roles. However, a "unit" is not limited to software or hardware. A "unit" can be configured to reside in addressable storage media or to restart one or more processors. Thus, for example, a "unit" includes components such as software components, object-oriented software components, class components, and task components, and includes processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within components and "units" can be combined into a smaller number of components and "units," or can be further separated into additional components and "units." Furthermore, said components and "units" can be implemented to restart one or more CPUs within a device or secure multimedia card.
[0041] The expression “at least one of A, B and C” described in this specification may mean: A alone; B alone; C alone; both A and B together; A and C together; B and C together; or all three of A, B and C together.
[0042] In this disclosure, a "terminal" can be implemented as a computer or portable terminal capable of accessing a server or another terminal via a network. Here, a computer can include, for example, a laptop computer, desktop computer, and laptop computer equipped with a web browser. A portable terminal can be a wireless communication device that ensures portability and mobility, and includes any type of handheld wireless communication device, such as a tablet PC, a smartphone, or a communication-based terminal such as International Mobile Telecommunications (IMT), Code Division Multiple Access (CDMA), W-Code Division Multiple Access (W-CDMA), and Long Term Evolution (LTE).
[0043] In the following description, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings, enabling those skilled in the art to readily implement the present disclosure. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein.
[0044] In the following, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0045] Figure 1 This is a block diagram of a data processing system 100 according to an exemplary embodiment of the present disclosure.
[0046] refer to Figure 2 The data processing system 100 may include a data lake 110, a data analysis module 120, a memory 130, a memory prediction module 140, an artificial intelligence training module 150, and a memory allocation module 160. According to an example implementation, Figure 1 The data processing system 100 shown may also include, in addition to Figure 1 At least one component other than the components shown (e.g., display, input device, or output device).
[0047] According to an exemplary embodiment, data lake 110 can store battery data related to the state of the battery (e.g., voltage, current, and temperature). Here, the battery can be a battery cell, battery module, or battery pack disposed in an electric vehicle. Furthermore, the battery data can be data received by data processing system 100 through a communication channel with external electronic devices (e.g., the vehicle). Data lake 110 can send the stored battery data to data analysis module 120 and / or memory prediction module 140.
[0048] According to one exemplary implementation, the data analysis module 120 may include an analysis engine for analyzing battery data stored in the data lake 110. The data analysis module 120 can analyze the battery data by using computing resources allocated to the memory 130 of the analysis engine.
[0049] According to an exemplary implementation, the data analysis module 120 may include multiple analysis engines. According to an exemplary implementation, the multiple analysis engines may be based on different analysis algorithms and driven independently. For example, the multiple analysis engines may be configured to drive independently and minimize interdependencies in a microservices architecture (MSA). MSA refers to implementing a single large application by dividing it into several smaller applications, enabling application modification and composition, and each analysis engine can operate as a single application.
[0050] According to an exemplary implementation, each of the plurality of analysis engines may include different analysis algorithms for generating analysis results. For example, the analysis algorithms may include various types of algorithms, such as RUL algorithms for analyzing the remaining useful life (RUL) of a battery, SOH algorithms for analyzing the state of health (SOH) of a battery, statistical algorithms for performing statistical analysis, and fault prediction algorithms for predicting battery failures. However, the types of algorithms described are merely examples and are not limited thereto.
[0051] According to one exemplary implementation, the multiple analysis engines can be separated based on the type of battery data used for analysis and the type of analysis result data. Depending on the analysis algorithm included in each of the multiple analysis engines, the type of battery data used for analysis, the type of analysis result data, and the analysis cycle can be different. For example, the SOH algorithm can use battery data (such as battery voltage, battery current, and battery state of charge (SOC)) and calculate the battery's SOH data as the analysis result.
[0052] According to an example embodiment, memory 130 may have computing resources for driving the analysis engine included in data analysis module 120. According to an example embodiment, memory 130 may include main memory with physical computing resources and swap memory that utilizes disk space or other storage devices as computing resources in a virtual environment when the computing resources of the main memory are insufficient. Here, the main memory may have a first size of computing resources, while the swap memory may have a second size of computing resources.
[0053] According to an exemplary embodiment, the main memory may be a volatile memory serving as the main storage device. In an exemplary embodiment, the main memory may be configured as at least one type of random access memory (RAM). For example, the main memory may be one of dynamic random access memory (DRAM), phase-change random access memory (PRAM), magnetic random access memory (MRAM), and spin-torque magnetic random access memory (STT-MRAM).
[0054] According to an exemplary embodiment, the switch memory can be a non-volatile memory serving as an auxiliary storage device. For example, the switch memory can be at least one type of solid-state drive (SSD) memory.
[0055] According to an exemplary embodiment, the memory prediction module 140 can receive battery data required for analysis by the data analysis module 120 from the data lake 110. By inputting the received battery data into a machine learning-based memory prediction model, the memory prediction module 140 can obtain from the memory prediction model the size of the computing resources required to drive the analysis engine included in the data analysis module 120. According to an exemplary embodiment, in order to analyze the input battery data, the memory prediction model can predict and output the size of the computing resources required by the data analysis module 120 to drive the analysis engine.
[0056] According to an exemplary embodiment, the artificial intelligence training module 150 can train a memory prediction model by modeling the correlation between the training input dataset and the training output dataset.
[0057] According to an example implementation, the input dataset for training may include multiple battery datasets associated with multiple states of the battery. For example, the multiple battery datasets may include a first battery dataset, a second battery dataset, ..., and an nth battery dataset (where n is a natural number "3" or greater) associated with at least one of the battery's voltage, current, temperature, SOC, and SOH. Here, the multiple battery datasets may include the same information about the states, and each of the battery datasets may be distinguished based on the time point at which the battery datasets were acquired or based on the battery to be analyzed. For example, the first battery dataset may correspond to the first battery, the second battery dataset may correspond to the second battery, ..., and the nth battery dataset may correspond to the nth battery.
[0058] According to an example implementation, the training input dataset may further include multiple feature datasets, each of which is related to at least one of the following: the number of rows, size, collection period, and missing values appearing in each row of the multiple datasets. Here, the multiple battery datasets may be in tabular form, consisting of rows and columns. Each row of each battery dataset may include information related to multiple states of the battery at different time points, and each column of each battery dataset may include information related to different states of the battery at each time point. Therefore, the number of rows in the battery dataset may represent the number of all time points for collecting battery states, the size may represent a value obtained by multiplying the number of rows in the battery dataset by the number of columns, and the collection period may represent the length of time between the time points corresponding to each row. Furthermore, the feature dataset related to the missing values appearing in each row of the battery dataset may represent the number of missing values appearing in each row of the battery dataset.
[0059] According to one exemplary implementation, the training output dataset may include multiple computational resource datasets, which represent the computational resources used when the analysis engine included in the data analysis module 120 analyzes the multiple battery datasets included in the training input dataset. The multiple computational resource datasets can be obtained by identifying the computational resources used when the analysis engine analyzes each of the multiple battery datasets. Here, each of the multiple computational resource datasets may correspond one-to-one with each of the multiple battery datasets.
[0060] According to an exemplary implementation, the memory prediction model can predict and output the size of computing resources required to drive the analysis engine based on at least one of the following: the number of rows, size, collection cycle, and missing values in each row of the input battery data.
[0061] According to an exemplary embodiment, the artificial intelligence training module 150 can input a training input dataset into a memory prediction model and train the memory prediction model by comparing the output dataset output by the memory prediction model with the training output dataset. The artificial intelligence training module 150 can train the memory prediction model such that the difference between the output dataset and the training output dataset is less than or equal to a threshold level.
[0062] For example, the artificial intelligence training module 150 can calculate the similarity between the output dataset and the training output dataset based on a loss function (or cost function). Here, the loss function may include at least one of the mean absolute error function, root mean square error, mean squared error function, and binary cross-entropy loss function.
[0063] According to an exemplary implementation, the AI training module 150 can adjust the weight values of the memory prediction model such that the calculated similarity is equal to or greater than a threshold level. For example, the AI training module 150 can adjust the weight values of the memory prediction model using a gradient descent-based algorithm (e.g., Adam, SGD, Momentum) such that the similarity is equal to or greater than the threshold level. Here, the adjusted weight values can be determined based on the learning rate.
[0064] According to an example implementation, the memory allocation module 160 can allocate the computing resources of the memory 130 to the analysis engine included in the data analysis module 120 based on the size of the computing resources obtained by the memory prediction module 140.
[0065] In the following text, see references Figure 2 and Figure 3 This describes an example of how the data processing system 100 allocates the computing resources of memory 130 to the analysis engine. Figure 2 and Figure 3 The diagram illustrates that the data analysis module 120 includes multiple analysis engines 121, 123, and the data processing system 100 allocates the computing resources of the memory 130 to each of the multiple analysis engines 121, 123, but is not limited thereto. For example, the data processing system 100 may allocate the computing resources of the memory 130 to a single analysis engine included in the data analysis module 120.
[0066] Figure 2 This is a diagram illustrating an example of how the data processing system 100 allocates the computing resources of the memory 130 to the analysis engine.
[0067] See Figure 2 Data lake 110 can send multiple battery data sets 201, 203 required for analysis to memory prediction module 140. Here, each of the multiple battery data sets 201, 203 can be data input to each of the multiple analysis engines 121, 123. For example, the first battery data set 201 can be analyzed by the first analysis engine 121, and the Nth battery data set 203 (here, N is a natural number "2" or greater) can be analyzed by the Nth analysis engine 123.
[0068] According to one exemplary embodiment, the memory prediction module 140 can input multiple battery data 201, 203 sent from the data lake 110 into the memory prediction model 210. The memory prediction model 210 can predict and output the size (e.g., a first size, ..., an Nth size) of the computing resources required to drive the analysis engines 121, 123 used to analyze the multiple input battery data 201, 203. The memory prediction module 140 can obtain the size of the computing resources output from the memory prediction model 210 and send the size of the computing resources to the memory allocation module 160.
[0069] According to an example implementation, the memory allocation module 160 can allocate the computing resources 131 and 133 of the memory 130 to multiple analysis engines 121 and 123 based on the size of the computing resources sent from the memory prediction module 140 (e.g., a first size, ..., an Nth size). For example, for the size of computing resources required to drive the first analysis engine 121, the memory allocation module 160 can allocate the first size of computing resources 131 of the memory 130 to the first analysis engine 121. Similarly, for the size of computing resources required to drive the Nth analysis engine 123, the memory allocation module 160 can allocate the Nth size of computing resources 133 of the memory 130 to the Nth analysis engine 123.
[0070] Figure 3This is a diagram illustrating an example of how a data processing system 100, according to an exemplary embodiment of the present disclosure, allocates computing resources of each of the main memory 310 and the exchange memory 320 to an analysis engine. Figure 3 The main memory 310 and the exchange memory 320 may be included in the memory 130 of the data processing system 100. Figure 3 In this context, due to the operation of data lake 110, memory prediction module 140, and memory prediction model 210, and... Figure 2 The operations described are the same, so redundant descriptions can be omitted.
[0071] Reference Figure 3 For the size of the computing resources sent from the memory prediction module 140 (e.g., the first size, ..., the Nth size), the memory allocation module 160 can allocate the computing resources of the main memory 310 and the computing resources of the exchange memory 320 to multiple analysis engines 121, 123.
[0072] According to an example implementation, for at least a portion of the computing resources required to drive each of the analysis engines 121 and 123, the memory allocation module 160 may allocate computing resources from the main memory 310 to the first analysis engine 121, and for the remaining portion, allocate computing resources from the swap memory 320 to the first analysis engine. For example, for at least a portion of the computing resources required to drive the first analysis engine 121, the memory allocation module 160 may allocate computing resources 311 from the main memory 310 to the first analysis engine 121, and for the remaining portion, allocate computing resources 321 from the swap memory 320 to the first analysis engine 121. Here, the sum of the sizes of the computing resources 311 and 321 allocated to the first analysis engine 121 may be a first size (e.g., 8 gigabytes (GB)), which is the size of the computing resources required to drive the first analysis engine 121. Additionally, the memory allocation module 160 can allocate the computing resources 313 of the main memory 310 to the Nth analysis engine 123 (wherein this allocation is for at least a portion of the size of the computing resources required to drive the Nth analysis engine 123), and allocate the computing resources 323 of the swap memory 320 to the Nth analysis engine 123 (wherein this allocation is for the remaining portion). Here, the sum of the sizes of the computing resources 313 and 323 allocated to the Nth analysis engine 123 can be the Nth size (e.g., 10GB), which is the size of the computing resources required to drive the Nth analysis engine 123.
[0073] According to an example implementation, the memory allocation module 160 may allocate computing resources of the main memory 310 to each of the analysis engines 121, 123 for a predetermined size (e.g., 4 GB) of computing resources required to drive each of the analysis engines 121, 123. For the remaining space beyond the predetermined size of computing resources required to drive each of the analysis engines 121, 123, the memory allocation module 160 may allocate computing resources of the swap memory 320 to each of the analysis engines 121, 123. In this case, the computing resources 311, 313 of the main memory 310 used by all analysis engines 121, 123 have equal sizes. Conversely, the computing resources 321, 323 of the swap memory 320 used by each of the analysis engines 121, 123 may have different sizes.
[0074] Figure 4 This is an operation flowchart of a data processing system according to an exemplary embodiment of the present disclosure. Because... Figure 4 The operation method can be provided by Figure 1 The data processing system 100 is used to execute this, therefore redundant descriptions can be omitted, and it can be done by using... Figure 1 The components are used to describe redundant descriptions.
[0075] Figure 4 The exemplary embodiments shown are merely examples. The operational sequence of the various exemplary embodiments according to this disclosure can be compared with... Figure 4 The differences shown can be omitted. Figure 4 Some of the operations shown can be changed in order or combined.
[0076] Reference Figure 4 In operation 410, the data processing system 100 can input battery data into a machine learning-based memory prediction model. According to an exemplary embodiment, the memory prediction model can predict and output the size of computing resources required to drive an analysis engine for analyzing the input battery data. According to an exemplary embodiment, the memory prediction model can predict and output the size of computing resources required to drive the analysis engine based on at least one of the following: the number of rows, size, collection cycle, and missing values appearing in each row of the input battery data.
[0077] In operation 420, the data processing system 100 can obtain the size of the computing resources required to drive the analysis engine, which is output from the memory prediction model.
[0078] In operation 430, the data processing system 100 may allocate computing resources of at least one memory 130 to the analysis engine based on the size of the computing resources obtained in operation 420.
[0079] Figure 5 This is an operation flowchart of a data processing system according to an exemplary embodiment of the present disclosure. Because... Figure 5 The operation method can be provided by Figure 1 The data processing system 100 is used to execute this, therefore redundant descriptions can be omitted, and it can be done by using... Figure 1 The components are used to describe redundant descriptions.
[0080] Figure 5 The exemplary embodiments shown are merely examples. The operational sequence of the various exemplary embodiments according to this disclosure may be related to... Figure 5 The difference is shown. Figure 5 Some of the operations shown can be omitted, the order of operations can be changed, or operations can be combined.
[0081] Reference Figure 5 In operation 510, the data processing system 100 can allocate computing resources from the main memory to the analysis engine, the allocation being made from... Figure 4 The predetermined size of the computing resources obtained in operation 420.
[0082] In operation 520, the data processing system 100 can allocate the computing resources of the swap memory to the analysis engine, the allocation being targeted at... Figure 4 The remaining size of the computing resources obtained in operation 420, excluding the predetermined size of operation 510.
[0083] In this scenario, the computing resources of main memory used by all analytics engines are of the same size. Conversely, the computing resources of swap memory used by each analytics engine can have different sizes.
[0084] This exemplary embodiment can be represented by functional blocks and various processing steps. These functional blocks can be implemented by various numbers of hardware and / or software configurations that perform specific functions. For example, this exemplary embodiment can employ integrated circuit configurations such as memory, processors, logic circuits, and lookup tables, which can perform various functions by controlling one or more microprocessors or other control devices. Similar to components that can be executed by software programming or software components, this exemplary embodiment can be implemented by programming or scripting languages such as C, C++, Java, and assembly languages, including various algorithms implemented by combinations of data structures, processes, routines, or other programming configurations. Functional aspects can be implemented by algorithms executed by one or more processors. Furthermore, this exemplary embodiment can employ related technologies for electronic environment setup, signal processing, and / or data processing. The terms “mechanism,” “component,” “device,” and “configuration” are used broadly and are not limited to mechanical and physical elements. These terms can include the meaning of a series of software routines associated with a processor.
[0085] The above exemplary embodiments are merely examples, and other exemplary embodiments may be implemented within the scope of the appended claims.
Claims
1. A data processing system, the data processing system comprising: Data lake, which stores battery data; A data analysis module, comprising an analysis engine, wherein the analysis engine analyzes the battery data; At least one memory, the at least one memory having computing resources for driving the analysis engine; A memory prediction module that inputs the battery data into a machine learning-based memory prediction model to obtain the amount of computing resources required to drive the analysis engine from the memory prediction model; as well as A memory allocation module allocates the computing resources of at least one memory to the analysis engine based on the size of the acquired computing resources.
2. The data processing system according to claim 1, further comprising an artificial intelligence training module, wherein the artificial intelligence training module trains the memory prediction model by modeling the correlation between the training input dataset and the training output dataset. in, The training input dataset includes multiple battery datasets related to multiple states of the battery, and The training output dataset includes multiple computing resource datasets, which represent the computing resources used by the analysis engine when analyzing the multiple battery datasets.
3. The data processing system according to claim 2, wherein, The training input dataset also includes multiple feature datasets, which are associated with at least one of the following: the number of rows, size, collection period, and missing values appearing in each of the multiple battery datasets.
4. The data processing system according to claim 3, wherein, The memory prediction model predicts and outputs the amount of computing resources required to drive the analysis engine based on at least one of the following: the number of rows, size, collection cycle, and missing values in each row of the input battery data.
5. The data processing system according to claim 1, wherein, The at least one memory includes a main memory with a first size of computing resources and a swap memory with a second size of computing resources.
6. The data processing system according to claim 5, wherein, The memory allocation module allocates the computing resources of the main memory and the computing resources of the swap memory to the analysis engine based on the size of the acquired computing resources.
7. The data processing system according to claim 6, wherein, The memory allocation module allocates the main memory's computing resources to the analysis engine for a predetermined size of the acquired computing resources, and allocates the swap memory's computing resources to the analysis engine for the remaining size of the acquired computing resources excluding the predetermined size.
8. The data processing system according to claim 1, wherein, The data analysis module is configured as a microservices architecture (MSA) and includes multiple analysis engines, which are based on different analysis algorithms and are driven independently of each other.
9. A method for managing memory executed by a data processing system, the method comprising the following operations: Battery data is fed into a machine learning-based memory prediction model; The size of the computing resources required to drive the analysis engine that analyzes the battery data is obtained from the memory prediction model; as well as Based on the size of the acquired computing resources, computing resources having at least one memory for driving the analysis engine are allocated to the analysis engine.
10. The method of claim 9, further comprising training the memory prediction model by modeling the correlation between the training input dataset and the training output dataset. in, The training input dataset includes multiple battery datasets related to multiple states of the battery, and The training output dataset includes multiple computing resource datasets, which represent the computing resources used by the analysis engine when analyzing the multiple battery datasets.
11. The method according to claim 10, wherein, The training input dataset also includes multiple feature datasets, which are associated with at least one of the following: the number of rows, size, collection period, and missing values appearing in each of the multiple battery datasets.
12. The method according to claim 10, wherein, The memory prediction model predicts and outputs the amount of computing resources required to drive the analysis engine based on at least one of the following: the number of rows, size, collection cycle, and missing values in each row of the input battery data.
13. The method according to claim 9, wherein, The at least one memory includes a main memory with a first size of computing resources and a swap memory with a second size of computing resources.
14. The method according to claim 13, wherein, The operation of allocating the computing resources of the at least one memory to the analysis engine further includes the following operation: allocating the computing resources of the main memory and the computing resources of the swap memory to the analysis engine based on the size of the acquired computing resources.
15. The method according to claim 14, wherein, The operation of allocating the computing resources of the at least one memory to the analysis engine includes the following operations: allocating the computing resources of the main memory to the analysis engine for a predetermined size of the acquired computing resources, and allocating the computing resources of the swap memory to the analysis engine for the remaining size of the acquired computing resources excluding the predetermined size.
Citation Information
Patent Citations
Method of protecting financial transaction information using fingerprints and the financial transaction system the method applied thereto
KR1020240132782A
