Method and device for supporting accelerated caching of computing power resources of intelligent computing center
By using a distributed file system as a cache in the intelligent computing center to replace local disk storage, the read and write speed problem of DiskANN service is solved, the expansion of computing power resources and high data availability are achieved, and the system performance and user experience are improved.
Patent Information
- Application Number
- CN202411375624.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-01-14
AI Technical Summary
The local disk read and write speed of the Intelligent Computing Center used for DiskANN services is limited, resulting in slow system processing speed and poor user experience, and the computing resources need to be expanded.
A distributed file system is used as a local cache to store and query vector data and graph indexes, replacing the traditional local disk storage method, improving data reading and writing speed, and adapting to load needs by automatically extending object storage nodes.
It significantly improves the data read and write speed of DiskANN service, improves user experience, and ensures high availability and persistence of data through multiple replica storage of distributed file systems.
Smart Images

Figure CN119311643A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the technical field of computing power infrastructure, and in particular, to a method and device for supporting accelerated caching of computing power resources in an intelligent computing center. Background Art
[0002] With the development of artificial intelligence technology and computing power technology, the concept of intelligent computing center has emerged. "Intelligent computing center" refers to the use of large-scale heterogeneous computing power resources, including general computing power and intelligent computing power, mainly for artificial intelligence applications (such as artificial intelligence deep learning model development, model training and model reasoning and other scenarios) to provide the required computing power, data and algorithms. Intelligent computing center covers facilities, hardware, software, and can provide full-stack capabilities from bottom-level computing power to top-level application enablement.
[0003] The Intelligent Computing Center supports vector retrieval based on DiskANN. DiskANN is a vector retrieval engine based on distributed storage, which can store and retrieve billions of vector data on a single computer. Compared with traditional vector retrieval algorithms, DiskANN has higher storage efficiency and faster retrieval speed.
[0004] Please refer to Figure 1 In the relevant scheme, the DiskANN service needs to write data (including vector data imported into the DiskANN service and graph index built by the DiskANN service for vector data) to the local disk and read data from the local disk. The read and write speed of the local disk is limited, and the amount of vector data is usually large, which makes the overall processing speed of the system slow and the user experience is poor. Therefore, it is necessary to expand the computing power resources used for the DiskANN service in the intelligent computing center to improve the user experience. Summary of the invention
[0005] The embodiments of the present invention provide a method and device for supporting accelerated caching of computing resources of an intelligent computing center, which is used to solve the problem that the read and write speed of the local disk used by the intelligent computing center to provide data storage for the DiskANN service is limited, resulting in a slow overall system processing speed and a poor user experience. It is necessary to expand the computing resources of the intelligent computing center for the DiskANN service.
[0006] In order to solve the above-mentioned technical problems, the present invention is achieved as follows:
[0007] In a first aspect, an embodiment of the present invention provides a method for supporting accelerated caching of computing resources in an intelligent computing center, including:
[0008] Step S1: after receiving a data import request for a DiskANN object, the DiskANN service writes the imported vector data into a local cache of a distributed file system, and the distributed file system performs object storage on the local cached vector data;
[0009] Step S2: after receiving the request to construct the DiskANN object, the DiskANN service reads the vector data of the DiskANN object from the distributed file system and constructs a graph index for the vector data;
[0010] Step S3: the DiskANN service writes the constructed graph index into the local cache of the distributed file system, and the distributed file system performs object storage on the locally cached graph index.
[0011] Optionally, the method for supporting accelerated caching of computing resources in the intelligent computing center further includes:
[0012] Step S4: After receiving the loading request for the DiskANN object, the DiskANN service reads at least part of the graph index of the DiskANN object from the distributed file system and loads it into the memory.
[0013] Optionally, the method for supporting accelerated caching of computing resources in the intelligent computing center further includes:
[0014] Step S5: After receiving the query request, the DiskANN service queries the vector data from the distributed file system based on the graph index stored in the memory and the graph index stored in the distributed file system to obtain a vector data query result.
[0015] Optionally, the method for supporting accelerated caching of computing resources in the intelligent computing center further includes:
[0016] Step S6: the distributed file system monitors the load status information of each object storage node, and automatically adds the object storage node when the load status information of the object storage node meets a preset condition.
[0017] Optionally, the preset condition includes: the overall load status information of all the object storage nodes exceeds a preset threshold.
[0018] Optionally, before step S1, the step further includes:
[0019] Step S0: configuring an interface between the DiskANN service and the distributed file system; the DiskANN service accesses the distributed file system through the interface.
[0020] In a second aspect, an embodiment of the present invention provides a device for supporting accelerated caching of computing resources in an intelligent computing center, including:
[0021] A first writing module is used to write the imported vector data into the local cache of the distributed file system after receiving a data import request for the DiskANN object, and the distributed file system performs object storage on the local cached vector data;
[0022] A first reading module is used for reading vector data of the DiskANN object from the distributed file system after receiving a construction request for the DiskANN object, and constructing a graph index for the vector data;
[0023] The second writing module is used to write the constructed graph index into the local cache of the distributed file system, and the distributed file system performs object storage on the locally cached graph index.
[0024] In a third aspect, an embodiment of the present invention provides a server, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the method for supporting accelerated caching of computing resources of an intelligent computing center as described in the first aspect above are implemented.
[0025] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the method for supporting accelerated caching of computing resources of an intelligent computing center as described in the first aspect above are implemented.
[0026] In a fifth aspect, a computer program product is provided, comprising computer instructions, which, when executed by a processor, implement the steps of the method for supporting accelerated caching of computing resources of an intelligent computing center as described in the first aspect above.
[0027] In the embodiment of the present invention, since the data that the DiskANN service needs to store (including vector data and graph indexes constructed for vector data) only needs to be written once when the file is formed on the disk, but it needs to be read multiple times when executing vector data queries, that is, it has the characteristics of only being written once but may need to be read multiple times, which matches the characteristics of object storage of the distributed file system, and thus the distributed file system is applied to the DiskANN service. At the same time, when the DiskANN service writes data to the distributed file system or reads data from the distributed file system, it writes the data into the local cache of the distributed file system or reads the data from the local cache. The read and write speed of the cache is much faster than that of the disk, so the data read and write speed of the DiskANN service can be effectively improved. In other words, the distributed file system is used to replace the local disk in the relevant scheme as the data storage method of the DiskANN service, which improves the computing power resource configuration of the computing power computing center for the DiskANN service (the local cache of the distributed file system is used as an expanded computing power resource). Furthermore, the distributed file system can store multiple copies of data files and multiple copies of metadata, so that even if an object storage node fails, the data file will not be lost. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0029] Figure 1 A schematic diagram of the data reading and writing method of the DiskANN service in the related art;
[0030] Figure 2 This is a schematic diagram of the overall process of vector data query based on DiskANN;
[0031] Figure 3 A flowchart of a method for supporting accelerated caching of computing resources in an intelligent computing center according to an embodiment of the present invention;
[0032] Figure 4 A schematic diagram of a data reading and writing method of the DiskANN service in an embodiment of the present invention;
[0033] Figure 5 A schematic diagram of a process of processing a write request by a distributed file system according to an embodiment of the present invention;
[0034] Figure 6 A schematic diagram of a flow chart of a distributed file system processing a read request according to an embodiment of the present invention;
[0035] Figure 7 A schematic diagram of the structure of a device supporting accelerated caching of computing resources in an intelligent computing center according to an embodiment of the present invention;
[0036] Figure 8 Schematic diagram of the structure of a server according to an embodiment of the present invention. DETAILED DESCRIPTION
[0037] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0038] First, the technical terms involved in the present invention are briefly explained below.
[0039] The "computing power" mentioned in the present invention is the ability of computer equipment or computing / data center to process information. It is the ability of computer hardware and software to work together to execute certain computing requirements. It is the computing power to achieve target result output by processing information data. It is a new type of productivity that integrates information computing power, network carrying capacity, and data storage capacity. It mainly provides services to the society through computing power infrastructure.
[0040] The "computing power" (Computational Power, CP) described in the present invention is the ability of a data center server to process data and output results. It is a comprehensive indicator to measure the computing power of a data center, including general computing power, super computing power and intelligent computing power. The commonly used unit of measurement is the number of floating point operations performed per second (FLOPS: Floating Point Operations Per Second, 1EFLOPS = 10^18FLOPS). The larger the value, the stronger the comprehensive computing power. According to calculations, 1EFLOPS is approximately the computing power output of 5 Tianhe-2A or 500,000 mainstream server CPUs or 2 million mainstream notebooks. The calculation formula is: CP = CP 通用 +CP 智能 +CP 超级 .
[0041] The "Network Power" (NP) described in the present invention is a manifestation of the data transmission capability of computing facilities, including comprehensive capabilities such as network architecture, network bandwidth, transmission latency, intelligent management and scheduling, etc. The carrying capacity involves network transmission within and between data centers, and is a comprehensive indicator for measuring network transmission scheduling capabilities. In the embodiment of the present invention, the carrying capacity uses the memory bandwidth.
[0042] The "Storage Power" (SP) described in the present invention is the comprehensive ability of a data center in terms of data storage capacity, performance, safety and reliability, and green and low-carbon. It is a comprehensive indicator for measuring the data storage capacity of a data center, including external storage devices such as storage arrays and server built-in storage devices. The commonly used unit of measurement for storage capacity is exabyte (EB, 1EB = 2^60bytes), and the commonly used unit of measurement for performance is the number of reads and writes per second per unit capacity (IOPS / TB, Input / Output Operations Per Second / TB). The disaster recovery ratio is an important manifestation of safety and reliability.
[0043] The "computing power infrastructure" described in the present invention is a new type of information infrastructure that integrates information computing power, network carrying capacity, and data storage capacity. It can realize centralized computing, storage, transmission and application of information, and presents characteristics such as diversity and ubiquity, intelligence and agility, safety and reliability, green and low-carbon. It is of great significance to promote industrial transformation and upgrading, enable my country's scientific and technological innovation, meet people's better life and realize high-efficiency social governance.
[0044] The “computing power” mentioned in the present invention includes general computing power, intelligent computing power and super computing power.
[0045] The “general computing power” mentioned in the present invention refers to the computing power provided by servers based on CPU (Central Processing Unit) chips, which is used to support basic general computing such as cloud computing and edge computing.
[0046] The "intelligent computing power" described in the present invention is a computing platform for large-scale deployment of special chips such as GPU (Graphics Processing Unit), FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit) for various innovative applications of artificial intelligence, such as natural language processing and machine vision.
[0047] The "super computing power" mentioned in the present invention is mainly the computing power provided by high-performance computing clusters such as supercomputers. It utilizes the centralized computing resources of multiple computer systems working in parallel and uses a dedicated operating system to handle extremely complex or data-intensive problems. It is mainly used for calculations in cutting-edge scientific fields, such as planetary simulation, drug molecule design, and gene analysis.
[0048] The "intelligent computing center" described in the present invention refers to a facility that provides the required computing power, data and algorithms for artificial intelligence applications (such as artificial intelligence deep learning model development, model training and model reasoning scenarios) by using large-scale heterogeneous computing power resources, including general computing power (CPU: Central Processing Unit) and intelligent computing power (GPU: Graphics Processing Unit, FPGA: Field Programmable Gate Array, ASIC: Application Specific Integrated Circuit, etc.). The intelligent computing center covers facilities, hardware, and software, and can provide full-stack capabilities from bottom-level computing power to top-level application enablement.
[0049] The "computing resources" mentioned in the present invention refer to the technologies and facilities with information calculation, transmission, storage and application capabilities required for the development of the digital society, including but not limited to computing resources such as CPU (Central Processing Unit), GPU (Graphics Processing Unit), network resources such as switches and routers, storage resources such as storage arrays and distributed storage, security resources such as firewalls and intrusion detection systems, as well as supporting and guarantee resources such as wind, fire, water and electricity.
[0050] The "DiskANN" described in the present invention is a vector search engine based on distributed storage, which can store and retrieve billions of vector data on a single computer. Compared with traditional vector search algorithms, DiskANN has higher storage efficiency and faster search speed.
[0051] In the embodiment of the present invention, the overall process of vector data query based on DiskANN can be found in the attached Figure 2 The overall process mainly includes the following tasks: creating a DiskANN object (referred to as Create), importing vector data to the DiskANN object (referred to as ImportData), importing vector data into the DiskANN service (referred to as Push Data), building a graph index for the imported vector data (referred to as Build), loading the graph index into memory (referred to as Load), querying vector data based on the graph index (referred to as Search), closing the DiskANN object (referred to as Close) and destroying the DiskANN object (referred to as Destroy).
[0052] Among them, creating a DiskANN object means that the DiskANN service creates a DiskANN object according to the Create request of the client. When the DiskANN object is created, there is no data in it. It is in a dataless state and cannot provide any services to the outside. The Create request of the client is sent to the DiskANN service through the Index service. After the DiskANN service completes the creation of the DiskANN object, it notifies the client through the Index service.
[0053] In the task of importing vector data for the DiskANN object, the client sends an ImportData request containing vector data to the Index service, and the Index service temporarily stores the vector data in the ImportData request in the database of the Index service. The Index service notifies the client after the data import is completed.
[0054] After the data import task, the client can send a build request to the Index service. According to the build request, the Index service executes the Push Data task, that is, the Index service imports the vector data in the database of the Index service to the DiskANN service. The DiskANN service notifies the Index service after the vector data is stored on the disk to form a file.
[0055] The build task refers to the process by which the DiskANN service processes the vector data of the imported DiskANN object based on the build request sent by the Index service, obtains the graph index of the vector data, and saves the vector data and the graph index to the data file on the local disk corresponding to the DiskANN service. After the DiskANN service completes the build task, it notifies the client through the Index service.
[0056] The Load task refers to the client sending a load request to the DiskANN service through the Index service. The DiskANN service loads at least part of the graph index of the vector data of the DiskANN object into the memory based on the load request. After the load is completed, the DiskANN service notifies the client through the Index service.
[0057] The search task refers to the client sending a vector data query request to the DiskANN service through the Index service. The DiskANN service retrieves the vector data most similar to the vector data to be queried based on the graph index, and returns the retrieved most similar vector data to the client through the Index service.
[0058] The Close task means that the client sends a DiskANN object close request to the DiskANN service through the Index service, and the DiskANN service closes the DiskANN object based on the close request. After the close is completed, the DiskANN service notifies the client through the Index service.
[0059] The Destroy task means that the client sends a destruction request of the DiskANN object to the DiskANN service through the Index service, and the DiskANN service destroys the DiskANN object based on the destruction request. After the destruction is completed, the DiskANN service notifies the client through the Index service.
[0060] The above process includes three execution entities: the client, the Index service and the DiskANN service. The purpose of using the Index service is to make DiskANN as lightweight as possible. The DiskANN service only handles the core business of DiskANN, and other businesses are outsourced to the Index service to ensure that the overall service is stable and reliable. Before executing the above process, the Index service and the DiskANN service need to make a handshake connection in advance to provide services for subsequent businesses. The above Index service and DiskANN service can be deployed on different physical machines or on the same physical machine, and the present invention does not limit this.
[0061] The "distributed file system" described in the embodiments of the present invention refers to the physical storage resources managed by the file system that are not necessarily directly connected to the local node, but are connected to the node (which can be simply understood as a computer) through a computer network; or a complete hierarchical file system formed by combining several different logical disk partitions or volumes. The distributed file system provides a logical tree-shaped file system structure for resources distributed anywhere on the network, making it easier for users to access shared files distributed on the network.
[0062] The following is an explanation of terms related to distributed file systems.
[0063] 1. FUSE (full name Filesystem In Userspace) is a file system framework for user space, which means it can allow user space to create and manage file systems. It consists of three components:
[0064] a) Kernel module (fuse.ko): protocol encapsulation and parsing, encapsulation and forwarding of requests forwarded by VFS (Virtual File System) to user-mode programs.
[0065] b) User space library (libfuse.*): protocol parsing and encapsulation, responsible for parsing IO (input and output) requests encapsulated by the kernel module.
[0066] c) Mounting tool (fusemount): User-mode file system mounting. User-mode file systems are different from kernel file systems. Before the emergence of user-mode file systems, common file systems were directly implemented in the kernel, which easily led to a problem: (development perspective) debugging is difficult; (user perspective) privilege escalation (root) is required. The user-mode file system framework FUSE provides such an opportunity: it can ensure security without privilege escalation, and it is also easy to debug during development. However, it should be considered that FUSE, as a framework, is equivalent to a proxy layer on the original file system, which will bring more performance overhead compared to the original kernel-implemented file system.
[0067] 2. POSIX (Portable Operating System Interface of UNIX) stands for Portable Operating System Interface. It is the general term for a series of interrelated standards defined by IEEE for API (Application Programming Interface) to run software on various UNIX operating systems.
[0068] The POSIX standard is intended to achieve software portability at the source code level. In other words, a program written for a POSIX-compliant operating system should be compilable and executable on any other POSIX operating system (even if it comes from another manufacturer).
[0069] 3. TiKV is a distributed transactional key-value database that provides a distributed transaction interface that meets ACID constraints and ensures multi-copy data consistency and high availability through the Raft protocol.
[0070] As the storage layer of TiDB, TiKV provides persistence and read / write services for the data written by users to TiDB, and also stores TiDB's statistical information data.
[0071] 4. Object storage: Object storage stores files as independent objects in a flat data environment (i.e., storage pool). The objects contain all data, unique identifiers, and detailed metadata (metadata contains information about data, permissions, policies, and other emergency situations).
[0072] Object storage is best suited for static storage of unstructured data, where data is written only once but may need to be read many times. Although object storage does not require directories, folders, and other complex hierarchical structures, it is not suitable for storing dynamic data that is constantly changing, because modifying an object requires rewriting the entire object.
[0073] Please refer to Figure 3 , Figure 3 The flowchart of the method for supporting accelerated caching of computing power resources of an intelligent computing center according to an embodiment of the present invention is as follows:
[0074] Step S1: after receiving a data import request for a DiskANN object, the DiskANN service writes the imported vector data into a local cache of a distributed file system, and the distributed file system performs object storage on the local cached vector data;
[0075] The data import request can be found in Figure 2 The Push Data request in is sent by the Index service to the DiskANN service. The data import request contains the vector data that needs to be imported into the DiskANN object.
[0076] Step S2: after receiving the request to construct the DiskANN object, the DiskANN service reads the vector data of the DiskANN object from the distributed file system and constructs a graph index for the vector data;
[0077] The build request can be found in Figure 2 The Build request in is sent by the Index service to the DiskANN service. The build request includes the identifier of the DiskANN object for which the graph index needs to be built.
[0078] Step S3: the DiskANN service writes the constructed graph index into the local cache of the distributed file system, and the distributed file system performs object storage on the locally cached graph index.
[0079] In the embodiment of the present invention, since the data that the DiskANN service needs to store (including vector data and graph indexes constructed for vector data) only needs to be written once when the file is formed on the disk, but it needs to be read multiple times when executing vector data queries, that is, it has the characteristics of only being written once but may need to be read multiple times, which matches the characteristics of object storage of the distributed file system, and thus the distributed file system is applied to the DiskANN service. At the same time, when the DiskANN service writes data to the distributed file system or reads data from the distributed file system, it writes the data into the local cache of the distributed file system or reads the data from the local cache. The read and write speed of the cache is much faster than that of the disk, so the data read and write speed of the DiskANN service can be effectively improved. In other words, the distributed file system is used to replace the local disk in the relevant scheme as the data storage method of the DiskANN service, which improves the computing power resource configuration of the computing power computing center for the DiskANN service (the local cache of the distributed file system is used as an expanded computing power resource). Furthermore, the distributed file system can store multiple copies of data files and multiple copies of metadata, so that even if an object storage node fails, the data file will not be lost.
[0080] Please refer to Figure 4 , Figure 4 The figure is a schematic diagram of the data reading and writing method of the DiskANN service in the embodiment of the present invention. In the embodiment of the present invention, the distributed file system can be connected to the DiskANN service and use the object storage as the local disk of the DiskANN service. The distributed file system adopts an architecture of separate storage of data and metadata, thereby realizing the distributed design of the file system. In the embodiment of the present invention, the distributed file system will format the file data of the DiskANN service and store it in the object storage, and at the same time, the metadata of the file data (the metadata contains information about data, permissions, policies and other emergency situations) will be stored in the metadata engine.
[0081] The distributed file system in the embodiment of the present invention supports TiKV, through which multiple copies of metadata can be implemented, and the consistency and high availability of the multiple copies of metadata are guaranteed through the Raft protocol.
[0082] In the distributed file system of the embodiment of the present invention, each file is composed of one or more "Chunks", and each Chunk is up to 64M. No matter how large the file is, all reads and writes will be located to the corresponding Chunk according to its offset (that is, the file location where the read and write operations are generated). It is this divide-and-conquer design that enables excellent performance even in the face of large files. As long as the total length of the file does not change, no matter how many modifications and writes are made, the Chunk segmentation of the file is fixed.
[0083] In the distributed file system in the embodiment of the present invention, file writing will generate Slices, and calling flush (flush refers to the operation of writing data in memory to disk or persistent storage media) will make these Slices persistent. Flush can be called explicitly by the user, and even if it is not called, it will automatically flush at the appropriate time to prevent the buffer from being filled up. When persisting to object storage, in order to be able to write as quickly as possible, Slices will be further split into "Blocks" (the default maximum is 4M), and multi-threaded concurrent writing will improve write performance. The above-mentioned Chunks and Slices are actually logical data structures, and Block is the final physical storage form, which is the smallest storage unit of object storage.
[0084] Therefore, after a file is written to a distributed file system, the original file will not be found in the object storage. There is only a chunks directory and a bunch of numbered directories and files in the bucket. These numbered object storage files are the blocks that have been split and stored. The correspondence between these blocks and chunks and slices, as well as other metadata information (such as file name, size and other attributes) are stored in the metadata engine. This separation design allows the file system to operate with high performance.
[0085] In the data reading and writing process of the embodiment of the present invention, the distributed file system will split the large files into multiple levels to improve the reading and writing efficiency.
[0086] Please refer to Figure 5 When processing a write request, the data is first written to the local cache and managed in the form of Chunks / Slices. Chunks are continuous logical units that are split into 64MB sizes based on the offset within the file, and different Chunks are completely isolated from each other. Each Chunk is further split into Slices based on the actual situation of the application write request; when a new write request is continuous or overlaps with an existing Slice, it will be updated directly on the Slice, otherwise a new Slice will be created. Slice is a logical unit that starts data persistence. When flushing, it will first split the data into one or more continuous Blocks according to the default 4MB size and upload it to the object storage as the smallest unit; then update the metadata once and write the new Slice information.
[0087] If you do not have extreme requirements for data consistency and reliability, you can add --writeback when mounting to further improve write performance. After the client cache is turned on, Slice flush only needs to write to the local cache directory to return, and the data is asynchronously uploaded to the object storage by the background thread. From another perspective, the local directory is the cache layer of the object storage, which further improves the write speed.
[0088] The distributed file system in the embodiment of the present invention supports sequential reads and random reads. When processing a read request, the object corresponding to the Block will be completely read through the GetObject interface of the object storage, or only a certain range of data in the object may be read. At the same time, pre-reading is performed asynchronously, and the pre-reading will download the entire object storage block to the local cache directory for later use. Obviously, when reading sequentially, these pre-acquired data will be accessed by subsequent requests, and the cache hit rate is very high, so the reading performance of the object storage can be fully utilized (please refer to Figure 6 ).
[0089] In some embodiments, optionally, the method for supporting accelerated caching of computing resources in the intelligent computing center further includes: Step S4: after receiving a load request for the DiskANN object, the DiskANN service reads at least part of the graph index of the DiskANN object from the distributed file system and loads it into the memory. In an embodiment of the present invention, a sequential read or a random read method may be used when reading the graph index.
[0090] In some embodiments, optionally, the method for supporting accelerated caching of computing resources in the intelligent computing center also includes: Step S5: After receiving a query request, the DiskANN service queries vector data from the distributed file system based on the graph index stored in the memory and the graph index stored in the distributed file system to obtain a vector data query result.
[0091] In some embodiments, optionally, the method for supporting accelerated caching of computing resources of the intelligent computing center also includes: Step S6: The distributed file system monitors the load status information of each object storage node, and when the load status information of the object storage node meets the preset conditions, the object storage node is automatically added, thereby having the ability to automatically expand computing resources.
[0092] In some embodiments, optionally, the preset condition includes: the overall load status information of all the object storage nodes exceeds a preset threshold. The preset threshold can be set as needed.
[0093] In some embodiments, optionally, before step S1, the method further includes: step S0: configuring an interface between the DiskANN service and the distributed file system; the DiskANN service accesses the distributed file system through the interface.
[0094] In the embodiment of the present invention, optionally, both the DiskANN service and the distributed file system support the POSIX protocol, so that the DiskANN service can directly access the distributed file system without modifying the code.
[0095] Please refer to Figure 7 The embodiment of the present invention further provides a device 10 for supporting accelerated caching of computing resources in an intelligent computing center, comprising:
[0096] A first writing module 11 is used for writing the imported vector data into the local cache of the distributed file system after receiving a data import request for the DiskANN object, and the distributed file system performs object storage on the local cached vector data;
[0097] A first reading module 12 is used for reading the vector data of the DiskANN object from the distributed file system after receiving a construction request for the DiskANN object, and constructing a graph index for the vector data;
[0098] The second writing module 13 is used to write the constructed graph index into the local cache of the distributed file system, and the distributed file system performs object storage on the locally cached graph index.
[0099] In the embodiment of the present invention, since the data that the DiskANN service needs to store (including vector data and graph indexes constructed for vector data) only needs to be written once when the file is formed on the disk, but it needs to be read multiple times when executing vector data queries, that is, it has the characteristics of only being written once but may need to be read multiple times, which matches the characteristics of object storage of the distributed file system, and thus the distributed file system is applied to the DiskANN service. At the same time, when the DiskANN service writes data to the distributed file system or reads data from the distributed file system, it writes the data into the local cache of the distributed file system or reads the data from the local cache. The read and write speed of the cache is much faster than that of the disk, so the data read and write speed of the DiskANN service can be effectively improved. In other words, the distributed file system is used to replace the local disk in the relevant scheme as the data storage method of the DiskANN service, which improves the computing power resource configuration of the computing power computing center for the DiskANN service (the local cache of the distributed file system is used as an expanded computing power resource). Furthermore, the distributed file system can store multiple copies of data files and multiple copies of metadata, so that even if an object storage node fails, the data file will not be lost.
[0100] In some embodiments, optionally, the device 10 for supporting accelerated caching of computing resources in the intelligent computing center further includes:
[0101] The second reading module is used to read at least part of the graph index of the DiskANN object from the distributed file system and load it into the memory after receiving a loading request for the DiskANN object.
[0102] In some embodiments, optionally, the device 10 for supporting accelerated caching of computing resources in the intelligent computing center further includes:
[0103] The third reading module is used to query vector data from the distributed file system based on the graph index stored in the memory and the graph index stored in the distributed file system after receiving the query request, so as to obtain the vector data query result.
[0104] In some embodiments, optionally, the device 10 for supporting accelerated caching of computing resources in the intelligent computing center further includes:
[0105] The automatic capacity expansion module is used to monitor the load status information of each object storage node, and automatically add an object storage node when the load status information of the object storage node meets the preset conditions.
[0106] In some embodiments, optionally, the preset condition includes: the overall load status information of all the object storage nodes exceeds a preset threshold.
[0107] In some embodiments, optionally, the device 10 for supporting accelerated caching of computing resources in the intelligent computing center further includes:
[0108] A configuration module is used to configure an interface between the DiskANN service and the distributed file system; the DiskANN service accesses the distributed file system through the interface.
[0109] Please refer to Figure 8 The embodiment of the present invention further provides a server 20, including a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. When the computer program is executed by the processor 21, each process of the embodiment of the method for supporting accelerated caching of computing resources in the above-mentioned intelligent computing center is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0110] The embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the method embodiment of supporting accelerated caching of computing resources in the intelligent computing center is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0111] The present application also provides a computer program product, including computer instructions, which, when executed by a processor, implement the above Figure 2 The various processes of the method embodiment shown can achieve the same technical effect, and will not be described again here to avoid repetition.
[0112] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0113] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0114] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.
Claims
1. A method for supporting accelerated caching of computing resources in an intelligent computing center, characterized in that: include: Step S1: after receiving a data import request for a DiskANN object, the DiskANN service writes the imported vector data into a local cache of a distributed file system, and the distributed file system performs object storage on the local cached vector data; Step S2: after receiving the request to construct the DiskANN object, the DiskANN service reads the vector data of the DiskANN object from the distributed file system and constructs a graph index for the vector data; Step S3: the DiskANN service writes the constructed graph index into the local cache of the distributed file system, and the distributed file system performs object storage on the locally cached graph index.
2. The method according to claim 1, characterized in that Also includes: Step S4: After receiving the loading request for the DiskANN object, the DiskANN service reads at least part of the graph index of the DiskANN object from the distributed file system and loads it into the memory.
3. The method according to claim 2, characterized in that Also includes: Step S5: After receiving the query request, the DiskANN service queries the vector data from the distributed file system based on the graph index stored in the memory and the graph index stored in the distributed file system to obtain a vector data query result.
4. The method according to claim 1, characterized in that Also includes: Step S6: the distributed file system monitors the load status information of each object storage node, and automatically adds the object storage node when the load status information of the object storage node meets a preset condition.
5. The method according to claim 4, characterized in that The preset condition includes: the overall load status information of all the object storage nodes exceeds a preset threshold.
6. The method according to claim 1, characterized in that Before step S1, the following steps are also included: Step S0: configuring an interface between the DiskANN service and the distributed file system; the DiskANN service accesses the distributed file system through the interface.
7. A device for supporting accelerated caching of computing resources in an intelligent computing center, characterized in that: include: A first writing module is used to write the imported vector data into the local cache of the distributed file system after receiving a data import request for the DiskANN object, and the distributed file system performs object storage on the local cached vector data; A first reading module is used for reading vector data of the DiskANN object from the distributed file system after receiving a construction request for the DiskANN object, and constructing a graph index for the vector data; The second writing module is used to write the constructed graph index into the local cache of the distributed file system, and the distributed file system performs object storage on the locally cached graph index.
8. A server, characterized in that: include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the method for supporting accelerated caching of computing resources in an intelligent computing center as described in any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the method for supporting accelerated caching of computing resources in an intelligent computing center as described in any one of claims 1 to 6.
10. A computer program product, characterized in that It comprises computer instructions, which, when executed by a processor, implement the steps of the method for supporting accelerated caching of computing resources in an intelligent computing center as described in any one of claims 1 to 6.