Method, device and storage medium for managing composable system

WO2025010640A8PCT designated stage expired Publication Date: 2025-02-20LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/106901
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-12
Publication Date
2025-02-20

AI Technical Summary

Technical Problem

In composable systems, workload data stored in accelerator memory is not adequately protected during workload migration, especially in scenarios involving compute node hardware issues or network congestion.

Method used

The method involves generating an encryption key for workload data corresponding to an accelerator memory, transferring this key to a compute node, offloading workload data to the accelerator memory, and then migrating the encryption key and application to a new compute node while keeping the workload data resident in the accelerator memory.

Benefits of technology

This approach ensures that workload data remains protected from foreign inspection during migration, maintaining data security and integrity without the need to clear the accelerator memory or reprogram the accelerator.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023106901_20022025_PF_FP_ABST
    Figure CN2023106901_20022025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, a device, and a storage medium for managing a composable system. The method includes generating an encryption key of workload data corresponding to an accelerator memory of an accelerator and transferring the encryption key to the first compute node, offloading the workload data from the first compute node to the accelerator memory of the accelerator, un-mapping the accelerator from the first compute node in response to a first condition and mapping the accelerator to a second compute node, migrating the encryption key and application from the first compute node to the second compute node, while keeping the workload data resident in the accelerator memory, and receiving the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD, DEVICE AND STORAGE MEDIUM FOR MANAGING COMPOSABLE SYSTEM

[0001] FIELD OF THE DISCLOSURE

[0002] The present disclosure relates to data processing, or more particularly, relates to a method, a device, and a storage medium for managing a composable system.BACKGROUND

[0003] A composable architecture often allows easy management of disaggregated resources. The resources may include storage, CPUs, or the like. The resources may be optimized by composition or decomposition in the composable architecture. A dynamic hardware configuration may be used in the composable architecture to enable and disable hardware on demand to provide optimum utilization of the hardware.

[0004] BRIEF SUMMARY

[0005] One aspect of the present disclosure provides a method for managing a composable system. The method includes generating an encryption key of workload data corresponding to an accelerator memory of an accelerator where the accelerator is mapped to a first compute node in the composable system, transferring the encryption key to the first compute node, offloading the workload data from the first compute node to the accelerator memory of the accelerator, un-mapping the accelerator from the first compute node in response to a first condition occurring related to the first compute node and mapping the accelerator to a second compute node in the composable system, migrating the encryption key and application from the first compute node to the second compute node while keeping the workload data resident in the accelerator memory, and receiving the encryption key sent from the second compute node to  verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.

[0006] Another aspect of the present disclosure provides a device. The device includes a memory for storing program instructions and a processor which is operatively coupled to the memory. When the program instructions are executed, the processor is configured to generate an encryption key of workload data corresponding to an accelerator memory of an accelerator, where the accelerator is mapped to a first compute node in a composable system. The processor is further configured to transfer the encryption key to the first compute node. The processor is further configured to offload the workload data from the first compute node to the accelerator memory of the accelerator. The processor is further configured to un-map the accelerator from the first compute node in response to a first condition occurring related to the first compute node and map the accelerator to a second compute node in the composable system. The processor is further configured to migrate the encryption key and application from the first compute node to the second compute node, while keeping the workload data resident in the accelerator memory. The processor is further configured to receive the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.

[0007] Another aspect of the present disclosure provides a non-transitory computer readable storage medium, containing computer program instructions, and when being loaded and executed by a processor, the computer program instructions cause a processor to perform generating an encryption key of workload data corresponding to an accelerator memory of an accelerator where the accelerator is mapped to a first compute node in a composable system, transferring the encryption key to the first compute node, offloading the workload data from the  first compute node to the accelerator memory of the accelerator, un-mapping the accelerator from the first compute node in response to a first condition occurring related to the first compute node and mapping the accelerator to a second compute node in the composable system, migrating the encryption key and application from the first compute node to the second compute node while keeping the workload data resident in the accelerator memory, and receiving the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.

[0008] The foregoing and other objects, features and advantages of the present disclosure may be apparent from the following more particular description of exemplary embodiments of the present disclosure as illustrated in the accompanying drawings where reference numbers represent like parts of exemplary embodiments of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0009] In order to more completely understand the present disclosure and the advantages, references may be made to the following description in conjunction with the accompanying drawings herein.

[0010] FIG. 1 illustrates a block diagram of an exemplary composable system according to various embodiments of the present disclosure;

[0011] FIG. 2 illustrates a block diagram of another exemplary composable system according to various embodiments of the present disclosure; and

[0012] FIG. 3 illustrates a flow chart of an exemplary method for managing a composable system according to various embodiments of the present disclosure.DETAILED DESCRIPTION

[0013] Hereinafter, certain embodiments of the present disclosure may be described with reference to the drawings. It should be understood, however, that the descriptions may be merely exemplary and may not intended to limit the scope of the present disclosure. In addition, in the following description, descriptions of well-known structures and techniques are omitted to avoid unnecessarily obscuring the concepts of the present disclosure.

[0014] The terminology used herein may be merely for the purpose of describing particular embodiments and may not intended to limit the present disclosure. The terms “include” , “comprise” and the like as used herein may indicate the presence of stated features, steps, operations, and / or components, but may not exclude the presence or addition of one or more other features, steps, operations, or components.

[0015] All terms (including technical and scientific terms) used herein may have the same meaning as commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted to have meanings consistent with the context of the specification and should not be interpreted in an idealized or overly rigid manner.

[0016] Certain block diagrams and / or flowcharts may be shown in the drawings. It should be understood that certain blocks or combinations of block diagrams and / or flowcharts may be implemented by computer program instructions. The computer program instructions may be provided to processors of a general-purpose computer, a special purpose computer, or other programmable data processing devices, thus the instructions, when executed by the processors, may create means for implementing the functions / operations illustrated in the block diagrams and / or flowcharts.

[0017] Various embodiments of the present disclosure provide a method, a device and a medium storage for managing a composable system. For example, the composable system may include a dynamic hardware configuration, including one or more compute nodes and one or more accelerator nodes. The accelerator node may correlate closely with the compute node. The accelerator node may include one or more accelerators. Each accelerator may include one or more accelerator memories. In one embodiment, a key-management-based accelerator workload memory persistence may be performed on the composable system.

[0018] In some cases, when implementing a workload migration on the composable system, the accelerator memory may not be protected from being read by any arbitrary workload. To enhance the security, the accelerator may thus be unmapped from an original compute node, and the data on the accelerator memory have to be cleared until the accelerator is remapped to a replacement compute node. The operation or the workload may then be resumed by reprogramming the accelerator starting from an uninitialized state. This process is costly at least because of the latency and bandwidth required for programming.

[0019] According to various embodiments of the present disclosure, encryption keys are utilized in the composable system to allow workload data to be kept on accelerator memory, e.g., without being migrated. The workload data may thus be protected from foreign inspection during a workload migration, especially when compute node hardware problems and / or network congestion situations occur. Retention of the state in the accelerator is thus achieved without having security loss of the workload data.

[0020] In an exemplary composable system, one accelerator node may include one accelerator (e.g., among a plurality of accelerators) mapped to one compute node (e.g., among a plurality of compute nodes) . An encryption key corresponding to an accelerator memory may be  generated by a manager (e.g., composable system management software, hardware, or a combination thereof) and passed to a compute node. The workload computational data (e.g., AI models) on the compute node may be offloaded to the accelerator memory after the encryption key is generated. The compute node may use the encryption key to unlock the remote accelerator memory, thereby executing the workload. During the workload execution, the compute node may encounter hardware problems (e.g., hardware malfunction) and / or network congestions. Hence the accelerator mapped to the compute node may be unmapped from the current compute node and then re-mapped to a replacement compute node. The replacement compute node may use the encryption key to access the accelerator memory which has workload data remained in place.

[0021] An exemplary computing environment may be described according to various embodiments of the present disclosure hereinafter. The computing environment may enable the composable system for performing key-management-based accelerator workload memory persistence. The computing environment may include at least one processor (e.g., central processing unit (CPU) ) and a memory such as a random-access memory (RAM) . The RAM is connected, through a high-speed memory bus and a bus adapter, to the processor and other components of the computing environment.

[0022] An operating system may be stored in the RAM. Operating systems, useful in computers configured for the disclosed composable systems according to various embodiments of the present disclosure, may include UNIX TM, Linux TM, Microsoft Windows TM, AIXTM, and the like, although the operating system is in the RAM as an example. However, various components of the above-mentioned operating systems may be stored in non-transitory memory,  such as a data storage, which may not be limited according to various embodiments of the present disclosure.

[0023] The computing environment may further include a drive adapter which is coupled, through an expansion bus and the bus adapter, to the processor and other components of the computing environment. The drive adapter may connect non-transitory memory (e.g., the data storage) to other components of the computing environment. Drive adapters useful in computers configured for composable systems may include integrated drive electronics (IDE) adapters, small computer system interface (SCSI) adapters, non-volatile memory express (NVMe) adapters, serial advanced technology attachment (SATA) adapters, serial attached SCSI (SCSI stands for small computer system interface) (SAS) adapters, small computer system interface (SCSI) over internet protocol (IP) adapters (i.e. iSCSI adapters) , SCSI over fibre channel (FC) adapters, and any other suitable adapters. Non-transitory memory may also be implemented as optical disk drives, electrically erasable programmable read-only memory (EEPROM or flash memory) , RAM drives, and the like.

[0024] The computing environment may further include one or more input / output (I / O) adapters. The I / O adapters may implement user-oriented input / output through software drivers and computer hardware for controlling output to display devices such as computer display screens, as well as user input from user input devices such as keyboards and mice. The computing environment may further include a video adapter, which is an example of the I / O adapter specially designed for graphic output to a display device, including a display screen or a computer monitor. Optionally, the video adapter may be coupled to the processor through a high-speed video bus, the bus adapter, and a front side bus which is also a high-speed bus.

[0025] The computing environment may further include a communication adapter for data communication with other computers and a data communication network. The data communication may be carried out serially through external buses (e.g., a universal serial bus (USB) ) , data communication networks (i.e., IP data communication networks) , and other suitable manners. Communication adapters may implement the hardware level of data communication where one computer sends data communication to another computer, directly or through a data communication network. Examples of communications adapters in computers configured for composable systems include InfiniBand adapters, Ethernet (IEEE 802.3) adapters for wired data communications, and 802.11 adapters for wireless data communications.

[0026] The compute node may be a collection of compute elements which are able to be arranged (i.e., composed) into different configurations based on data center requirements. The compute elements may be modules of computer hardware and software configured to create composable systems. The compute elements may be devices which perform one or more functions within the system. The compute elements may include storage components, interconnect components, GPU components, processing units, I / O adapters, drive adapters, and the like. The compute node may be a set of compute elements configured based on the rack scale design (RSD) platform. Furthermore, the compute node may be coupled to the expansion bus via the communication adapter.

[0027] In one embodiment, the computing environment may support the composable system or the composable system and the manager.

[0028] FIG. 1 illustrates a block diagram of an exemplary composable system according to various embodiments of the present disclosure. As shown in FIG. 1, the composable system may include a dynamic hardware configuration, including one or more compute nodes 122A- 122N and / or one or more accelerator nodes 210. The accelerator node 210 may be remotely configured and communicate with the compute node 122, e.g., via an interconnect fabric 218. A manager 126 may be connected to each compute node 122 via a management fabric 204. The accelerator node 210 may include one or more accelerators 212. Each accelerator 212 may include one or more accelerator memory 214. Elements illustrated in FIG. 1 for the exemplary composable system may be altered or omitted, and more elements may be added to the disclosed composable system, according to various embodiments of the present disclosure.

[0029] As shown in FIG. 1, the manager 126 may be coupled to the management fabric 204. A group of compute nodes (e.g., from a first compute node 122A to an N-th compute node 122N) , the accelerator node 210, and the manager 126 are each coupled to the management fabric 204.

[0030] In each compute node, e.g., as in the compute node 122A, a management adapter 206 may be coupled to the management fabric 204. Each element (e.g., any computer node 122 or accelerator node 210) may include the management CPU 208 which is connected to the manager 126. The manager 126 may create the topology of the composable system via the configuration of the fabric adapters 216 in the compute nodes 122 and / or the accelerator node 210 through corresponding management CPUs 208.

[0031] The composable system may include a dynamic configuration including one or more compute nodes selected from the compute nodes 122A-122N. Each compute node may include a processor, memory, storage, and an I / O controller. The composable system may be formed including multiple subsystems based on any combinations of the above-mentioned elements, which may not be limited herein according to various embodiments of the present disclosure.

[0032] The manager 126 may be software, hardware, or an aggregation of both software and hardware which may compose and manage the composable system. The manager 126 may manage and configure the composable system made up of the above-mentioned compute nodes, or any other suitable nodes, which may not be limited according to various embodiments of the present disclosure. The manager 126 may instruct the management CPU 208 in one or more of the compute nodes 122 and / or the accelerator node 210 to add or remove a corresponding communication coupling on the interconnect fabric 218, thereby creating or modifying the composable system.

[0033] The interconnect fabric 218 may be a device or a group of devices which may transfer data between the nodes including the compute nodes 122A-122N and the accelerator node 210. The interconnect fabric 218 may be a switching fabric, such as a peripheral component interconnect express (PCIe) , an infiniband, an omni-path, and an ethernet network.

[0034] The management CPU 208 (for example, a hardware device) may be configured to manage and configure the fabric adapter 216 on a corresponding compute node 122 or accelerator node 210. The management CPU 208 may communicate with the manager 126 to provide the manager 126 with information of the fabric adapter 216 contained in the corresponding compute node 122 or accelerator node 210. The management CPU 208 may also carry out the instructions received from the manager 126, including configuring the composition of the composable systems from the above-mentioned compute nodes (e.g., by mapping or un-mapping the compute nodes to an accelerator memory) .

[0035] The management CPU 208 may also monitor the resource utilization of the compute node 122 or the accelerator node 210 coupled to the management adaptor 206. The management CPU 208 may send information about the resource utilization to the manager 126.  Resource utilization information may include, for example, percentage utilized (e.g., percentage of processor utilization, percentage of storage or memory utilized, and the like) and any component temperatures.

[0036] The accelerator node 210 and compute nodes 122A-122N of the composable system may be connected to the manager 126 using the management fabric 204. The management fabric 204 may be a switching fabric or a wired data communication (e.g., an Ethernet) which may include a local area network (LAN) , a metropolitan area network (MAN) , a wide area network (WAN) , and the like. The accelerator node 210 may include one or more accelerators 212, where the quantity of the accelerators may not be limited according to various embodiments of the present disclosure. The accelerator 212 may be computer hardware, software, or an aggregation of both software and hardware, which may perform certain functions, e.g., more efficiently than a general-purpose CPU. The accelerator 212, which is remotely located from the compute nodes, may include one or more accelerator memory 214.

[0037] FIG. 2 illustrates a block diagram of another exemplary composable system according to various embodiments of the present disclosure. Referring to FIG. 2, the composable system may include one compute node 122 and one accelerator node 210.

[0038] FIG. 3 illustrates an exemplary method for managing a composable system according to various embodiments of the present disclosure. Although the exemplary method illustrated in FIG. 3 is described with reference to the configurations illustrated in FIGS. 1-2, the method and the system described herein may not be limited to each other.

[0039] In S302 of FIG. 3, the method may include mapping the accelerator 212, among a plurality of accelerators, in the accelerator node 210 remotely to the first compute node 122A, e.g., among a plurality of compute nodes, of the composable system by the manager 126.

[0040] Mapping the accelerator 212 in the accelerator node 210 of the composable system to the first compute node 122A may be carried out by the manager 126 for receiving information of the state of the compute elements as the compute elements participate in executing the workload. Mapping the accelerator 212 in the accelerator node 210 of the composable system to the first compute node 122A may be carried out by enabling a communication coupling through the interconnect fabric 218 between the accelerator 212 and the first compute node 122A. That is, mapping the accelerator 212 in the accelerator node 210 of the composable system to the first compute node 122A may be carried out by creating an association between the accelerator 212 and the first compute node 122A via the configuration of their respective fabric adapters 216.

[0041] A workload is a processing job which may include workload data and workload application. For example, the workload may be a model complex, such as weather forecasting using a weather modeling application and weather data. Executing the workload may include contributions from one or more compute elements in the composable system. The involvement of each compute element may increase or decrease depending on the current requirements of the workload execution. During certain periods of the execution of the workload, certain compute elements may be heavily utilized or lightly utilized. Furthermore, during certain periods of the execution of the workload, certain compute elements may be in an idle state.

[0042] The composable system may be managed and monitored by the manager 126 in communication with the management CPU 208 in the compute node 122 and / or the accelerator node 210. For example, the composable system after the composition may include one or more compute nodes 122 and one or more accelerator nodes 210, for example, selected from a set  under management by the (composition) manager. The composable system may be formed by a subset of the compute nodes and accelerator nodes.

[0043] In S304 of FIG. 3, the method may further include generating an encryption key of workload data corresponding to the accelerator memory 214 of the accelerator 212 by the manager 126, where the accelerator 212 is mapped to the first compute node 122A in the composable system, and include transferring the encryption key to the first compute node 122A to protect the accelerator memory usage. The workload data may need to be encrypted before transmitting to any suitable nodes in the composable system. The encryption key may create a binding between the workload and the accelerator 212, regardless of where the workload is hosted in the plurality of compute nodes 122A-122N.

[0044] In S306 of FIG. 3, the workload data may then be offloaded from the first compute node 122A to the accelerator memory 214 of the accelerator 212. Offloading workload data to the accelerator memory 214 of the accelerator 212 may be carried out by the compute node 122A. The computational offloaded workload data may include, for example, artificial intelligence (AI) models, and the like. For example, the interconnect fabric 218 may be used to offload the encrypted workload data from the first compute node 122A to the accelerator memory 214 of the accelerator 212. Once the system is composed, the workload on the compute node may not discern that the composition is in effect and may not directly communicates with the manager 126. In one embodiment, at this point, the encryption key may be stored in the first compute node 122A, and the encrypted workload data may be stored in the accelerator memory 214.

[0045] According to various embodiments of the present disclosure, the encryption key may be utilized in an exemplary composable system to allow the workload data to be kept on  accelerator memory, e.g., without being migrated. The workload data may thus be protected from foreign inspection during a workload migration, especially when hardware problems and / or network congestion situations of the compute node occur. Retention of the state in the accelerator is thus achieved without having security loss of the workload data.

[0046] In S308 of FIG. 3, after the encryption key is transferred to the first compute node 122A, the first compute node 122A may use the encryption key to unlock the accelerator memory 214 to execute the workload on the mapped accelerator 212 using the workload data.

[0047] In S310 of FIG. 3, the method may further include, in response to a first condition occurring related to the first compute node 122A, un-mapping the accelerator 212 from the first compute node 122A and mapping the accelerator 212 to a second compute node 122B in the composable system.

[0048] The first condition may include one or more of hardware malfunction and a network congestion, related to the first compute node 122A. In some embodiments, before the first condition occurs to the first compute node 122A, the workload corresponding to the workload data is executed on the mapped accelerator 212 by the first compute node 122A. In other embodiments, the first condition may occur to the first compute node 122A before the workload is executed on the mapped accelerator 212.

[0049] For example, un-mapping the accelerator 212 in the accelerator node 210 of the composable system from the first compute node 122A may be carried out by disabling a communication coupling between the accelerator 212 and the first compute node 122A through the configuration of the respective fabric adapters 216. That is, un-mapping the accelerator 212 in the accelerator node 210 of the composable system from the first compute node 122A may be carried out by removing an association between the accelerator 212 and the first compute node  122A. Mapping the accelerator 212 in the accelerator node 210 of the composable system to the second compute node 122B may be carried out by enabling a communication coupling between the accelerator and the second compute node 122B through the interconnect fabric 218. That is, mapping the accelerator 212 in the accelerator node 210 of the composable system to the second compute node 122B may be carried out by creating an association between the accelerator 212 and the second compute node 122B through the configuration of the respective fabric adapters 216.

[0050] In S312 of FIG. 3, the method may further include migrating the encryption key from the first compute node 122A to the second compute node 122B, while keeping the workload data resident in the accelerator memory 214. Furthermore, the method may further include migrating the workload application along with the encryption key from the first compute node 122A to the second compute node 122B.

[0051] In some embodiments, migrating the workload application and the encryption key from the first compute node 122A to the second compute node 122B, and / or composition reconfiguration of the composable system may be carried out by the manager 126. In other embodiments, the migrating of the workload application and the encryption key from the first compute node 122A to the second compute node 122B, and / or composition reconfiguration of the composable system may be performed by communication between the manager 126 of composition and the management adapter 206 of the first compute node 122A (and / or the second compute node 122B) to achieve the desired migration and reconfiguration of composition. In one embodiment, at this point, the encryption key may be stored in the second compute node 122B, and the workload data may remain resided / stored in the accelerator memory 214.

[0052] In S314 of FIG. 3, the method may further include receiving the encryption key sent from the second compute node 122B to verify the encryption key for whether the second compute node 122B is able to use the workload data stored on the accelerator memory 214. That is, the workload application may use the encryption key to unlock or decrypt the remote accelerator memory 214 having the offloaded workload data.

[0053] In S316 of FIG. 3, the method may further include, after the encryption key is verified, executing the workload on the accelerator memory 214 by the second compute node 122B using the workload data. The workload may access the decrypted workload data stored in the accelerator memory using the mapping between the second compute node 122B and the accelerator 212.

[0054] In view of the above-mentioned description, those skilled in the art may recognize that the benefits of key-management-based accelerator workload memory persistence on the composable system according to various embodiments of the present disclosure include improving the operation of the composable system by performing the encryption key-management-based accelerator workload memory persistence, increasing the security and reliability of the composable system, improving the operation of the composable system without clearing the accelerator memory and without reprogramming the accelerator from its uninitialized state, and increasing the functionality and efficiency of the composable system.

[0055] The present disclosure also provides a device which includes a memory for storing program instructions and a processor which is operatively coupled to the memory. When the program instructions are executed, the processor is configured to generate an encryption key of workload data corresponding to an accelerator memory of an accelerator, where the accelerator is mapped to a first compute node in a composable system. The processor is further  configured to transfer the encryption key to the first compute node. The processor is further configured to offload the workload data from the first compute node to the accelerator memory of the accelerator. The processor is further configured to un-map the accelerator from the first compute node in response to a first condition occurring related to the first compute node and map the accelerator to a second compute node in the composable system. The processor is further configured to migrate the encryption key and application from the first compute node to the second compute node, while keeping the workload data resident in the accelerator memory. The processor is further configured to receive the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.

[0056] The present disclosure also provides a non-transitory computer readable storage medium, containing computer program instructions, and when being loaded and executed by a processor, the computer program instructions cause a processor to perform generating an encryption key of workload data corresponding to an accelerator memory of an accelerator where the accelerator is mapped to a first compute node in a composable system, transferring the encryption key to the first compute node, offloading the workload data from the first compute node to the accelerator memory of the accelerator, un-mapping the accelerator from the first compute node in response to a first condition occurring related to the first compute node and mapping the accelerator to a second compute node in the composable system, migrating the encryption key and application from the first compute node to the second compute node while keeping the workload data resident in the accelerator memory, and receiving the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.

[0057] Exemplary embodiments of the present disclosure are described largely in the context of a fully functional computer system for performing key-management-based accelerator workload memory persistence on a composable system during workload execution. Those skilled in the art should recognize, however, that the present disclosure also may be embodied in a computer program product disposed upon computer readable storage media for use with any suitable data processing system. Such computer readable storage media may be any storage medium for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of such media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and the like. Those skilled in the art should immediately recognize that any computer system having suitable programming means may be capable of executing the steps of the method of the disclosure as embodied in a computer program product. Those skilled in the art should recognize also that, although certain exemplary embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present disclosure.

[0058] The computer readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium may include the following: a persistent memory including a non-volatile dual in-line memory module (NVDIMM) , a redundant array of independent disks (RAID) adapter, a tape drive, a hard disk, a random access  memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disk (DVD) , a memory stick, a mechanically encoded device such as raised structures in a groove having instructions recorded thereon, and any suitable combination of the above-mentioned storage media. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) , or electrical signals transmitted through a wire.

[0059] Computer readable program instructions described herein may be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0060] Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the  like, and conventional procedural programming languages, such as the C programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) . In certain embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA) , or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0061] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, system (systems) , and computer program products according to embodiments of the disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0062] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing system to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing system, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer  readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing system, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein includes an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.

[0063] The computer readable program instructions may also be loaded onto a computer, other programmable data processing system, or other device to cause a series of operational steps to be performed on the computer, other programmable system or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable system, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0064] The flowchart and block diagrams in the drawings may illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. Each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing the specified logical function (s) . In certain alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may be executed in the reverse order at certain cases, depending upon the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems  that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0065] It should be understood from the foregoing description that modifications and changes may be made in various embodiments of the present disclosure without departing from its true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the present disclosure is limited only by the language of the following claims.

Claims

1.A method, performed by a manager of a composable system, comprising:generating an encryption key of workload data corresponding to an accelerator memory of an accelerator, wherein the accelerator is mapped to a first compute node in the composable system;transferring the encryption key to the first compute node;offloading the workload data from the first compute node to the accelerator memory of the accelerator;un-mapping the accelerator from the first compute node in response to a first condition occurring related to the first compute node and mapping the accelerator to a second compute node in the composable system;migrating the encryption key and application from the first compute node to the second compute node, while keeping the workload data resident in the accelerator memory; andreceiving the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.2.The method according to claim 1, before generating the encryption key of the workload data corresponding to the accelerator memory of the accelerator, further comprising:mapping the accelerator among a plurality of accelerators in an accelerator node to the first compute node.3.The method according to claim 1, wherein:after the encryption key is transferred to the first compute node, the first compute node uses the encryption key to unlock the accelerator memory to execute a workload on the mapped accelerator using the workload data.4.The method according to claim 1, wherein:the first condition includes one or more of hardware malfunction and a network congestion, related to the first compute node.5.The method according to claim 1, wherein after the encryption key is transferred to the first compute node:before the first condition occurs to the first compute node, a workload corresponding to the workload data is executed on the mapped accelerator by the first compute node.6.The method according to claim 1, wherein after the encryption key is transferred to the first compute node:the first condition occurs to the first compute node before a workload is executed on the mapped accelerator.7.The method according to claim 1, wherein migrating the encryption key from the first compute node to the second compute node includes:migrating a workload application along with the encryption key from the first compute node to the second compute node.8.The method according to claim 1, wherein:after the encryption key is verified, a workload is executed on the accelerator memory by the second compute node using the workload data.9.The method according to claim 1, wherein:the first and second compute nodes are coupled to each other by an interconnect fabric; andeach of the first and second compute nodes is coupled to the accelerator by the interconnect fabric.10.The method according to claim 1, wherein:each of the first and second compute nodes includes:a management adapter connecting to a management fabric, wherein the management adapter includes a management CPU for communicating with the manager via the management fabric, anda fabric adapter connecting to an interconnect fabric.11.A device, comprising:a memory, storing program instructions; anda processor, operatively coupled to the memory, and when the program instructions being executed, configured to:generate an encryption key of workload data corresponding to an accelerator memory of an accelerator, wherein the accelerator is mapped to a first compute node in a composable system;transfer the encryption key to the first compute node;offload the workload data from the first compute node to the accelerator memory of the accelerator;un-map the accelerator from the first compute node in response to a first condition occurring related to the first compute node and map the accelerator to a second compute node in the composable system;migrate the encryption key and application from the first compute node to the second compute node, while keeping the workload data resident in the accelerator memory; andreceive the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.12.The device according to claim 11, wherein before generating the encryption key of the workload data corresponding to the accelerator memory of the accelerator, the processor is further configured to:map the accelerator among a plurality of accelerators in an accelerator node to the first compute node.13.The device according to claim 11, wherein:after the encryption key is transferred to the first compute node, the first compute node is configured to use the encryption key to unlock the accelerator memory to execute a workload on the mapped accelerator using the workload data.14.The device according to claim 11, wherein:the first condition includes one or more of hardware malfunction and a network congestion, related to the first compute node.15.The device according to claim 11, wherein to migrate the encryption key from the first compute node to the second compute node, the processor is further configured to:migrate a workload application along with the encryption key from the first compute node to the second compute node.16.A non-transitory computer readable storage medium, containing computer program instructions, and when being loaded and executed by a processor, the computer program instructions cause a processor to perform:generating an encryption key of workload data corresponding to an accelerator memory of an accelerator, wherein the accelerator is mapped to a first compute node in a composable system;transferring the encryption key to the first compute node;offloading the workload data from the first compute node to the accelerator memory of the accelerator;un-mapping the accelerator from the first compute node in response to a first condition occurring related to the first compute node and mapping the accelerator to a second compute node in the composable system;migrating the encryption key and application from the first compute node to the second compute node, while keeping the workload data resident in the accelerator memory; andreceiving the encryption key sent from the second compute node to verify the encryption key for whether the second compute node is able to use the workload data stored on the accelerator memory.17.The storage medium according to claim 16, wherein:before generating the encryption key of the workload data corresponding to the accelerator memory of the accelerator, the accelerator among a plurality of accelerators in an accelerator node is mapped to the first compute node.18.The storage medium according to claim 16, wherein:after the encryption key is transferred to the first compute node, the first compute node uses the encryption key to unlock the accelerator memory to execute a workload on the mapped accelerator using the workload data.19.The storage medium according to claim 16, wherein:the first condition includes one or more of hardware malfunction and a network congestion, related to the first compute node.20.The storage medium according to claim 16, wherein migrating the encryption key from the first compute node to the second compute node includes:migrating a workload application along with the encryption key from the first compute node to the second compute node.