CN111241011A - Global address space management method of distributed persistent memory - Google Patents

Global address space management method of distributed persistent memory Download PDF

Info

Publication number
CN111241011A
CN111241011A CN201911417711.8A CN201911417711A CN111241011A CN 111241011 A CN111241011 A CN 111241011A CN 201911417711 A CN201911417711 A CN 201911417711A CN 111241011 A CN111241011 A CN 111241011A
Authority
CN
China
Prior art keywords
global
address
page
global address
monitor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911417711.8A
Other languages
Chinese (zh)
Other versions
CN111241011B (en
Inventor
舒继武
陈游旻
汪庆
陈佩
陆游游
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201911417711.8A priority Critical patent/CN111241011B/en
Publication of CN111241011A publication Critical patent/CN111241011A/en
Application granted granted Critical
Publication of CN111241011B publication Critical patent/CN111241011B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Abstract

The invention discloses a global address space management method of a distributed persistent memory, which comprises the following steps: the local address allocator initiates a page allocation request; the global monitor receives the page allocation request, selects a corresponding number of slave copy nodes to allocate idle pages, returns corresponding page addresses to the global monitor after the slave copy nodes are allocated, allocates unique global addresses after the global monitor receives all messages returned from the copy nodes, updates a global address mapping table, and returns global address mapping information in the updated global address mapping table to the slave copy nodes; the slave replica node caches global address mapping information through a mapping table cache, and manages data pages through a local address allocator to process data allocation requests of arbitrary granularity. The method can ensure the atomicity of the global address space distribution in the distributed persistent memory system, improve the performance, reliability and expansibility of the global address distribution, and ensure the recovery capability of the system after breakdown.

Description

Global address space management method of distributed persistent memory
Technical Field
The invention relates to the technical field of persistent memory storage, in particular to a global address space management method of a distributed persistent memory.
Background
As a novel memory-level memory device, a non-volatile memory (NVM) technology has the characteristics of low read-write latency, high bandwidth, data persistence, byte addressing, low energy consumption, and the like. The non-volatile Memory technology not only has the persistent storage capability of the traditional storage device like a magnetic disk, but also has the read-write performance similar to that of a Dynamic Random Access Memory (DRAM). In the face of high-performance memory-level storage devices, it is of great significance to construct a distributed storage system that can fully utilize non-volatile memory devices.
In the related art storage system, one is to store data in a conventional disk in a master-slave backup or erasure code manner in a conventional manner, and read the data from the disk when an upper layer application uses the data, and each data update requires accessing the disk, and the overall performance of the system is limited by the disk access delay, resulting in poor overall performance of the storage system. The other is to put all the data in the dynamic random access memory to improve the access performance under normal operation, the reliability of the data is ensured by a master-slave backup mode, and different copies of the same data are stored in a disk across nodes. However, the dynamic random access memory has a low density, and it is very costly to design such a system, and at the same time, when a machine crash occurs, data recovery still needs to be read from a disk, and decentralized metadata management makes data recovery first need to reconstruct a hash table from a plurality of nodes, and then perform data recovery after the machine crash through the reconstructed hash table, resulting in a very high time overhead in the whole crash recovery process.
Whether data is completely stored in the dynamic random access memory or stored in the disk, and read from the disk when necessary, the deployment cost, the system performance, and other aspects of the distributed storage system are affected to different degrees.
Disclosure of Invention
The present invention is directed to solving, at least to some extent, one of the technical problems in the related art.
Therefore, the invention aims to provide a global address space management method of a distributed persistent memory, which aims to solve the problems of poor data reliability, poor recovery performance under the condition of machine breakdown, low throughput rate and low delay in a distributed storage system.
To achieve the above object, an embodiment of the present invention provides a global address space management method for a distributed persistent memory, including:
s1, initiating a page allocation request through the local address allocator;
s2, receiving the page allocation request through a global monitor, selecting a corresponding number of slave copy nodes according to the number of slave copies carried in the page allocation request, and informing the slave copy nodes of allocating idle pages, wherein the slave copy nodes return corresponding page addresses to the global monitor after allocation is completed;
s3, the global monitor receives all the messages returned from the copy nodes, distributes a unique global address, updates the global address mapping table, and returns the global address mapping information in the updated global address mapping table to the copy nodes;
s4, the secondary replica node caches the global address mapping information through a mapping table buffer, and manages data pages through the local address allocator to process data allocation requests of any granularity.
According to the global address space management method of the distributed persistent memory, the performance and the isolation during global address space distribution are guaranteed by the basic block mapping table with thread isolation in a concurrent and multi-user scene, and the reliability of data is guaranteed by the master-slave backup global address space distribution mode. The two-stage submission mode ensures atomicity in the process of distributing the global address space, and because the buffer area is used and the data in the memory and the data in the metadata server have the same storage format, under the normal condition, the updating of the mapping information of the basic block and the table does not need to be copied and serialized from the data structure of the memory again every time, thereby reducing the cost of updating the metadata server every time.
In addition, the method for managing the global address space of the distributed persistent memory according to the above embodiment of the present invention may further have the following additional technical features:
further, in an embodiment of the present invention, the method further includes: initializing the local address allocator;
before the local address distributor is initialized, mapping all persistent memory devices in the node to the local address distributor through mmap system call;
after the mapping of the persistent memory space is finished, the local address distributor stores an allocation record table for representing the page allocation state in a region with a preset size allocated to the first address of the mapped persistent memory space;
when the local address distributor is initialized for the first time, setting the identification bit which represents the corresponding page in the distribution record table to be in an unallocated state, and if the local address distributor is not initialized for the first time, setting is not needed.
Further, in an embodiment of the present invention, the S1 further includes: the page allocation request is initiated by the local address allocator on the persistent memory data server, and the persistent memory data server initiating the page allocation request is a primary replica node.
Further, in an embodiment of the present invention, before the local address allocator where the primary replica node is located initiates the page allocation request, first allocate a free page locally, and set a corresponding position in an allocation record table corresponding to the free page to be in a pre-allocation state;
and after the setting of the distribution record table is finished, the local address distributor of the master copy node sends the page distribution request carrying the page address and the number of the slave copies to the global monitor.
Further, in an embodiment of the present invention, the S2 further includes: after receiving the page allocation request of the global monitor, the local address allocator of the slave copy node firstly allocates a free page locally and sets the corresponding position in the allocation record table corresponding to the free page to be in a pre-allocation state;
and after the setting of the distribution record table is finished, the local address distributor of the slave copy node returns the corresponding page address to the global monitor.
Further, in an embodiment of the present invention, the S3 further includes: and after receiving all the returned messages from the copy nodes, the global monitor starts to distribute a unique global address for the current page distribution request, establishes the global address mapping information for the page distribution request according to the distributed global address and updates the global address mapping table.
Further, in an embodiment of the present invention, the method further includes: the global monitor persistently stores the global address mapping table into a metadata server so as to ensure the post-disaster consistency of the global address mapping table;
each table entry of the global address mapping table cannot be modified under the condition that the persistent memory data server and the global monitor are not crashed;
the global monitor records a configured unique identification number and a node list of all the surviving persistent memory data servers, the configured unique identification number and the node list are also stored in the metadata server persistently, and the configured unique identification number is updated only when the crash of the persistent memory data servers and the global monitor is detected.
Further, in an embodiment of the present invention, the method further includes: after the global monitor finishes the persistence operation of the global address mapping information, the global monitor sends the global address mapping information to the local address distributors of all the slave copy nodes;
and after receiving the global address mapping information, the local address distributor of the slave copy node sets the corresponding position in the distribution record table corresponding to the address to be in a distributed state according to the page address corresponding to the slave copy node in the global address mapping information, and returns confirmation information to the global monitor.
Further, in an embodiment of the present invention, after receiving the confirmation information of all the slave copy nodes, the global monitor returns the global address mapping information to the local address distributor of the master copy node;
after receiving the global address mapping information, the local address distributor of the master copy node sets the corresponding position in the distribution record table corresponding to the address to be in a distributed state according to the page address corresponding to the slave copy node in the global address mapping information, and the single distribution process of the global address is finished.
Further, in an embodiment of the present invention, when the global monitor is started, first, a configured unique identification number, a node list, and the global address mapping table information are read from the metadata server, and according to the node list information, the global address mapping table and the configured unique identification number are sent to the local address allocator and the mapping table cache of all persistent memory servers;
after receiving the global address mapping table, the local address distributors of all the persistent memory servers update the self distribution recording tables according to the received global address mapping table information, set the distribution recording table identification bits which are set in a pre-distribution state but not distributed in an unallocated state, and modify the pre-distribution state which is distributed in a distributed state into a distributed state;
a mapping table cache retrieves the global address mapping information from the global monitor according to an interface provided by the global monitor.
Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Drawings
The foregoing and/or additional aspects and advantages of the present invention will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a flowchart of a method for managing a global address space of a distributed persistent memory according to an embodiment of the present invention;
FIG. 2 is a diagram of the overall system architecture of a method for managing the global address space of a distributed persistent memory according to an embodiment of the present invention;
FIG. 3 is a flow diagram of global address space allocation according to one embodiment of the invention;
FIG. 4 is a state transition diagram of an allocation record table according to one embodiment of the present invention;
fig. 5 is a schematic diagram of metadata information storage according to an embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative and intended to be illustrative of the invention and are not to be construed as limiting the invention.
A global address space management method for a distributed persistent memory according to an embodiment of the present invention is described below with reference to the accompanying drawings.
Fig. 1 is a flowchart of a method for managing a global address space of a distributed persistent memory according to an embodiment of the present invention.
As shown in fig. 1, the method for managing a global address space of a distributed persistent memory includes the following steps:
at step S1, a page allocation request is initiated by the local address allocator.
As shown in fig. 2, in the embodiment of the present invention, a system for performing global address space management is deployed on three servers including a global monitoring server, a metadata server, and a persistent memory data server, and the system includes three modules, which are a global monitor, a local address allocator, and a mapping table buffer. The system abstracts the persistent memory of all persistent memory data servers into a global shared address space.
The global monitor runs on the global monitor server independently, the global monitor takes the page as the basic unit to manage the global address space and is responsible for the global address space distribution and the address mapping table management, each data server runs the local address distributor and the mapping table buffer, and the metadata server stores the global address mapping table and the related metadata information.
It will be appreciated that to ensure high availability of the global monitor, there is a single active global monitor and two backup global monitors throughout the system, while to ensure high availability of metadata information, including node list information, configuration unique identification number and address mapping table information, the global monitor saves these information to the metadata server. In one embodiment of the invention, the system adopts zookeeper deployed in a cluster mode as a metadata server, and stores metadata information in a znode mode. Meanwhile, a local address distributor and a mapping table buffer are operated on the data server, and the system abstracts the persistent memories of all the persistent memory data servers into a global shared address space.
Further, in one embodiment of the present invention, the local address allocator on each data server needs to be initialized when performing global address space allocation.
Before the local address distributor is initialized, firstly mapping all persistent memory devices in the node to the local address distributor through mmap system call;
after the mapping of the persistent memory space is finished, the local address distributor distributes a certain size of area to the first address of the mapped persistent memory space to store a distribution record table for representing the page distribution state;
if the local address allocator is initialized for the first time, setting the identification bit which represents the corresponding page in the allocation record table to be in an unallocated state, and if the local address allocator is not initialized for the first time, the operation is not needed.
It can be understood that the global monitor also needs to be initialized, and during initialization, the global monitor needs to read a corresponding configuration unique identification number, node list information, and global address mapping table information from a corresponding znode in the zookeeper, update a data structure corresponding to its own memory, and initialize a maximum value of a corresponding global address in the global address mapping table to a 32-bit counter that generates the global address, that is, a global address generator.
In an embodiment of the present invention, a state transition diagram of an allocation record table of a local address allocator is shown in fig. 3, where each identification bit of the allocation record table records an allocation state of each page in the node, which is an unallocated state, a pre-allocated state, and an allocated state in sequence, and the size of each page is 2 GB.
Further, in an embodiment of the present invention, the page allocation request is initiated by a local address allocator on the persistent memory data server, and the persistent memory data server that initiates the page allocation request is the master copy node.
Before initiating a page allocation request, a local address allocator in which a master copy node is located first allocates a free page locally, and sets a corresponding position in an allocation record table corresponding to the free page to be in a pre-allocation state.
And after the setting of the distribution record table is finished, the local address distributor of the master copy node sends a page distribution request carrying the page address and the number of the slave copies to the global monitor.
Specifically, as shown in fig. 4, a time axis when the global address space is allocated is shown. The global address allocation request is initiated by a local address allocator on the persistent memory data server, and the persistent memory data server initiating the page allocation request is the master replica node. Before a local address distributor where a master copy is located initiates a global address distribution request, a free page is firstly distributed locally, and a corresponding position in a distribution record table corresponding to the free page is set to be in a pre-distribution state; after the setting of the distribution record table is completed, the local address distributor of the master copy node sends a page distribution request carrying the page address and the number of the slave copies to the global monitor in a Remote Procedure Call (RPC) mode.
Step S2, receiving the page allocation request through the global monitor, selecting a corresponding number of slave copy nodes according to the number of slave copies carried in the page allocation request, notifying the slave copy nodes of allocating free pages, and returning the corresponding page addresses to the global monitor after the slave copy nodes are allocated.
Step S3, after receiving all the messages returned from the replica node, the global monitor allocates a unique global address, updates the global address mapping table, and returns the global address mapping information in the updated global address mapping table to the replica node.
Step S4, caching the global address mapping information from the replica node through the mapping table cache, and managing the data page through the local address allocator to process the data allocation request of arbitrary granularity.
Specifically, after receiving a page allocation request of a master copy, the global monitor selects a corresponding number of slave copy nodes according to the number of slave copies in the page allocation request, and simultaneously ensures that any two idle page copies corresponding to a single global address are not located in the same node, so that the master copy and the slave copies are uniformly distributed in the node cluster as much as possible. After the operation is completed, the global monitor informs all the slave copy nodes of allocating free pages in an RPC mode.
Further, after receiving a page allocation request of the global monitor from the local address allocator of the replica node, first allocating a free page locally, and setting a corresponding position in an allocation record table corresponding to the free page to be in a pre-allocation state; and after the setting of the distribution record table is finished, returning the corresponding page address to the global monitor from the local address distributor of the copy node.
Further, after receiving all the returned messages from the replica nodes, the global monitor starts to allocate a unique global address to the current page allocation request, establishes global address mapping information for the page allocation request according to the allocated global address, and updates the global address mapping table.
Specifically, after receiving all the return messages from the replica nodes, the global monitor starts to allocate a unique 64-bit global address to the current allocation request in a mode of atom self-increment and left-shift by 32 bits, establishes global address mapping information for the current allocation request according to the allocated global address, and updates a global address mapping table at the same time. Meanwhile, the global address mapping table is a data structure with thread isolation, wherein the global address mapping tables of different threads are isolated from each other, and each thread can only access the global address mapping table of the thread, so that the concurrency and the isolation of the global address mapping table during updating are improved.
Further, after the above operations are completed, the global monitor needs to persistently store the global address mapping table into the zookeeper, so as to ensure the post-disaster consistency of the global address mapping table.
Each table entry of the global address mapping table cannot be modified under the condition that the persistent memory data server and the global monitor are not crashed.
The global monitor records a configuration unique identification number and a node list of all the survivable persistent memory data servers, the configuration unique identification number and the node list are also stored in the metadata server persistently, and the configuration unique identification number is updated only in the case of detecting the crash of the persistent memory data servers and the global monitor.
In an embodiment of the invention, the global monitor will deposit the metadata information to the zookeeper cluster in the manner shown in fig. 5. As shown in fig. 5, since the znode can only be updated in an overwriting manner each time, and meanwhile, each table entry of the global address mapping table is not modified under the condition that the persistent memory data server and the global monitor do not crash, the present embodiment uses a buffer region to update the metadata information in the zookeeper, and the buffer region is configured such that the global monitor does not need to serialize the global address information that has been generated before each time new global address information is added to the mapping table, thereby greatly improving the performance of the global monitor when persisting the address mapping table. Secondly, the threads responsible for different address mapping tables store the address mapping table information into different znodes, and the existing global address mapping table information is read from the zookeeper in a multithreading mode when the global monitor is initialized, so that the performance of the global monitor when the global monitor accesses the zookeeper is greatly improved. Meanwhile, the configuration unique identification number is updated only when the crash of the persistent memory data server and the global monitor is detected.
Further, after finishing the persistence operation of the global address mapping information, the global monitor sends the global address mapping information to the local address distributors of all the slave copy nodes; after receiving the global address mapping information from the local address distributor of the replica node, setting the corresponding position in the distribution record table corresponding to the address to be in a distributed state according to the page address corresponding to the replica node in the global address mapping information, and returning the confirmation information to the global monitor.
After receiving the confirmation information of all the slave copy nodes, the global monitor returns the global address mapping information to the local address distributor of the master copy node; after receiving the global address mapping information, the local address distributor of the master copy node sets the corresponding position in the distribution record table corresponding to the address to the distributed state according to the page address corresponding to the slave copy node in the global address mapping information, and after the operation is completed globally, the current global address single distribution process is ended.
Further, as shown in fig. 3, in addition to the above-mentioned state transition of the allocation record table when processing the page allocation request, the global monitor also needs to update the state of the allocation record table of the local address allocator in each node every time it is started, and the specific contents are as follows: when the global monitor is started, the configured unique identification number, the node list and the global address mapping table information are read from the zookeeper, and the global address mapping table and the configured unique identification number are sent to the local address distributors and the mapping table caches of all the persistent memory servers according to the node list information.
After the local address distributors of all the persistent memory servers receive the global address mapping table, updating the distribution record tables of the local address distributors according to the received global address mapping table information; the allocation record table identification bit which is set to the pre-allocation state but does not complete the allocation is set to the non-allocation state, and the pre-allocation state of the completed allocation is modified to the allocation state.
The mapping table cache retrieves global address mapping information from the global monitor according to an interface provided by the global monitor.
For an application client, when an upper layer application retrieves corresponding global address mapping information by a global address through an interface provided by a mapping table buffer, if the global address mapping information corresponding to the global address is located in a local cache, the global address mapping information is directly read from the local, if the global address mapping information is not located in the local cache, the corresponding information is read from a global manager in an RPC mode, and the whole process of reading the mapping table information is transparent to the upper layer application.
On the realization result of the invention, the multithreading does not need to lock the searching and updating operation of the global address mapping table, so the performance and the isolation during the global address space distribution are very good under the concurrent and multi-user scenes. Due to the arrangement of the buffer area, other data in the memory do not need to be serialized when single mapping information is updated, and the overall performance of accessing the zookeeper is improved.
According to the global address space management method of the distributed persistent memory provided by the embodiment of the invention, under the scene of concurrency and multiple users, the performance and the isolation during the distribution of the global address space are ensured by the basic block mapping table with thread isolation, and the reliability of data is ensured by the global address space distribution mode of master-slave backup. The two-stage submission mode ensures atomicity in the process of distributing the global address space, and because the buffer area is used and the data in the memory and the data in the metadata server have the same storage format, under the normal condition, the updating of the mapping information of the basic block and the table does not need to be copied and serialized from the data structure of the memory again every time, thereby reducing the cost of updating the metadata server every time.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention, and that variations, modifications, substitutions and alterations can be made to the above embodiments by those of ordinary skill in the art within the scope of the present invention.

Claims (10)

1. A global address space management method of a distributed persistent memory is characterized by comprising the following steps:
s1, initiating a page allocation request through the local address allocator;
s2, receiving the page allocation request through a global monitor, selecting a corresponding number of slave copy nodes according to the number of slave copies carried in the page allocation request, and informing the slave copy nodes of allocating idle pages, wherein the slave copy nodes return corresponding page addresses to the global monitor after allocation is completed;
s3, the global monitor receives all the messages returned from the copy nodes, distributes a unique global address, updates the global address mapping table, and returns the global address mapping information in the updated global address mapping table to the copy nodes;
s4, the secondary replica node caches the global address mapping information through a mapping table buffer, and manages data pages through the local address allocator to process data allocation requests of any granularity.
2. The method of claim 1, further comprising: initializing the local address allocator;
before the local address distributor is initialized, mapping all persistent memory devices in the node to the local address distributor through mmap system call;
after the mapping of the persistent memory space is finished, the local address distributor stores an allocation record table for representing the page allocation state in a region with a preset size allocated to the first address of the mapped persistent memory space;
when the local address distributor is initialized for the first time, setting the identification bit which represents the corresponding page in the distribution record table to be in an unallocated state, and if the local address distributor is not initialized for the first time, setting is not needed.
3. The method according to claim 1, wherein the S1 further comprises:
the page allocation request is initiated by the local address allocator on the persistent memory data server, and the persistent memory data server initiating the page allocation request is a primary replica node.
4. The method of claim 3,
before the local address distributor where the master copy node is located initiates the page distribution request, firstly, a free page is locally distributed, and a corresponding position in a distribution record table corresponding to the free page is set to be in a pre-distribution state;
and after the setting of the distribution record table is finished, the local address distributor of the master copy node sends the page distribution request carrying the page address and the number of the slave copies to the global monitor.
5. The method according to claim 1, wherein the S2 further comprises:
after receiving the page allocation request of the global monitor, the local address allocator of the slave copy node firstly allocates a free page locally and sets the corresponding position in the allocation record table corresponding to the free page to be in a pre-allocation state;
and after the setting of the distribution record table is finished, the local address distributor of the slave copy node returns the corresponding page address to the global monitor.
6. The method according to claim 1, wherein the S3 further comprises:
and after receiving all the returned messages from the copy nodes, the global monitor starts to distribute a unique global address for the current page distribution request, establishes the global address mapping information for the page distribution request according to the distributed global address and updates the global address mapping table.
7. The method of claim 6, further comprising:
the global monitor persistently stores the global address mapping table into a metadata server so as to ensure the post-disaster consistency of the global address mapping table;
each table entry of the global address mapping table cannot be modified under the condition that the persistent memory data server and the global monitor are not crashed;
the global monitor records a configured unique identification number and a node list of all the surviving persistent memory data servers, the configured unique identification number and the node list are also stored in the metadata server persistently, and the configured unique identification number is updated only when the crash of the persistent memory data servers and the global monitor is detected.
8. The method of claim 7, further comprising:
after the global monitor finishes the persistence operation of the global address mapping information, the global monitor sends the global address mapping information to the local address distributors of all the slave copy nodes;
and after receiving the global address mapping information, the local address distributor of the slave copy node sets the corresponding position in the distribution record table corresponding to the address to be in a distributed state according to the page address corresponding to the slave copy node in the global address mapping information, and returns confirmation information to the global monitor.
9. The method of claim 8,
after receiving the confirmation information of all the slave copy nodes, the global monitor returns the global address mapping information to the local address distributor of the master copy node;
after receiving the global address mapping information, the local address distributor of the master copy node sets the corresponding position in the distribution record table corresponding to the address to be in a distributed state according to the page address corresponding to the slave copy node in the global address mapping information, and the single distribution process of the global address is finished.
10. The method of claim 1,
when the global monitor is started, firstly reading a configured unique identification number, a node list and global address mapping table information from a metadata server, and sending the global address mapping table and the configured unique identification number to local address distributors and mapping table caches of all persistent memory servers according to the node list information;
after receiving the global address mapping table, the local address distributors of all the persistent memory servers update the self distribution recording tables according to the received global address mapping table information, set the distribution recording table identification bits which are set in a pre-distribution state but not distributed in an unallocated state, and modify the pre-distribution state which is distributed in a distributed state into a distributed state;
a mapping table cache retrieves the global address mapping information from the global monitor according to an interface provided by the global monitor.
CN201911417711.8A 2019-12-31 2019-12-31 Global address space management method of distributed persistent memory Active CN111241011B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911417711.8A CN111241011B (en) 2019-12-31 2019-12-31 Global address space management method of distributed persistent memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911417711.8A CN111241011B (en) 2019-12-31 2019-12-31 Global address space management method of distributed persistent memory

Publications (2)

Publication Number Publication Date
CN111241011A true CN111241011A (en) 2020-06-05
CN111241011B CN111241011B (en) 2022-04-15

Family

ID=70871896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911417711.8A Active CN111241011B (en) 2019-12-31 2019-12-31 Global address space management method of distributed persistent memory

Country Status (1)

Country Link
CN (1) CN111241011B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242170A (en) * 2021-05-21 2021-08-10 深圳易马达科技有限公司 Address allocation method and device
CN113420029A (en) * 2021-06-25 2021-09-21 陕西浪潮英信科技有限公司 Global ID generation method, device, equipment and medium for distributed system
CN116405389A (en) * 2023-06-06 2023-07-07 井芯微电子技术(天津)有限公司 Communication control method of rapidIO network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398768A (en) * 2008-10-28 2009-04-01 北京航空航天大学 Construct method of distributed virtual machine monitor system
CN103729436A (en) * 2013-12-27 2014-04-16 中国科学院信息工程研究所 Distributed metadata management method and system
US20150089009A1 (en) * 2013-09-23 2015-03-26 Red Hat Israel, Ltd. Remote direct memory access with copy-on-write support
CN104598393A (en) * 2013-10-31 2015-05-06 新昌县冠阳技术开发有限公司 Distributed shared memory system
CN107480080A (en) * 2017-07-03 2017-12-15 香港红鸟科技股份有限公司 A kind of Zero-copy data stream based on RDMA
CN107771321A (en) * 2015-06-10 2018-03-06 微软技术许可有限责任公司 Recovery in data center
CN110221779A (en) * 2019-05-29 2019-09-10 清华大学 The construction method of distributed persistence memory storage system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398768A (en) * 2008-10-28 2009-04-01 北京航空航天大学 Construct method of distributed virtual machine monitor system
US20150089009A1 (en) * 2013-09-23 2015-03-26 Red Hat Israel, Ltd. Remote direct memory access with copy-on-write support
CN104598393A (en) * 2013-10-31 2015-05-06 新昌县冠阳技术开发有限公司 Distributed shared memory system
CN103729436A (en) * 2013-12-27 2014-04-16 中国科学院信息工程研究所 Distributed metadata management method and system
CN107771321A (en) * 2015-06-10 2018-03-06 微软技术许可有限责任公司 Recovery in data center
CN107480080A (en) * 2017-07-03 2017-12-15 香港红鸟科技股份有限公司 A kind of Zero-copy data stream based on RDMA
CN110221779A (en) * 2019-05-29 2019-09-10 清华大学 The construction method of distributed persistence memory storage system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEKSANDAR DRAGOJEVIC等: ""No compromises distributed transactions with consistency, availability, and performance"", 《SOP"15:PROCEEDINGS OF THE 25TH SYMPOSIUM ON OPERATING SYSTEM PRINCIPLES》 *
郑阳等: ""基于广播的分布式共享内存"", 《上海交通大学学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242170A (en) * 2021-05-21 2021-08-10 深圳易马达科技有限公司 Address allocation method and device
CN113420029A (en) * 2021-06-25 2021-09-21 陕西浪潮英信科技有限公司 Global ID generation method, device, equipment and medium for distributed system
CN113420029B (en) * 2021-06-25 2024-04-12 陕西浪潮英信科技有限公司 Global ID generation method, device, equipment and medium for distributed system
CN116405389A (en) * 2023-06-06 2023-07-07 井芯微电子技术(天津)有限公司 Communication control method of rapidIO network
CN116405389B (en) * 2023-06-06 2023-09-05 井芯微电子技术(天津)有限公司 Communication control method of rapidIO network

Also Published As

Publication number Publication date
CN111241011B (en) 2022-04-15

Similar Documents

Publication Publication Date Title
CN111241011B (en) Global address space management method of distributed persistent memory
TWI791140B (en) memory system
TWI661301B (en) Memory system and control method for controlling non-volatile memory
CN110377436B (en) Data storage access method, equipment and device of persistent memory
US10747673B2 (en) System and method for facilitating cluster-level cache and memory space
US10169232B2 (en) Associative and atomic write-back caching system and method for storage subsystem
US6148377A (en) Shared memory computer networks
KR101786871B1 (en) Apparatus for processing remote page fault and method thereof
US7774551B2 (en) Hierarchical cache coherence directory structure
CN110221779B (en) Construction method of distributed persistent memory storage system
WO2014169649A1 (en) Data processing method and device, and computer system
CN109117416B (en) Method and device for data migration or exchange between slots and multiprocessor system
US10802972B2 (en) Distributed memory object apparatus and method enabling memory-speed data access for memory and storage semantics
US7925857B2 (en) Method for increasing cache directory associativity classes via efficient tag bit reclaimation
CN110858162A (en) Memory management method and device and server
WO2024066613A1 (en) Access method and apparatus and data storage method and apparatus for multi-level cache system
US20170364442A1 (en) Method for accessing data visitor directory in multi-core system and device
US10331570B2 (en) Real time memory address translation device
US20200042184A1 (en) Cost-Effective Deployments of a PMEM-Based DMO System
US20230088344A1 (en) Storage medium management method and apparatus, device, and computer-readable storage medium
CN116680233A (en) File access method, system, electronic equipment and machine-readable storage medium
WO2017142525A1 (en) Allocating a zone of a shared memory region
US11061609B2 (en) Distributed memory object method and system enabling memory-speed data access in a distributed environment
JP7167295B2 (en) Memory system and control method
US20200192829A1 (en) Storing data from low latency storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant