Optimizing the partitioning of memory and storage capacity on DC Persistent Memory Modules (DCPMMs) in hybrid mode
By evaluating the utilization efficiency index (UEI) of hybrid storage resources and dynamically adjusting the ratio of memory to persistent storage, the waste problem in hybrid storage resource configuration is solved, and efficient utilization and stability optimization of the system are achieved.
Patent Information
- Application Number
- CN202111545785.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-16
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2041-12-16
AI Technical Summary
In hybrid storage resources, how to efficiently divide memory and storage resources to avoid resource waste and dynamically adjust the configuration according to the application to optimize system performance.
By evaluating the utilization efficiency index (UEI) of hybrid storage resources and combining the weight factors of memory and storage utilization, the ratio configuration of memory and persistent storage of DCPMM is dynamically adjusted, and the exponential smoothing algorithm is used to predict and optimize in stable and dynamic environments.
It achieves the optimal configuration of memory and storage resources in different environments, improves the utilization efficiency and stability of the system, and avoids resource waste.
Smart Images

Figure CN116266139B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to information handling system management, and more particularly, to the management and configuration of memory and storage resources. Background Art
[0002] As the value and use of information continues to grow, individuals and businesses are looking for alternative ways to process and store information. One option available to users is an information handling system. An information handling system typically processes, compiles, stores and / or communicates information or data for business, personal or other purposes, thereby allowing users to exploit the value of this information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary in terms of what information is handled, how the information is handled, how much information is processed, stored or communicated, and how quickly and efficiently the information can be processed, stored or communicated. Variations in information handling systems allow information handling systems to be general or configured for specific users or specific uses (such as financial transaction processing, flight reservations, enterprise data storage or global communications). In addition, an information handling system may include a variety of hardware and software components that can be configured to process, store and communicate information, and may include one or more computer systems, data storage systems and networking systems.
[0003] DC persistent memory (DCPMM) is an emerging technology in which non-volatile media is fabricated in dual in-line memory modules (DIMMs) and mounted on the memory bus alongside traditional dynamic random access memory (DRAM) DIMMs. The key difference between persistent memory DIMMs and DRAM DIMMs is that the data stored on them can be retained when the system is shut down or powered off. This allows them to be used as a form of permanent storage, like hard disk drives (HDDs) or solid-state drives (SSDs), but with memory-like latency.
[0004] DCPMMs can be configured for different modes, including: memory mode, in which DCPMMs act as volatile system memory under the control of the operating system; application direct mode, in which DCPMMs and DRAM DIMMs act as independent memory resources under the direct load / store control of the application; and hybrid mode, in which a certain percentage of DCPMM capacity is configured in memory mode and the remainder is configured in application direct mode.
[0005] The optimal DCPMM capacity configuration will avoid wasting memory or persistent storage resources. However, the optimal configuration depends on the application and is dynamic. Summary of the Invention
[0006] According to the systems and methods disclosed herein, common problems associated with partitioning storage and memory resources in a configurable hybrid storage resource are solved. In one aspect, the disclosed information handling system includes one or more central processing units and a storage resource communicatively coupled to the one or more CPUs. The hybrid storage resource can be user-configured during startup to allocate some, all, or none of its capacity as conventional dual in-line memory modules (DIMMs) and some, all, or none of its capacity as persistent storage resources.
[0007] The storage resource includes CPU-executable program instructions that, when executed by one or more CPUs, cause the information handling system to perform memory management operations, including evaluating a utilization efficiency index (UEI) of the hybrid storage resource. The UEI is determined at least in part by a combination of utilization of volatile memory resources and utilization of persistent storage resources. A desired target memory-to-storage ratio is then determined for allocation purposes based at least in part on the UEI evaluation. The hybrid storage resource can then be configured to divide or allocate a first portion of its capacity to the volatile memory resource and a remaining portion of its capacity to the persistent storage resource. The first portion can be determined based on a target memory-storage configuration.
[0008] Evaluating the UEI may include: obtaining a time series sample of memory utilization and storage utilization; and calculating the UEI for each sample based at least in part on the memory utilization and the storage utilization; in at least one embodiment, calculating the UEI includes accessing a memory weighting factor and a storage weighting factor. The weighting factors may reflect the relative prioritization between memory utilization and storage utilization. For example, if memory utilization is considered to be a significantly higher priority than storage utilization, the memory weighting factor may be significantly higher than the storage weighting factor. At any time, the UEI value may be calculated according to one or more formulas set forth in the following detailed embodiments.
[0009] The information handling system can be implemented in a relatively stable and predictable environment, such as a single-tenant or local environment. In these environments, determining a desired or target partitioning of memory and storage resources can include: identifying one or more system profiles; determining a static memory-storage partitioning configuration based at least in part on a UEI determined for each profile; and assigning the static memory-storage partitioning configuration to each profile. Each of the system profiles can be associated with corresponding profile parameters, such as a time-date parameter indicating time of day and day of week information, an application parameter indicating one or more applications, microservices, or the like currently executing.
[0010] In other embodiments, including embodiments in which the information handling system is implemented in a dynamic environment such as a multi-tenant cloud environment, evaluating the UEI may include using (as an example) exponential smoothing to predict the UEI for the next time series interval. In these embodiments, evaluating the UEI may include generating a smoothed time series of UEI values. The time series may be smoothed by obtaining instantaneous UEI values relatively frequently (e.g., hourly) and determining an average of the instantaneous values over a longer interval (e.g., daily).
[0011] The information handling system may be characterized by an HCI architecture comprising one or more resource clusters, each of the one or more resource clusters comprising one or more resource nodes. In these embodiments, instantaneous memory utilization samples may be collected across two or more nodes within a cluster or across two or more clusters for additional smoothing.
[0012] In one embodiment, the exponential smoothing performed includes single exponential smoothing, where the predicted UEI (S t+1 ) is based on the current UEI(y t ), the previous value of UEI (S t-1 ), and α constitutes a smoothing factor.
[0013] A smoothed time series of values can be classified into one of a plurality of types selected from a group consisting of: a stable and flat time series, where the initial value of α is within a first range; a long-term upward or downward time series, where the initial value of α is within a second range; and a short-term upward and downward pattern, where the initial value of α is within a third range. In these embodiments, values in the third range may exceed values in the second range, and values in the second range may exceed values in the first range. As an illustrative example, the first range may be from 0.1 to 0.3, the second range may be from 0.3 to 0.5, and the third range may be from 0.6 to 0.8. In some embodiments, the standard deviation of the smoothed time series of UEI values may be determined, and the smoothing factor α may be adjusted based on the magnitude of the standard deviation. A higher standard deviation indicates more UEI fluctuations, in which case a larger value for the smoothing factor α may be employed. In contrast, a smaller standard deviation of the UEI indicates a flatter, more stable pattern, suggesting that a smaller value for the smoothing factor α may be appropriate.
[0014] Some embodiments employ a two-phase approach to managing memory storage partitioning within a DCPMM device. In these embodiments, during a training phase, exponential smoothing is performed with a high α value (e.g., greater than 0.5) to quickly adopt predictions of patterns. During the training phase, the DCPMM configuration does not change during any server downtime windows. After sufficient training, an optimization phase is performed to predict the UEI value for the next time series interval. During the optimization phase, the standard deviation is determined and used to determine or influence the smoothing factor α. During the optimization phase, the predicted UEI value for the next time series interval is used to configure the DCPMM with a target allocation of memory resources to storage resources. Some embodiments may implement additional guarantees by configuring two or more derivative configurations based on a target example. For example, a memory-constrained derivative configuration may refer to a configuration in which the memory allocation is reduced to 50% of the target allocation. Similarly, a storage-constrained derivative configuration may refer to a configuration in which the storage allocation is 50% of the target configuration. UEI values are then determined for the target configuration and the derivative configuration. The configuration that produces the highest UEI may then be selected for implementation.
[0015] The technical advantages of the present disclosure may be apparent to those skilled in the art from the drawings, descriptions, and claims included herein. The objects and advantages of the embodiments will be realized and obtained at least by the elements, features, and combinations particularly pointed out in the claims.
[0016] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the disclosure, as claimed. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] A more complete understanding of embodiments of the present invention and advantages thereof may be obtained by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numerals indicate like features, and in which:
[0018] Figure 1 shows a block diagram of the HCI platform;
[0019] Figure 2 shows a block diagram of an HCI node;
[0020] Figure 3 shows a block diagram of a DCPMM;
[0021] Figure 4 A flow chart illustrating a method for managing memory-storage configuration of a DCPMM is shown;
[0022] Figure 5 An algorithm for calculating the utilization efficiency index of DCPMM is shown;
[0023] Figure 6A flow chart illustrating a second method for managing memory-storage configuration of a DCPMM;
[0024] Figure 7 An exponential smoothing algorithm for predicting the utilization efficiency index of DCPMM is shown; and
[0025] Figure 8 A block diagram of an exemplary information handling system is shown. DETAILED DESCRIPTION
[0026] By reference Figures 1 to 8 The exemplary embodiments and their advantages are best understood wherein like numerals are used to designate like and corresponding parts unless expressly indicated otherwise.
[0027] For the purposes of this disclosure, an information handling system may include any tool or collection of tools that can be used to calculate, classify, process, transmit, receive, retrieve, initiate, exchange, store, display, visualize, detect, record, reproduce, dispose of, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system can be a personal computer, a personal digital assistant (PDA), a consumer electronic device, a network storage device, or any other suitable device, and can vary in size, shape, performance, functionality, and price. An information handling system may include memory, one or more processing resources (such as a central processing unit ("CPU")), a microcontroller, or hardware or software control logic. Additional components of an information handling system may include one or more storage devices, one or more communication ports for communicating with external devices, and various input / output ("I / O") devices (such as a keyboard, mouse, and video display). An information handling system may also include one or more buses that can be used to transmit communications between various hardware components.
[0028] In addition, the information handling system may include firmware for controlling, for example, hard drives, network circuits, memory devices, I / O devices, and other peripheral devices and / or communicating with the aforementioned. For example, a hypervisor and / or other components may include firmware. As used in the present disclosure, firmware includes software embedded in information handling system components for performing predefined tasks. Firmware is typically stored in non-volatile memory or in memory that does not lose stored data after a power outage. In certain embodiments, firmware associated with an information handling system component is stored in non-volatile memory accessible to one or more information handling system components. In the same or alternative embodiments, firmware associated with an information handling system component is stored in non-volatile memory that is dedicated to the component and constitutes a part of the component.
[0029] For the purposes of this disclosure, computer-readable media may include any tool or collection of tools that can retain data and / or instructions for a period of time. Computer-readable media may include, but are not limited to: storage media such as direct access storage devices (e.g., hard drives or floppy disks), sequential access storage devices (e.g., magnetic tape disk drives), optical disks, CD-ROMs, DVDs, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and / or flash memory; and communication media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and / or optical carrier waves; and / or any combination of the foregoing.
[0030] For the purposes of this disclosure, information handling resources may broadly refer to any component system, device, or equipment of an information handling system, including but not limited to a processor, a service processor, a basic input / output system (BIOS), a bus, memory, I / O devices and / or interfaces, storage resources, a network interface, a motherboard, and / or any other component and / or element of an information handling system.
[0031] In the following description, details are set forth by way of examples to facilitate discussion of the disclosed subject matter. However, it should be apparent to one of ordinary skill in the art that the disclosed embodiments are exemplary and not exhaustive of all possible embodiments.
[0032] Throughout this disclosure, hyphenated reference numerals refer to specific instances of an element, while unhyphenated reference numerals refer to the element generally. Thus, for example, "device 12-1" refers to an instance of a class of devices that may be collectively referred to as "device 12," and any one of which may be referred to generally as "device 12."
[0033] As used herein, when two or more elements are referred to as being "coupled" to each other, such term indicates that such two or more elements are in electronic communication, mechanical communication, including thermal and fluid communication, thermal communication, or mechanical communication, as applicable, whether indirectly or directly, with or without intervening elements.
[0034] Before describing the disclosed features for optimizing memory storage capacity partitioning in a distributed computing environment, an exemplary HCI platform suitable for implementing the disclosed features is provided. Figure 1 and Figure 2 An exemplary information handling system 100 is shown. Figure 1 and Figure 2 The illustrated information handling system 100 includes a platform 101 communicatively coupled to a platform administrator 102 . Figure 1The platform 101 shown in FIG is an HCI platform in which computing, storage, and network resources are virtualized to provide a software-defined information technology (IT) infrastructure. An administrator 102 can be any computing system having functionality for overseeing operations and maintenance related to the hardware, software, and / or firmware elements of the HCI platform 101. The platform administrator 102 can interact with the HCI platform 101 via requests to and responses from an application programming interface (API) (not explicitly depicted). In such embodiments, the requests can be related to event messaging monitoring and event messaging state management, described below. Figure 1 The HCI platform 101 shown in the figure can be implemented as or within a data center and / or cloud computing resource, which is characterized by software-defined integration and virtualization of various information processing resources, including but not limited to servers, storage, network resources, management resources, etc.
[0035] Figure 1 The HCI platform 101 shown in FIG. 1 includes one or more HCI clusters 106 - 1 through 106 -N that are communicatively coupled to each other and to a platform resource monitor (PRM) 114 . Figure 1 Each HCI cluster 106 shown in encompasses a set of HCI nodes 110-1 through 110-M that are configured to share information handling resources. In some embodiments, resource sharing may require virtualizing the resources in each HCI node 110 to create a logical pool of such resources, which can then be provisioned as needed across all HCI nodes 110 in the HCI cluster 106. For example, when considering storage resources, one or more physical devices (e.g., hard disk drives (HDDs), solid-state drives (SSDs), etc.) representing local storage resources on each HCI node 110 can be virtualized to form a cluster distributed file system (DFS) 112. In at least some such embodiments, the cluster DFS 112 corresponds to a logical pool of storage capacity formed by some or all of the storage within the HCI cluster 106.
[0036] The HCI cluster 106 and one or more HCI nodes 110 within the cluster can represent or correspond to an entire application or one or more of the multiple microservices that implement the application. As an example, the HCI cluster 106 can be dedicated to a specific microservice, where multiple HCI nodes 110 provide redundancy and support high availability. In another example, the HCI nodes 110 within the HCI cluster 106 include one or more nodes corresponding to each microservice associated with a specific application.
[0037] Figure 1The HCI cluster 106-1 shown in FIG also includes a cluster network device (CND) 108 that facilitates communication and / or information exchange between the HCI nodes 110 of the HCI cluster 106-1 and other clusters 106, PRM 114, and / or one or more external entities, including (as one example) the platform administrator 102. In at least some embodiments, the CND 108 is implemented as a physical device, examples of which include, but are not limited to, a network switch, a network router, a network gateway, a network bridge, or any combination thereof.
[0038] The PRM 114 may be implemented with one or more servers, each of which may correspond to a physical server in a data center, a cloud-based virtual server, or a combination thereof. The PRM 114 may be communicatively coupled to all HCI nodes 110 across all HCI clusters 106 in the HCI platform 101 and to the platform administrator 102. The PRM 114 may include a resource utilization monitoring (RUM) service or feature having functionality for monitoring resource utilization parameters (RUPs) associated with the HCI platform 101.
[0039] Figure 2 An exemplary HCI node 110 according to the disclosed subject matter is shown. The HCI node 110, which can be implemented with a physical appliance (e.g., a server (not shown)), implements a hyperconverged architecture, integrating virtualization, computing, storage, and network resources into a single solution. The HCI node 110 may include a resource utilization agent (RUA) 202 that is communicatively coupled to network resources 204, computing resources 206, and a node controller 216. Figure 2 Node controller 216 is shown coupled to a hypervisor 208 that supports one or more virtual machines (VMs) 210-1 through 210-L, each of which is shown having an operating system (OS) 214 and one or more applications 212. Node controller 216 is also shown coupled to storage components (e.g., Small Computer System Interface (SCSI) controllers) including zero or more optional storage controllers 220, and storage components 222.
[0040] In some embodiments, the RUA 202 is tasked with monitoring the utilization of virtualization, compute, storage, and / or network resources on the HCI node 110. Thus, the node RUA 202 may include the following functionality: monitoring the utilization of network resources 204 to obtain network resource utilization parameters (RUPs); monitoring the utilization of compute resources 206 to obtain compute RUPs; monitoring the utilization of virtual machines 210 to obtain virtualization RUPs; and monitoring the utilization of storage resources 222 to obtain storage RUPs. The RUA 202 may periodically provide some or all of the RUPs to the environmental resource monitor (ERM) 226 via a pull and / or push mechanism.
[0041] Turning now to optimizing memory-storage capacity partitioning in a DCPMM or another suitable configuration, hybrid memory device, Figure 3 Exemplary configurable hybrid storage resources are shown that are suitable for use with the disclosed features for optimizing allocation efficiency.
[0042] Now go to Figure 3 , an information handling system is described that includes a configurable hybrid storage resource suitable for use in conjunction with the disclosed method for partitioning memory and storage capacity. Figure 3 The information handling system 300 shown in FIG. 3 includes a CPU 301 coupled to a configurable hybrid storage resource in the form of a DCPMM 310. Although the illustrated implementation employs DCPMM 310 as the configurable hybrid storage resource, other implementations may employ other types of hybrid resources.
[0043] The DCPMM 310 shown is implemented with persistent media 320 placed integrally with a dual in-line memory module (DIMM) 312 and mounted on a memory bus (not explicitly depicted) accessible to the CPU 301 via either of a pair of integrated memory controllers iMC0 (302-0) and iMC1 (302-1). In this configuration, the persistent memory DIMMs can exist alongside traditional volatile memory DRAM DIMMs (not depicted). Those skilled in the art of memory and storage technology will recognize that persistent memory DIMMs provide persistent data that can be retained after an intentional or unintentional shutdown or power outage. The data persistence of the DCPMM 310 enables the DCPMM to be used as a form of permanent storage, like a hard drive or solid-state drive, but with memory-like latency.
[0044] In at least some embodiments, DCPMM 310 can be configured for different modes, including memory mode, application direct mode, and hybrid mode, sometimes referred to as concurrent mode with memory mode and application direct mode. In memory mode, DCPMM 310 can behave similarly to regular volatile system memory under the control of the operating system. In application direct mode, DCPMM 310 and DRAM DIMMs can appear as independent memory sources under direct load / store control of applications. This enables DCPMM capacity to be used as byte-addressable persistent memory that is mapped into the system physical address space and directly accessible by applications.
[0045] Figure 3 The DCPMM 310 is shown configured in hybrid mode, where a portion of the persistent memory capacity functions as a volatile memory resource 321, while the remainder of the persistent memory capacity functions as a persistent storage resource 322. In hybrid mode operation, the optimal partitioning between memory and persistent storage is dynamic and application-dependent. The features and methods disclosed herein provide a method for determining and implementing a suitable or optimal memory-storage partitioning.
[0046] Now go to Figure 4 , a flow chart illustrates a method 400 for selecting a desired percentage for partitioning DCPMM, or another suitable type of configurable hybrid storage resource, between memory and persistent storage. Figure 4 The method 400 shown in FIG. 4 includes evaluating (operation 402) a UEI of a DCPMM. The UEI may be determined based on memory utilization, storage utilization, and one or more weighting factors that may reflect an expected and / or desired prioritization between memory utilization and storage utilization. In at least one embodiment, the UEI may be determined based on Figure 5 is defined as shown in formula 501. Figure 5 The UEI formula 501 shown in is not exhaustive of all embodiments and other embodiments may implement variations of the formula shown.
[0047] Now return to Figure 4, the illustrated method 400 determines (operation 404) a target configuration for partitioning DCPMM storage and memory resources. In at least one embodiment, the target configuration can be determined directly based on the UEI obtained in operation 402. After determining the target configuration, the illustrated method 400 then provisions (operation 406) the DCPMM by storing the values determined based on the UEI and stored on the DCPMM. During the next reboot, the stored values can be read by the BIOS or another suitable resource and used to partition the DCPMM capacity between memory and persistent storage based on the stored values. As an illustrative example, if the target configuration is 40% memory and 60% persistent storage, operation 406 will configure the DCPMM with these percentages.
[0048] In some embodiments, including embodiments in which the operating state of the system is relatively stable, determination of a target configuration for partitioning DCPMM storage between memory and persistent storage can be accomplished using a relatively small set (e.g., three or four) of static and / or predetermined DCPMM configuration profiles. These embodiments can be applicable to single-tenant environments, local cloud implementations, or any other environment in which the UEI is relatively stable and / or predictable. In at least one such embodiment, three predetermined DCPMM configuration profiles are employed, where a first profile can be selected based on the UEI determined in operation 402. For example, the configuration that achieves the highest UEI can be selected as the first DCPMM configuration profile.
[0049] Based on the first DCPMM configuration profile, a second profile (sometimes referred to herein as a memory-constrained profile) and a third profile (sometimes referred to herein as a storage-constrained profile) can be derived from the first profile. For example, if the first DCPMM configuration profile is 40% memory and 60% storage, the memory-constrained profile can be determined by using a memory allocation that is 50% of the memory allocation for the first profile, and the storage-constrained profile can be implemented by using a storage allocation that is 50% of the first profile.
[0050] Continuing with the previously cited example, the memory-constrained profile would have a 20% memory allocation and an 80% storage allocation, while the storage-constrained profile would have a 30% storage allocation and a 70% memory allocation. With these three profiles defined, the system can then select from the three defined profiles based on various factors. In at least one embodiment, a UEI value can be sampled for each of the three predefined profiles, and the profile associated with the highest UEI can be selected for use after the next reboot.
[0051] Go to Figure 6 and Figure 7, shows an exponential smoothing algorithm 700 for predicting future values of UEI based on Figure 7 ) to manage DCPMM memory-storage capacity partitioning method 600 ( Figure 6 ). Figure 6 The method 600 shown in FIG. 6 may be applicable to multi-tenant environments and other environments where target configuration may be dynamic.
[0052] Figure 6 The method 600 shown in employs exponential smoothing to determine or predict the next UEI value. Figure 7 An exemplary exponential smoothing algorithm 700 is shown that can be used in conjunction with method 600. Figure 7 The exponential smoothing algorithm 700 depicted in FIG. 7 is an example of a single exponential smoothing algorithm, but other embodiments may employ more complex exponential smoothing algorithms, including but not limited to double exponential smoothing algorithms, triple exponential smoothing algorithms, and the like.
[0053] Because exponential smoothing algorithms tend to produce more accurate predictions when data samples exhibit few sudden spikes and sharp changes, embodiments of method 600 may include a data smoothing operation ( Figure 6 (not explicitly depicted in
[15] ). A smoothed time series of UEI values can be obtained by collecting UEI sample values at relatively frequent intervals (e.g., hourly or daily samples) and then averaging the sample values over second and longer intervals (e.g., daily or monthly). Figure 1 and Figure 2 Within an HCI environment such as the one shown in , additional data smoothing can be achieved by averaging UEI values across multiple nodes and / or multiple clusters of nodes.
[0054] In the context of the time series of UEI values, Figure 7 The exponential smoothing algorithm 700 shown in predicts the next UEI value, ie, the UEI value for the next time series interval, based on a combination of the UEI values observed during the current time series interval and the UEI values predicted by the algorithm for the previous time series interval.
[0055] because Figure 7 The algorithm 700 shown in
[15] predicts the next value in the time series based in part on previously predicted values, so an initial value (s0) must be supplied to obtain the first predicted value. Furthermore, because the specified initial value can have a significant impact on the resulting model, a training phase can be employed to obtain an appropriate value for s0. In at least some embodiments, an appropriate value for s0 can be calculated by taking the average of a minimum number of UEI values. In other environments, the initial value S0 of zero can be selected by the user.
[0056] As previously discussed, the single exponential smoothing formula includes a smoothing factor α, which is a value between 0 and 1. The choice of the value of the smoothing factor α affects the accuracy of the model. Values of α close to 1 have a smaller smoothing effect and give greater weight to recent changes in the data. Conversely, values of α close to 0 have a greater smoothing effect and produce predictions that are less responsive to recent changes. In at least some embodiments, the selection of an appropriate value for the smoothing factor α can be obtained by determining the standard deviation of the UEI time series data, where a higher standard deviation indicates that a higher smoothing factor value is appropriate, while a lower standard deviation indicates that the smoothing factor value is closer to zero.
[0057] Figure 6 The method 600 shown in FIG. 6 includes a training phase (operation 602) during which UEI sample values are collected and provided to a computer using a method such as Figure 7 The exponential smoothing model of the algorithm 700 of the present invention is used to identify a suitable value for the initial value (s0) used for the optimization phase described. During the training phase 602, a relatively large value of α can be selected, such as 0.6 < α < 0.9, to quickly fit the model to the data. In at least some embodiments, the configuration of the DCPMM, and the value of α, are not updated before any restart that may occur, such as after server maintenance or training.
[0058] Upon completion of the training phase, an optimization phase is performed (operation 604). The last UEI value predicted by the model during the training phase 602 can be used as the initial value for the optimization phase 604. During the optimization phase 604, UEI sample data continues to be collected and the standard deviation can be calculated and used to adjust the value of α, where a larger standard deviation indicates a larger value of α.
[0059] After the optimization phase 604, the illustrated method 600 then uses the optimized model determined during the optimization phase 604 to predict (operation 606) the UEI value for the next time series interval. In some embodiments, the time series interval can be defined based on a system restart event, which may be related to a server maintenance event. In these embodiments, the optimized model can be used to predict the UEI for the next interval during the server maintenance window, and the predicted UEI can be used to reconfigure the DCPMM.
[0060] The illustrated embodiment of method 600 includes an additional operation 608 in which one or more derived configurations are defined based on the UEI-based configuration identified in operation 606. For example, some embodiments may define a memory-constrained configuration and a storage-constrained configuration that are derived from the target configuration. As previously discussed, in at least some embodiments, a memory-constrained configurator may refer to a configuration in which the memory partition is 50% of the memory partition target allocation, and a storage-constrained configuration may refer to a configuration in which the storage allocation is 50% of the target allocation. After the three configurations are defined, the UEI associated with each configuration may be calculated and the configuration that produces the highest UEI may be selected for implementation in the DCPMM itself. DCPMM-to-capacity partitioning may be implemented, and in at least some environments, implemented through the BMC, UEFA bios settings, or operating system DCPMM application / driver.
[0061] Any or all of the HCI components shown or described herein (including virtualized components and resources) may be Figure 8 The illustrated information handling system is instantiated on information handling system 800. The illustrated information handling system includes one or more general purpose processors or central processing units (CPUs) 801 communicatively coupled to volatile memory resources 810 and an input / output hub 820 to which various I / O resources and / or components are communicatively coupled. Figure 8 The I / O resources explicitly depicted in the include a network interface 840, commonly referred to as a NIC (Network Interface Card), storage resources 830, and additional I / O devices, components, or resources including, by way of non-limiting example, a keyboard, mouse, display, printer, speakers, microphones, etc. Not all are in the . Figure 8 As explicitly depicted in , some embodiments of the information handling system 800 (including some server embodiments) may include a baseboard management controller that, among other features and services, provides out-of-band management resources that can be coupled to a management device. Similarly, while in Figure 8 Although not explicitly depicted, at least some notebook, laptop, and / or tablet computer embodiments of information handling system 800 may include an embedded controller (EC) that provides some management functions, which may include at least some functions, features, or services provided by a baseboard management controller in some server embodiments.
[0062] The present disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the exemplary embodiments herein that would be understood by one of ordinary skill in the art. Similarly, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the exemplary embodiments herein that would be understood by one of ordinary skill in the art, where appropriate. In addition, references in the appended claims to a device or system or component of a device or system that is adapted, arranged, capable, configured, enabled, operable, or operative to perform a particular function encompass that device, system, or component, regardless of whether it or the particular function is activated, turned on, or unlocked, so long as the device, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
[0063] All examples and conditional language described herein are intended to help the reader understand the present disclosure and the teaching purpose of the concepts provided by the inventors to advance the art, and should be interpreted as not being limited to such specific examples and conditions. Although the embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions and modifications can be made to the embodiments of the present disclosure without departing from the spirit and scope of the present disclosure.
Claims
1. An information processing system comprising: one or more central processing units (CPUs); as well as a storage resource communicatively coupled to the one or more CPUs, wherein the storage resource comprises a hybrid storage resource, wherein the hybrid storage resource is user-configurable to allocate a first portion of its capacity as a volatile memory resource and a second portion of its capacity as a persistent storage resource, and wherein the storage resource comprises CPU-executable program instructions that, when executed by the one or more CPUs, cause the information handling system to perform memory management operations, wherein the memory management operations comprise: evaluating a utilization efficiency index (UEI) of the hybrid storage resource, wherein the UEI is determined based at least in part on a combination of a utilization of the volatile memory resource and a utilization of the persistent storage resource; determining a target memory-storage configuration based on the UEI; and configuring the hybrid storage resource to provide a first portion of its capacity as the volatile memory resource and a remaining portion of its capacity as the persistent storage resource based on the determined target memory-storage configuration, wherein the first portion is determined according to the target memory-storage configuration; Wherein, evaluating the UEI comprises: obtaining time series samples of memory utilization and storage utilization; and calculating the UEI for each sample based at least in part on the memory utilization and the storage utilization, wherein calculating the UEI comprises: accessing a memory weighting factor and a storage weighting factor, wherein the memory weighting factor and the storage weighting factor reflect the relative prioritization between memory utilization and storage utilization; and The UEI is determined based at least in part on the memory weighting factor and the storage weighting factor.
2. The information processing system of claim 1, wherein the UEI is defined by the following formula Among them, Index ue is the UEI, U m is the memory utilization, U s is the storage utilization, and W Um is the memory weight factor, and W Us is the storage weight factor.
3. The information handling system of claim 1 , wherein the information handling system is implemented as a single-tenant system or a local system, and wherein determining the target memory-storage configuration comprises: identifying one or more system configuration files; Static memory-storage partitioning is determined and assigned based at least in part on a UEI determined for each profile, and wherein each of the target memory-storage configurations is associated with a corresponding profile parameter, wherein the profile parameter is selected from a group of profile parameters, the group of profile parameters comprising: a time / date parameter and an application parameter.
4. The information processing system of claim 1 , wherein: The information handling system includes a multi-tenant cloud deployment; Evaluating the UEI includes: predicting the UEI of the next time series interval based on an exponential smoothing model; and Evaluating the UEI includes generating a smoothed time series of UEI values by collecting instantaneous memory utilization and storage utilization samples at a first frequency and averaging the instantaneous memory utilization and storage utilization samples at a second frequency lower than the first frequency.
5. The information handling system of claim 4, wherein the information handling system comprises a hyperconverged infrastructure, the hyperconverged infrastructure comprising one or more resource clusters, each of the one or more resource clusters comprising one or more resource nodes, and wherein collecting instantaneous memory utilization and storage utilization samples comprises at least one of: Collecting instantaneous samples across two or more nodes in a particular cluster; and Instantaneous samples are collected across two or more of the resource clusters.
6. The information handling system of claim 4, wherein the exponential smoothing model comprises a single exponential smoothing model in the form: = α + (1 - α) in constitutes the predicted UEI for the next time series interval, the observed UEIs that constitute the current time series interval, constitutes the previously predicted UEI for the previous time series interval, and α constitutes the smoothing factor.
7. The information processing system of claim 6, further comprising: The smoothed time series of UEI values is classified into one of a plurality of types selected from a group of types, the group of types including: a stable and flat time series, wherein the initial value of α is within a first range; a long-term upward or downward time series, wherein the initial value of α is within a second range; and a short-term upward and downward pattern, wherein the initial value of α is in a third range, wherein the values in the third range exceed the values in the second range and wherein the values in the second range exceed the values in the first range.
8. The information handling system of claim 6, further comprising determining a standard deviation of UEI values and adjusting α according to a magnitude of the standard deviation.
9. The information handling system of claim 6, wherein predicting the UEI comprises: Training the exponential smoothing model based on UEI sample values using a larger value of the smoothing factor (α); Optimizing the exponential smoothing model, wherein optimizing the exponential smoothing model comprises determining a standard deviation of UEI values predicted by the exponential smoothing model, and adjusting the smoothing factor of the exponential smoothing model according to the smoothing factor; Predicting the UEI for the next time series interval before the restart event; and The hybrid storage resources are configured according to the UEI predicted for the next time series interval.
10. A memory management method, comprising: evaluating a utilization efficiency index (UEI) of a hybrid storage resource, wherein the hybrid storage resource is user-configurable to allocate a first portion of its capacity as volatile memory resources and a second portion of its capacity as persistent storage resources, wherein the UEI is determined at least in part by a combination of a utilization of the volatile memory resources and a utilization of the persistent storage resources; Determining a target memory storage configuration partition based on the UEI assessment; as well as The hybrid storage resource is configured to allocate a first portion of its capacity to the volatile memory resource and a remaining portion of its capacity to the persistent storage resource based on the determined target memory-storage configuration, wherein the first portion is determined according to the target memory-storage configuration partition, wherein: Evaluating the UEI includes: obtaining time series samples of memory utilization and storage utilization; and calculating the UEI for each sample based at least in part on the memory utilization and the storage utilization; Calculating the UEI includes: accessing a memory weight factor and a storage weight factor, wherein the memory weight factor and the storage weight factor reflect the relative priority between memory utilization and storage utilization; and The UEI is determined based at least in part on the memory weighting factor and the storage weighting factor.
11. The method of claim 10, wherein the UEI is defined by the following formula Among them, Index ue is the UEI, U m is the memory utilization, U s is the storage utilization, and W Um is the memory weight factor, and W Us is the storage weight factor.
12. The method of claim 10, wherein the information handling system is implemented as a single-tenant system or a local system, and wherein determining the target memory-storage configuration partition comprises: identifying one or more system configuration files; A static memory-storage configuration ratio is determined and assigned based at least in part on a UEI determined for each profile, and wherein each of the target memory-storage configurations is associated with a corresponding profile parameter, wherein the profile parameter is selected from a group of profile parameters, the group of profile parameters comprising: a time / date parameter and an application parameter.
13. The method of claim 10, wherein the information handling system comprises a multi-tenant cloud deployment, and wherein evaluating the UEI comprises predicting the UEI for a next time series interval using an exponential smoothing algorithm, and wherein evaluating the UEI comprises generating a smoothed time series of UEI values by collecting instantaneous memory utilization and storage utilization samples at a first frequency to calculate an average corresponding to a second frequency.
14. The method of claim 13, wherein the information handling system comprises a hyperconverged infrastructure, the hyperconverged infrastructure comprising one or more resource clusters, each of the one or more resource clusters comprising one or more resource nodes, and wherein collecting instantaneous memory utilization and storage utilization samples comprises at least one of: Collecting instantaneous samples across two or more nodes in a particular cluster; and Instantaneous samples are collected across two or more of the resource clusters.
15. The method of claim 13, wherein the exponential smoothing algorithm comprises single exponential smoothing, wherein: = α + (1 - α) in constitutes the predicted UEI for the next time series interval, the observed UEIs that constitute the current time series interval, constitutes the previously predicted UEI for the previous time series interval, and α constitutes the smoothing factor.
16. The method of claim 15, further comprising: The smoothed time series of UEI values is classified into one of a plurality of types selected from a group of types, the group of types including: a stable and flat time series, wherein the initial value of α is within a first range; a long-term upward or downward time series, wherein the initial value of α is within a second range; and a short-term upward and downward pattern, wherein the initial value of α is in a third range, wherein the values in the third range exceed the values in the second range and wherein the values in the second range exceed the values in the first range.
17. The method of claim 15, further comprising determining a standard deviation of UEI values and adjusting α according to a magnitude of the standard deviation.
18. The method of claim 17, wherein predicting the UEI comprises: Using a larger value of the smoothing factor (α) to train an exponential smoothing model based on the UEI sample values; Optimizing the exponential smoothing model, wherein optimizing the exponential smoothing model comprises determining a standard deviation of UEI values predicted by the exponential smoothing model, and adjusting the smoothing factor of the exponential smoothing model according to the smoothing factor; Before the restart event, predict the UEI for the next time series interval; as well as The hybrid storage resources are configured according to the UEI predicted for the next time series interval.
Citation Information
Patent Citations
A method for forecasting spare part demand of a wrapping workshop
CN109002944A
Server load balancing distribution method
CN112199199A