CN104917784B - A kind of data migration method, device and computer system - Google Patents
A kind of data migration method, device and computer system Download PDFInfo
- Publication number
- CN104917784B CN104917784B CN201410086085.XA CN201410086085A CN104917784B CN 104917784 B CN104917784 B CN 104917784B CN 201410086085 A CN201410086085 A CN 201410086085A CN 104917784 B CN104917784 B CN 104917784B
- Authority
- CN
- China
- Prior art keywords
- node
- logical node
- data
- logical
- accessed
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
An embodiment of the present invention provides a kind of data migration method, device and computer system, based on this method, the speed of Data Migration, lifting system performance can be improved.This method includes:In process P0 after logical node i moves to logical node j, according to the data that the process P0 is accessed in the virtual address of logical node i, the physical address of data that the process P0 accesses in the logical node i is determined;According to the data that the P0 is accessed in the physical address of the logical node i, the process P0 data accessed are copied into the caching of the logical node j from the first memory of the logical node i;If it is determined that the data that the process P0 is accessed meet transition condition, the process P0 data accessed are migrated from the caching of the logical node j into the first memory of the logical node j.This method is suitable for field of computer technology.
Description
Technical field
The present invention relates to a kind of field of computer technology more particularly to data migration method, device and computer systems.
Background technology
It is clothes that Non Uniform Memory Access, which accesses (Non Uniform Memory Access Architecture, NUMA) framework,
One kind of business device framework, is divided into multiple nodes, each logical node is allocated a center by entire server system in logic
Processor (Central Processing Unit, CPU) and one section of corresponding physical memory, each logical node can access
This node memory source (local memory) can also access the memory source (remote memory) of other nodes, but access local money
The speed in source significantly faster than accesses remote memory, and generally under NUMA architecture, the delay for accessing remote memory is accessed in local
3-20 times deposited.
NUMA architecture has the advantages of being easily managed, expandability is good, still, in existing operating system (Operating
System, OS) in mechanism, it will usually load balancing is carried out according to the state of CPU, so as to by one in the CPU of heavier loads
Or multiple thread/process migrations are on other CPU.Such as when the load of CPU is very high, OS will line up from the task of the CPU
In, select specific process/thread, being moved to other CPU of the task is lined up.But when operating system is by the process
After moving to other logical nodes, the data which accesses usually will not also be moved to the memory of other logical nodes.
In this way, the data accessed due to the process are still in the memory of original logical node, so when the process accesses data,
Cross-node is needed to access, so as to cause a large amount of remote access, access delay is increased, reduces system performance.
In the prior art, following solution is proposed regarding to the issue above:When OS is by the process/thread of source logical node
After moving to purpose logical node, when the data that the process accesses meet the condition of Data Migration, number which is accessed
Purpose logical node is moved to according to from source logical node.But directly the data that the process accesses are migrated from source logical node
Time to purpose logical node is longer, and the expense brought is larger, and it is still very undesirable to improve system performance.
The content of the invention
The embodiment provides a kind of data migration method, device and computer systems, can improve data and move
The speed of shifting, it is achieved thereby that the raising of systematic entirety energy.
In order to achieve the above objectives, the embodiment of the present invention adopts the following technical scheme that:
In a first aspect, an embodiment of the present invention provides a kind of data migration methods, NUMA architecture is by multiple physical nodes, section
Point control chip and NUMA managers are formed, wherein, each physical node is divided into one or more logical nodes, each patrols
It collects node and is assigned first processor, the first memory, first processor cache memory and caching;The node control
Chip carries out the duplication of data between described two physical nodes for connecting two physical nodes;The NUMA managers, by
Bus, the second processor being connected with bus and the second memory being connected with bus composition, wherein, the second processor and institute
There is the physical node to be connected, for being managed to the physical node, second memory is used to store described second
The instruction that processor needs call, this method are applied to the NUMA managers, and this method includes:
In process P0 after logical node i moves to logical node j, the data accessed according to the process P0 are in logic section
The virtual address of point i determines physical address of the data in the logical node i of the process P0 access;
According to the data that the P0 is accessed in the physical address of the logical node i, the data that the process P0 is accessed
The caching of the logical node j is copied to from the first memory of the logical node i;
If it is determined that the data that the process P0 is accessed meet transition condition, the process P0 data accessed are patrolled from described
The caching for collecting node j is migrated into the first memory of the logical node j.
In the first possible embodiment, with reference to first aspect, described moved in process P0 from logical node i is patrolled
During volume node j, according to the data that the process P0 is accessed in the virtual address of logical node i, determine what the process P0 was accessed
After the physical address of the logical node i, this method further includes data:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, are not sent to the node control chip
Notification message, the notification message include the data of process P0 access in the physical address of the logical node i, the section
Point control chip is connected respectively with the physical node where the logical node i and the physical node where the logical node j,
So that the node control chip copies to the data that the process P0 is accessed from the first memory of the logical node i
The caching of the logical node j;
If in same physical node, the process P0 data accessed are answered by the logical node i and logical node j
Make the caching of the logical node j.
In second of possible embodiment, with reference to first aspect or the first possible embodiment, it is described into
Journey P0 from logical node i move to logical node j when, according to the process P0 access data in logical node i virtually
Location determines the data of the process P0 access after the physical address of the logical node i, and this method further includes:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, do not send to node control chip and notify
Message, in the notification message comprising the data that the process P0 is accessed the logical node i physical address so that institute
State node control chip by the process P0 access in the first processor cache memory of the logical node i
Data copy to the first processing of the logical node j from the first processor cache memory of the logical node i
In device cache memory;
If the logical node i and logical node j is patrolled in same physical node, the process P0 access described
The data in the first processor cache memory of node i are collected, from the first processor speed buffering of the logical node i
It is copied in memory in the first processor cache memory of the logical node j;
The first notification message is sent to all logical nodes, first notification message is used to that the process P0 to be notified to access
The data in the first processor cache memory of the logical node i be copied to the of the logical node j
In one processor high speed buffer storage.
In the third possible embodiment, with reference to first aspect, the first possible embodiment or second can
Any one of embodiment of energy, it is described if it is determined that the data that the process P0 is accessed meet transition condition, by the process
After the data that P0 is accessed are migrated from the caching of the logical node j into the first memory of the logical node j, this method is also wrapped
It includes:
The data that the process P0 is accessed are established to close in the virtual address of the logical node j and the mapping of physical address
System.
Second aspect, an embodiment of the present invention provides a kind of data migration device, which includes:Determination unit, duplication
Unit and migration units;
The determination unit, in process P0 after logical node i moves to logical node j, according to the process P0
The data of access determine the physics of data that the process P0 accesses in the logical node i in the virtual address of logical node i
Address;
The copied cells, for according to the data that the P0 is accessed the logical node i physical address, will described in
The data that process P0 is accessed copy to the caching of the logical node j from the memory of the logical node i;
The migration units, for if it is determined that the data that the process P0 is accessed meet transition condition, by the process P0
The data of access are migrated from the caching of the logical node j into the memory of the logical node j.
In the first possible embodiment, with reference to second aspect, which further includes:Judging unit;
The judging unit, for judging the logical node i and the logical node j whether in same physical node;
The copied cells is specifically used for:
If the logical node i and the logical node j in same physical node, do not send to node control chip and notify
Message, the notification message include the data of process P0 access in the physical address of the logical node i, the node control
Coremaking piece is connected respectively with the physical node where the logical node i and the physical node where the logical node j, so that
It obtains the node control chip and the data that the process P0 is accessed is copied into the logic from the memory of the logical node i
The caching of node j;
If in same physical node, the process P0 data accessed are answered by the logical node i and logical node j
Make the caching of the logical node j.
In second of possible embodiment, with reference to second aspect or the first possible embodiment, optionally, institute
Copied cells is stated to be additionally operable to:
If the logical node i and the logical node j in same physical node, do not send to node control chip and notify
Message, in the notification message comprising the data that the process P0 is accessed the logical node i physical address so that institute
State the number in the processor high speed buffer storage of the logical node i that node control chip accesses the process P0
According to the processor high speed that the logical node j is copied to from the processor high speed buffer storage of the logical node i buffers
In memory;
If the logical node i and logical node j is patrolled in same physical node, the process P0 access described
The data in the processor high speed buffer storage of node i are collected, from the processor high speed buffer storage of the logical node i
It copies in the processor high speed buffer storage of the logical node j;
Specifically, the device further includes:Transmitting element;
The transmitting element, for sending the first notification message to all logical nodes, first notification message is used for
Data in the processor high speed buffer storage of the logical node i that the process P0 is accessed is notified to be copied to described
In the processor high speed buffer storage of logical node j.
In the third possible embodiment, with reference to second aspect, the first possible embodiment or second can
Any one of embodiment of energy, which further includes:Establish unit;
It is described to establish unit, for establish data that the process P0 accesses the logical node j virtual address with
The mapping relations of physical address.
The third aspect, an embodiment of the present invention provides a kind of computer system, including:
Multiple physical nodes, wherein, each physical node is divided into one or more logical nodes, each logical node
It is assigned first processor, the first memory, first processor cache memory and caching;
Node control chip for connecting two physical nodes, carries out the duplication of data between described two physical nodes;
NUMA managers, by bus, the second processor being connected with bus and the second memory being connected with bus composition,
In, the second processor is connected with all physical nodes, for being managed to the physical node, described second
Memory is used to store the instruction that the second processor needs call;
The second processor calls executing instruction in second memory by the bus, for:In process
P0 after logical node i moves to logical node j, according to the process P0 access data logical node i virtual address,
Determine physical address of the data in the logical node i of the process P0 access;
According to the data that the P0 is accessed in the physical address of the logical node i, the data that the process P0 is accessed
The caching of the logical node j is copied to from the first memory of the logical node i;
If it is determined that the data that the process P0 is accessed meet transition condition, the process P0 data accessed are patrolled from described
The caching for collecting node j is migrated into the first memory of the logical node j.
In the first possible embodiment, with reference to the third aspect, the processor is specifically used for:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, are not sent to the node control chip
Notification message, the notification message include the data of process P0 access in the physical address of the logical node i, the section
Point control chip is connected respectively with the physical node where the logical node i and the physical node where the logical node j,
So that the node control chip copies to the data that the process P0 is accessed from the first memory of the logical node i
The caching of the logical node j;
If in same physical node, the process P0 data accessed are answered by the logical node i and logical node j
Make the caching of the logical node j.
In second of possible embodiment, with reference to the third aspect or the first possible embodiment, the processing
Device is additionally operable to:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, do not send to node control chip and notify
Message, in the notification message comprising the data that the process P0 is accessed the logical node i physical address so that institute
State node control chip by the process P0 access in the first processor cache memory of the logical node i
Data copy to the first processing of the logical node j from the first processor cache memory of the logical node i
In device cache memory;
If the logical node i and logical node j is patrolled in same physical node, the process P0 access described
The data in the first processor cache memory of node i are collected, from the first processor speed buffering of the logical node i
It is copied in memory in the first processor cache memory of the logical node j;
The first notification message is sent to all logical nodes, first notification message is used to that the process P0 to be notified to access
The data in the first processor cache memory of the logical node i be copied to the of the logical node j
In one processor high speed buffer storage.
In the third possible embodiment, with reference to the third aspect, the first possible embodiment or second can
Any one of embodiment of energy, the processor is additionally operable to:
The data that the process P0 is accessed are established to close in the virtual address of the logical node j and the mapping of physical address
System.
An embodiment of the present invention provides a kind of data migration method, device and computer system, this method includes:In process
P0 from logical node i move to logical node j when, according to the process P0 access data logical node i virtual address,
Determine physical address of the data in the logical node i of the process P0 access;The data accessed according to the P0 are described
The process P0 data accessed are copied to institute by the physical address of logical node i from the first memory of the logical node i
State the caching of logical node j;If it is determined that the data that the process P0 is accessed meet transition condition, the number that the process P0 is accessed
It is migrated according to from the caching of the logical node j into the first memory of the logical node j.Based on technical scheme,
Can in process after source logical node is migrated to purpose logical node, the process access data meet transition condition it
Before, first the data that the process accesses are copied in the caching of purpose logical node, once the data satisfaction that the process accesses is moved
The data that the process accesses quickly can be moved to the purpose logical node by shifting condition from the caching of purpose logical node
In memory, so as to improve the speed of the migration for the data that the process accesses, and then systematic entirety energy is improved.
Description of the drawings
It in order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing
There is attached drawing needed in technology description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this
Some embodiments of invention, for those of ordinary skill in the art, without creative efforts, can be with
Other attached drawings are obtained according to these attached drawings.
Fig. 1 a are a kind of NUMA architecture schematic diagram;
Fig. 1 b are another NUMA architecture schematic diagram;
Fig. 2 is another NUMA architecture schematic diagram;
Fig. 3 is a kind of data migration method flow chart;
Fig. 4 is another NUMA architecture schematic diagram;
Fig. 5 is another data migration method flow chart;
Fig. 6 is another data migration method flow chart;
Fig. 7 is a kind of data migration device schematic diagram;
Fig. 8 is another data migration device schematic diagram;
Fig. 9 is another data migration device schematic diagram;
Figure 10 is another data migration device schematic diagram;
Figure 11 is a kind of computer system schematic diagram.
Specific embodiment
Below in conjunction with the attached drawing in the embodiment of the present invention, the technical solution in the embodiment of the present invention is carried out clear, complete
Site preparation describes, it is clear that described embodiment is only part of the embodiment of the present invention, instead of all the embodiments.It is based on
Embodiment in the present invention, those of ordinary skill in the art are obtained every other without making creative work
Embodiment belongs to the scope of protection of the invention.
NUMA architecture is a kind of multi node server framework, by multiple physical nodes, node control chip and NUMA management
Device three parts are formed, specifically:
First portion:Multiple physical nodes.In actual hardware configuration, in each physical node there are one or multiple places
Device is managed, each processor corresponds to one section of physical memory and the corresponding cache memory of each processor.
With reference to Fig. 1 a, when, only there are one during processor, can only the physical node being divided into one in a physical node
A logical node, the logical node are assigned processor, memory and processor high speed buffer storage.
When there are multiple processors in the physical node, the physical node can be divided according to the physical memory
For multiple logical nodes.In this way, there are two kinds of situations, the first situation is to be allocated that there are one processors in a logical node
And the corresponding one section of physical memory of the processor, the second situation are to be assigned two or more places in a logical node
Manage device and the corresponding physical memory of each processor.
It should be noted that in the latter case, for example, if being allocated in a logical node, there are two processing
Device, wherein, each processor has corresponding physical memory.At this point, one of processor is accessed in its corresponding physical memory
The delay of the data stored in the delay of the data of storage physical memory corresponding with accessing another processor is the same.One
A process/thread will not be generated from one of processor migration to another described processor access delay become larger ask
Topic, therefore, in the present invention it is possible to regard the two processors as same processor, the two processors are corresponding
Physical memory 2 regards same section of physical memory as.With reference to Fig. 1 b, a physical node is divided into two or more logical nodes.
Second portion:Node control chip.Specifically:In the multi node server of NUMA architecture, when the object of server
Managing number of nodes increases, if each physical node can be confined to the number of ports or limited of node by way of cable direct interconnection
It is formed on interconnected communication agreement, for example, when four physical nodes need to interconnect two-by-two, each physical node needs three and connects
Mouthful, when N number of physical node needs to interconnect two-by-two, each physical node needs N-1 interface, therefore, when using cable straight
When connecing interconnection, the number of ports of physical node can limit the connection of physical node.
Since chip can have multiple interfaces, each node server can be interconnected by node control chip
Get up, i.e. two adjacent physical nodes are connected by a node control chip, and the node control chip is mainly used for object
The high speed interconnection between node is managed, such as the interconnection that communicates between processor and processor, the duplication of data between physical node, and
It can realize the functions such as buffer consistency inspection, message forwarding.
It should be noted that with reference to Fig. 2, a node control chip can only connect two physical nodes, can also be same
When connect multiple physical nodes, realize the interconnection two-by-two of physical node, it is not limited in the embodiment of the present invention.
Certainly, whether for being connected between two physical nodes using node control chip, the present invention does not limit.
Part III:NUMA managers.The NUMA managers are made of processor, memory and bus, the NUMA pipes
Processor in reason device is connected with all physical nodes in the first portion, for being carried out to all physical nodes
Management.
When the operating system of NUMA architecture is according to distributing to the non-load balanced case of each logical node processor by logic
After one process P0 of node i moves to logical node j, the data for accessing the process when general different are simultaneously from logical node
The internal memory migration of i is into the memory of the logical node j, to avoid unnecessary expense.If for example, the process P0 is migrated
It does not visit again and is had moved to the data of the process P0 access of destination node memory or the process P0 after to logical node j
After being migrated to logical node j, operating system moves the P0 according to the non-load balanced case of the processor of each logical node
It is moved back to logical node i or moves to other logical nodes except logical node i and logical node j, at this point, the process P0 is moved
While moving on to logical node j, by the data that the P0 is accessed from the internal memory migration of logical node i to the logical node j's
In memory, unnecessary expense can be caused, reduces the performance of system.But if the process P0 is moved to from logical node i
After logical node j, Data Migration P0 not accessed, when process P0 accesses the data of oneself, will result in logical node j
Cross-node accesses, that is, remote access, at this point, the delay that P0 accesses the data of oneself is very big, reduces the performance of system.
Therefore, after process P0 is migrated to logical node j from logical node i, when the data that the process P0 is accessed expire
During the condition migrated enough, the process P0 data accessed just can be moved to logical node j by operating system from logical node i,
But in the prior art, the data that process P0 is accessed directly are moved to the speed of logical node j from logical node i cross-nodes
Degree it is slower, the expense of Data Migration may balance out the effect of Data Migration, for example, when process P0 by operating system from
After logical node i is moved on logical node j, the data that P0 accesses logical node i need 3s, access the data of logical node j
1s is needed, but the data that P0 is accessed may be 3s from the logical node i times for moving to logical node j by operating system, in this way,
These data are being accessed after memory of the P0 wait operating systems by the Data Migration that P0 is accessed to logical node j, when total
Between for 4s, the data delay than directly accessing logical node i is also long, and the expense of migration counteracts the effect of migration.
For this problem, the present invention proposes a kind of data migration method, can be in a process P0 quilt based on this method
After operating system moves to logical node j from logical node i, and the data of process P0 access meet the condition of migration,
Accelerate the migration of data.With reference to Fig. 3, this method is applied to the NUMA managers, and this method includes:
301st, in process P0 after logical node i moves to logical node j, patrolled according to the process P0 data accessed
The virtual address of node i is collected, determines physical address of the data in the logical node i of the process P0 access.
After a process P0 is established, operating system can establish the virtual addresses of the data that P0 is accessed with physically
The process P0 when operating system is according to the principle of load balancing, is moved to logic section by the mapping relations of location from logical node i
After point j, the operating system can be accessed according to the virtual address and the process P0 of the process P0 data accessed
The virtual address of data and the mapping relations of physical address, determine data that the process P0 is accessed in the logical node i
Physical address.
Specifically, most of systems using virtual memory are all using a kind of mechanism for being known as paging (paging).It is empty
Intend the space that address space is divided into referred to as page (page), and corresponding physical address space is also carried out dividing, unit is page
Frame (frame).In the machine of 32 bit address, it can virtually form the Virtual Space of 4G, virtual address range from 0~
0xFFFFFFFF, therefore he can run the program of 4G.And this machine only has the memory headroom of 256M, so more than 256M's
Program cannot disposably call in memory operation.This machine must there are one can store the external memory more than 256M programs
(such as disk or flash memory FLASH), to ensure that usability of program fragments can be called in memory when needed.In this example
In, the size of page is 4K, and page hardwood size is identical with page --- this point must assure that, because between memory and peripheral storage
Transmission always in units of page.The virtual address of corresponding 4G and the physical storage of 256M, they contain 1M respectively
Page and 64K page frame.
Page table embodies the virtual address of data and the mapping relations of physical address that a process accesses, and realizes from page
Number, i.e. the mapping of virtual address to page frame, i.e. physical address.Operating system safeguards a page table to each process, and page table is given
The position of the page frame in process corresponding to every page is gone out.
Based on this, operating system can pass through according to the data that the process P0 is accessed in the virtual address of logical node i
Page table is inquired about, determines physical address of the data in logical node i of the process P0 access.
Specifically, the virtual address of process and the mapping relations of physical address can be the forms of page table, it can also
It is other forms, it is not limited in the embodiment of the present invention.
302nd, according to the P0 access data the logical node i physical address, by the process P0 access
Data copy to the caching of the logical node j from the memory of the logical node i.
Due in the prior art, when the data that the process P0 is accessed meet the condition of migration, directly will described in into
The time that the data that journey P0 is accessed are moved to from the logical node i used in logical node j is longer, and the expense of migration is larger, can
It can balance out the effect of migration.For this problem, the embodiment of the present invention is in the server system of the NUMA architecture
Increase a caching in each logical node, specifically, the caching can be a part for the memory of the logical node j,
Or a part for the processor high speed buffer storage of the logical node j, as shown in figure 4, can also be one solely
Vertical buffer memory device, it is not limited in the embodiment of the present invention.
Specifically, since most of systems using virtual memory are all known as paging (paging) mechanism using a kind of,
The data that the P0 is accessed are stored in multiple pages of the logical node i, therefore, the operating system it is described into
Journey P0 is after the logical node i moves to logical node j, and the data that the process P0 is accessed are from the logical node i
Page, copy to the hardware cache of the logical node j, i.e., in the page of described caching.
Specifically, for example, for example described process P0 accesses some data in data, the logical node i's
Virtual address is page m, the logical node i physical address for page n, when the operating system is by the process
After the data for the page n that P0 is accessed are copied in the page k of the caching, the operating system is for process P0 visits
The data asked are between the address of the virtual address of the logical node i, physical address and caching in the logical node j
Correspondence, establish a following mapping table:
Table one
The virtual address of logical node i | The physical address of logical node i | The address of the caching of logical node j |
Page m | Page n | Page k |
Specifically, the correspondence between described address can be the form such as above table, for example, page table or
Other forms, it is not limited in the embodiment of the present invention.
Further, such as the process P0 accesses some data, is page in the virtual address of the logical node i
M+1, it is corresponding, it is page n+1 in the physical address of the logical node i, also, when the data in the page n+1
After being copied in the caching of the logical node j, it is stored in the page k+1 of the logical node j.The operation system
System in such a manner, by the process P0 access data the virtual address of the logical node i, physical address and
The address of the logical node j corresponds.
After the process P0 moves to logical node j by operating system from the logical node i, the operating system will
The data that the process P0 is accessed copy to the caching of the logical node j from the memory of the logical node i, in this way, working as
When the data that the process P0 is accessed meet the condition of migration, the operating system can be by inquiring about page as shown in Table 1
The caching of the data that the P0 is accessed from the logical node j are directly moved in the memory of the logical node j, carried by table
The high speed of migration, and then improve the overall performance of system.
It should be noted that the data in the process accessed the process P0 when the operating system are from the logic
After the memory of node i copies to the caching of the logical node j, data that the process P0 is accessed meet transition condition it
Before, since the delay that the process P0 accesses the caching of the logical node j is longer, under normal conditions the P0 still by across
Node visit, to access the data of the access of logical node P0 described in the memory of the logical node i.Therefore, it is described at this time to patrol
Still retain the data that the process P0 is accessed in the memory of volume node i, and cannot by the data that the process P0 is accessed from
After the memory of the logical node i copies to the caching of the logical node j, the process P0 data accessed are patrolled described
The occupied memory of node i is collected to discharge.
303rd, if it is determined that the data that the process P0 is accessed meet transition condition, the data that the process P0 is accessed are from institute
The caching for stating logical node j is migrated into the memory of the logical node j.
Specifically, in different systems, judge data whether meet migration condition it is different.For example, exist
In linux system, when turn-on data shift function, when each clock interrupt arrives, system processing clock interrupt, which can check, works as
Whether the non-load balanced case and differentiation process of preceding system have remote memory access.During inspection, patrolled when first time finds one
When collecting the data in the page in node memory by process remote access, which can be marked;At subsequent clock interruption
During reason, when finding there is the page to be marked with remote access, the data in the page will be migrated.
Certainly, it is the known technology of those skilled in the art to judge condition that whether data in memory meet migration, this
Inventive embodiments repeat no more this.
When the memory of the data from the logical node i that access the process P0 copy to the slow of the logical node j
After depositing, operating system judges whether the data that the process P0 is accessed meet the condition of Data Migration, if satisfied, by the process
The data that P0 is accessed are migrated from the caching of the logical node j into the memory of the logical node j, and afterwards, the P0 is accessed
The data of oneself are local IP access, and delay is smaller, and then the performance of lifting system.
It is migrated when by caching of the data that the process P0 is accessed from the logical node j to the logical node j
After depositing, the operating system can discharge the data that the process P0 in the memory of the logical node i is accessed, and
And the operating system re-establish data that the process P0 accesses the logical node j virtual address with physically
The mapping relations of location.
An embodiment of the present invention provides a kind of data migration method, this method includes:It is migrated in process P0 from logical node i
During to logical node j, according to the data that the process P0 is accessed in the virtual address of logical node i, determine that the process P0 is visited
The data asked are in the physical address of the logical node i;According to the P0 access data in the logical node i physically
The process P0 data accessed are copied to the caching of the logical node j by location from the memory of the logical node i;If
Determine that the data that the process P0 is accessed meet transition condition, the data that the process P0 is accessed are from the logical node j's
Caching is migrated into the memory of the logical node j.Based on the present invention, can be migrated in a process from source logical node
After purpose logical node, when the data that the process accesses meet transition condition, quickly by the data that the process accesses from mesh
The caching of logical node move in the memory of the purpose logical node, so as to promote the speed of Data Migration, Jin Erti
High systematic entirety energy.
Further, the embodiment of the present invention additionally provides a kind of data migration method, and this method is to above-described embodiment
It is described in detail, with reference to Fig. 5, this method is applied to NUMA managers, and this method includes:
501st, when process P0 moves to logical node j from logical node i, patrolled according to the process P0 data accessed
The virtual address of node i is collected, determines physical address of the data in the logical node i of the process P0 access.
Specifically, the detailed implementation process of step 501 refer to the step 301 in above-described embodiment, the embodiment of the present invention
This is repeated no more.
502nd, judge the logical node i and the logical node j whether in same physical node.
With reference to Fig. 1 a, Fig. 1 b and Fig. 2, in the server system of NUMA architecture, in a physical node may there are one
Logical node, it is also possible to there are two or multiple logical nodes, based on this, when operating system is according to the processor of each logical node
Non-load balanced case by the process P0 from logical node i move to logical node j when, the logical node i and institute
Stating logical node j may be in same physical node, it is also possible in different physical nodes.In both cases, the operation
The memory of the data that the process P0 is accessed from the logical node i are copied to the side of the caching of the logical node j by system
Method is different, and therefore, memory of the operating system in the data from the logical node i that access the process P0 copies to institute
The caching of logical node j is stated before, it is necessary to judge the logical node i and the logical node j whether in same physical node.
If the 503rd, the logical node i and logical node j is sent not in same physical node to node control chip
Notification message, the notification message include the data of process P0 access in the physical address of the logical node i, the section
Point control chip is connected respectively with the physical node where the logical node i and the physical node where the logical node j,
So that the node control chip data that the process P0 is accessed are copied to from the memory of the logical node i it is described
The caching of logical node j.
With reference to Fig. 1 a, Fig. 1 b, if the logical node i and the logical node j be not in same physical node, the logic
It is connected between the physical node where physical node and the logical node j where node i by a node control chip, institute
Stating operating system can not directly copy to the memory of process P0 data from the logical node i accessed across physical node
The caching of the logical node j, but the operating system can pass through the physical node where the connection logical node i and institute
The node control chip of the physical node where logical node j is stated by the data that the process P0 is accessed from the logical node i
Internal memory migration to the caching of the logical node j, detailed process is:
The operating system judges the logical node i and the logical node j not after same physical node, Xiang Lian
The node control chip for tying the physical node where the logical node i and the physical node where logical node j sends notice
Message, the notification message include physical address of the data in the logical node i of process P0 access.It is at this point, described
Node control chip according to the data that the process P0 is accessed the logical node i physical address, by the process P0 visit
The memory of the data asked from the logical node i copy to the caching of the logical node j.
It should be noted that according to the Process Migration Mechanism of existing operating system, the operating system is according to each patrolling
The process P0 is moved to logical node j by the non-load balanced case for collecting the processor in node from logical node i, if described patrol
Node i and the logical node j are collected not in same physical node, the process P0 is needed by connecting the logical node i institutes
Physical node and logical node j where physical node node control chip or cable carry out remote access logical node i
Described in process P0 data, based on this, when the process is moved to described patrol by the operating system from the logical node i
When collecting node j, the physical node where physical node and the logical node j where the logical node i must have section
Two physical nodes that point control chip or cable are connected, otherwise when the process P0 moves to logic from the logical node i
After node j, the process P0 can not access the data of the P0 of the logical node i, and process is caused to access the mistake of data
It loses.
If the 504th, the logical node i and logical node j is in same physical node, the number that the process P0 is accessed
According to the caching for copying to the logical node j.
If the logical node i and logical node j is in same physical node, by the process P0 from the logic section
After point i moves to the logical node j, the process P0 accesses the delay of the data of the P0 of the logical node i, is less than
When the logical node i and the logical node j be not in same physical node, across the physical node access data of process P0
Delay, but be still more than the delay that the process P0 accesses the memory of logical node where it, the performance of system can be reduced.
Using data migration method provided by the present invention, can be improved when the process P0 data accessed meet transition condition
The speed of Data Migration, and then the overall performance of lifting system.
If specifically, the logical node i and logical node j is in same physical node, the operating system can be with
The memory of process P0 data from the logical node i accessed is directly copied to the caching of the logical node j.
505th, if it is determined that the data that the process P0 is accessed meet transition condition, the data that the process P0 is accessed are from institute
The caching for stating logical node j is migrated into the memory of the logical node j.
Specifically, the detailed process of step 505 can be found in the step 303 in above-described embodiment, the embodiment of the present invention is no longer
It repeats.
It, can be in a process from source logic based on this method an embodiment of the present invention provides a kind of data migration method
After node is migrated to purpose logical node, when the data that the process accesses meet the condition of Data Migration, quickly by institute
The data of process access are stated from the memory that the caching of purpose logical node moves to the destination node, are moved so as to promote data
The speed of shifting, and then improve systematic entirety energy.
Further, when the data for accessing the process P0 are from the internal memory migration of the logical node i to the logic
After in the caching of node j, to reduce the remote access of the process P0, the embodiment of the present invention additionally provides a kind of Data Migration side
Method, with reference to Fig. 6, this method is applied to NUMA managers, and this method includes:
601st, when process P0 moves to logical node j from logical node i, patrolled according to the process P0 data accessed
The virtual address of node i is collected, determines physical address of the data in the logical node i of the process P0 access.
602nd, judge the logical node i and the logical node j whether in same physical node.
The detailed implementation process of step 601- steps 602 can be found in step 301 and step 302 in above-described embodiment, this
Inventive embodiments repeat no more this.
If the 603rd, the logical node i and logical node j is sent not in same physical node to node control chip
Notification message, in the notification message comprising the data that the process P0 is accessed the logical node i physical address so that
The node control chip by the process P0 access in the processor high speed buffer storage of the logical node i
Data, the processor high speed that the logical node j is copied to from the processor high speed buffer storage of the logical node i delay
It rushes in memory.
When the memory of the data that the process P0 is accessed from the logical node i are copied to described patrol by the operating system
After collecting in the caching of node j, before the data of P0 access meet transition condition, the P0 needs to continue cross-node access
It is larger to access delay for the data of process P0 described in the memory of the logical node i.To reduce the distal end of the process P0 to the greatest extent
The data that the process P0 is accessed are copied to logical node j's by access times in the operating system from the logical node i
Meanwhile the data in the processor high speed buffer storage of the logical node i that can simultaneously access the process P0,
The processor high speed buffer storage of the logical node j is copied to from the processor high speed buffer storage of logical node i.
The data in the processor high speed buffer storage of the logical node i that the process P0 is accessed be it is described into
Some higher data of journey P0 access frequencys, when the operating system by the process P0 access the logical node i's
After data in processor high speed buffer storage are copied in the processor high speed buffer storage of the logical node j, institute
When the process P0 of stating will access these data again, this in the processor high speed buffer storage of the node j can be directly accessed
A little data, it is local IP access that the process P0, which accesses the data of oneself, at this time, and delay is smaller.
If not in same physical node, the operating system is needed to connection by the logical node i and the logical node j
The node control chip of the physical node where physical node and logical node j where the logical node i sends notice and disappears
It ceases, the data comprising process P0 access in the notification message are in the physical address of the logical node i, the node control
Coremaking piece can determine that the processor high speed of the node i delays according to the process P0 in the physical address of the logical node i
Rush in memory the data that process P0 is accessed described in storage in which page, the node control chip by these data from
The processor high speed buffer storage of the logical node i copies to the processor high speed buffer storage of the logical node j.
If the 604, the logical node i and logical node j is in same physical node, the process P0 access in institute
The data in the processor high speed buffer storage of logical node i are stated, from the processor high speed buffer-stored of the logical node i
It is copied in device in the processor high speed buffer storage of the logical node j.
Specifically, when the logical node i and the logical node j are in same physical node, the operation system
The data in the processor high speed buffer storage of the logical node i that system can directly access the process P0, from
The processor high speed buffer storage of the logical node i copies to the processor high speed buffer-stored of the logical node j
Device.
605th, the first notification message is sent to all logical nodes, first notification message is used to notify the process P0
The data in the processor high speed buffer storage of the logical node i accessed are copied to the place of the logical node j
It manages in device cache memory.
Specifically, when the number in the processor high speed buffer storage of the logical node i of process P0 access
After being copied in the processor high speed buffer storage of the logical node j, to make the process P0 and other and institute
Other processes that the process P0 of stating shares partial data are able to access that in the processor high speed buffer storage of the logical node j
Data, the operating system are operated by buffer consistency, send the first notification message to all logical nodes, described first is logical
Message is known for notifying the data quilt in the processor high speed buffer storage of the logical node i of the process P0 access
It copies in the processor high speed buffer storage of the logical node j.
Specifically, when the logical node i and the logical node j be not in same physical node, the operating system
It can be by connecting the node control core of the physical node where the logical node i and the physical node where logical node j
Piece, all logical nodes into the server system of the NUMA architecture issue first notification message;
When the logical node i and the logical node j are in same physical node, the operating system can directly to
All logical nodes issue first notification message.
Specifically, buffer consistency operation be those skilled in the art known technology, the embodiment of the present invention to this no longer
It repeats.
It, can be in a process from source logic based on this method an embodiment of the present invention provides a kind of data migration method
After node is migrated to purpose logical node, when the data that the process accesses meet transition condition, quickly by the process
The data of access are moved to from the caching of the purpose logical node in the memory of the purpose logical node, so as to promote data
The speed of migration, and then improve systematic entirety energy.
An embodiment of the present invention provides a kind of data migration devices, and with reference to Fig. 7, which includes:Determination unit 701 is answered
Unit 702 processed and migration units 703;
The determination unit 701, for when process P0 moves to logical node j from logical node i, according to the process
The data that P0 is accessed determine the object of data that the process P0 accesses in the logical node i in the virtual address of logical node i
Manage address;
The copied cells 702, for according to the data that the P0 is accessed the logical node i physical address, will
The data that the process P0 is accessed copy to the caching of the logical node j from the memory of the logical node i;
The migration units 703, for if it is determined that the data that the process P0 is accessed meet transition condition, by the process
The data that P0 is accessed are migrated from the caching of the logical node j into the memory of the logical node j.
Specifically, with reference to Fig. 8, which further includes:Judging unit 704;
The judging unit 704, for judging the logical node i and logical node j whether in same physics section
Point;
The copied cells 702 is specifically used for:
If the logical node i and the logical node j in same physical node, do not send to node control chip and notify
Message, the notification message include the data of process P0 access in the physical address of the logical node i, the node control
Coremaking piece is connected respectively with the physical node where the logical node i and the physical node where the logical node j, so that
It obtains the node control chip and the data that the process P0 is accessed is copied into the logic from the memory of the logical node i
The caching of node j;
If in same physical node, the process P0 data accessed are answered by the logical node i and logical node j
Make the caching of the logical node j.
Optionally, the copied cells 702 is additionally operable to:
If the logical node i and the logical node j in same physical node, do not send to node control chip and notify
Message, in the notification message comprising the data that the process P0 is accessed the logical node i physical address so that institute
State the number in the processor high speed buffer storage of the logical node i that node control chip accesses the process P0
According to the processor high speed that the logical node j is copied to from the processor high speed buffer storage of the logical node i buffers
In memory;
If the logical node i and logical node j is patrolled in same physical node, the process P0 access described
The data in the processor high speed buffer storage of node i are collected, from the processor high speed buffer storage of the logical node i
It copies in the processor high speed buffer storage of the logical node j.
Optionally, with reference to Fig. 9, which further includes:Transmitting element 705, the transmitting element 705, for being patrolled to all
Volume node sends the first notification message, first notification message be used to the process P0 be notified to access in the logical node
Data in the processor high speed buffer storage of i are copied in the processor high speed buffer storage of the logical node j.
Specifically, with reference to Figure 10, which further includes:Establish unit 706;
It is described to establish unit 706, for establishing virtual address of the data in the logical node j of the process P0 access
With the mapping relations of physical address.
An embodiment of the present invention provides a kind of data migration device, which includes:Determination unit, copied cells and migration
Unit;The determination unit is when process P0 moves to logical node j from logical node i, according to the number of process P0 access
According to the virtual address in logical node i, the physical address of data that the process P0 accesses in the logical node i is determined;Institute
Copied cells is stated according to the data that the P0 is accessed in the physical address of the logical node i, the number that the process P0 is accessed
It is copied to according to from the memory of the logical node i in the caching of the logical node j;The migration units are in the process P0
When the data of access meet transition condition, the caching of process P0 data from the logical node j accessed is migrated to institute
In the memory for stating logical node j.Based on the present invention, purpose logical node can be migrated to from source logical node in a process
Afterwards, when the data that the process accesses meet transition condition, quickly by the data that the process accesses from the purpose logic
The caching of node is moved in the memory of the purpose logical node, so as to improve the speed of Data Migration, and then improves system
Overall performance.
An embodiment of the present invention provides a kind of computer system, with reference to Figure 11, including:
Multiple physical nodes 1101, wherein, each physical node is divided into one or more logical nodes, each logic
Node is assigned first processor 1102, the first memory 1103, first processor cache memory 1104 and caching
1105;
Node control chip 1106 for connecting two physical nodes, carries out data between described two physical nodes
It replicates;
NUMA managers 1107, by bus 1108, the second processor 1109 being connected with bus and be connected with bus
Two memories 1110 form, wherein, the second processor 1109 is connected with all physical nodes, for the physics
Node is managed, and second memory 1110 is used to store the instruction that the needs of second processor 1109 call, described total
Line 1108 is used to implement the connection communication between the second processor 1109 and second memory 1110.
Specifically, the bus 1108 can be industry standard architecture (Industry Standard
Architecture, referred to as ISA) bus, external equipment interconnection (Peripheral Component, referred to as PCI) bus
Or extended industry-standard architecture (Extended Industry Standard Architecture, referred to as EISA) is total
Line etc..The bus 1108 can be divided into address bus, data/address bus, controlling bus etc..For ease of representing, only with one in Figure 11
Thick line represents, it is not intended that an only bus or a type of bus.
For second memory 1110 for storing executable program code, which includes computer-managed instruction.
Second memory 1110 may include high-speed RAM memory, it is also possible to further include nonvolatile memory (non-volatile
Memory), a for example, at least magnetic disk storage.
Specifically, the first processor 1102 and second processor 1109 may be a central processing unit (Central
Processing Unit, referred to as CPU) or specific integrated circuit (Application Specific Integrated
Circuit, referred to as ASIC) or be arranged to implement the embodiment of the present invention one or more integrated circuits.
Specifically, the second processor 1109 is used for:
When process P0 moves to logical node j from logical node i, the data accessed according to the process P0 are in logic section
The virtual address of point i determines physical address of the data in the logical node i of the process P0 access;
According to the data that the P0 is accessed in the physical address of the logical node i, the data that the process P0 is accessed
The caching 1105 of the logical node j is copied to from the first memory 1103 of the logical node i;
If it is determined that the data that the process P0 is accessed meet transition condition, the process P0 data accessed are patrolled from described
The caching 1105 for collecting node j is migrated into the first memory 1103 of the logical node j.
Specifically, the second processor 1109 is additionally operable to:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j are sent not in same physical node to node control chip 1106
Notification message, the notification message include the data of process P0 access in the physical address of the logical node i, the section
Point control chip 1106 respectively with the physical node where the logical node i and the physical node where the logical node j
Be connected so that the node control chip by the data that the process P0 is accessed from the first memory of the logical node i
The caching 1105 of the logical node j is copied in 1103;
If in same physical node, the process P0 data accessed are answered by the logical node i and logical node j
Make the caching 1105 of the logical node j.
Optionally, the second processor 1109 is additionally operable to whether judge the logical node i and logical node j
In same physical node;
If the logical node i and the logical node j are sent not in same physical node to node control chip 1106
Notification message, in the notification message comprising the data that the process P0 is accessed the logical node i physical address so that
Obtain the processor high speed buffer storage 1104 in the logical node i that the node control chip accesses the process P0
In data, the processing of the logical node j is copied to from the processor high speed buffer storage 1104 of the logical node i
In device cache memory 1104;
If the logical node i and logical node j is patrolled in same physical node, the process P0 access described
The data in the processor high speed buffer storage 1104 of node i are collected, from the processor high speed buffer-stored of the logical node i
It is copied in device 1104 in the processor high speed buffer storage 1104 of the logical node j;
The first notification message is sent to all logical nodes, first notification message is used to that the process P0 to be notified to access
The data in the processor high speed buffer storage 1104 of the logical node i be copied to the place of the logical node j
It manages in device cache memory 1104.
Specifically, the second processor 1109 is additionally operable to:The data of the process P0 access are established in the logic section
The virtual address of point j and the mapping relations of physical address.
It, can be in a process from source based on the computer system an embodiment of the present invention provides a kind of computer system
After logical node is migrated to purpose logical node, when the data that the process accesses meet transition condition, quickly by described in
The data that process accesses promote the speed of Data Migration from the memory that the caching of the destination node moves to the destination node
Degree, and then improve systematic entirety energy.
The above description is merely a specific embodiment, but protection scope of the present invention is not limited thereto, any
Those familiar with the art in the technical scope disclosed by the present invention, can readily occur in change or replacement, should all contain
Lid is within protection scope of the present invention.Therefore, protection scope of the present invention should be based on the protection scope of the described claims.
Claims (12)
1. a kind of data migration method, which is characterized in that NUMA architecture is by multiple physical nodes, node control chip and NUMA pipes
Device is managed to form, wherein, each physical node is divided into one or more logical nodes, and each logical node is assigned first
Processor, the first memory, first processor cache memory and caching;The node control chip is for two objects of connection
Node is managed, carries out the duplication of data between described two physical nodes;The NUMA managers by bus, are connected with bus
Second processor and the second memory composition being connected with bus, wherein, the second processor and all physical node phases
Connection, for being managed to the physical node, second memory is used to store what the second processor needs called
Instruction, this method are applied to the NUMA managers, and this method includes:
In process P0 after logical node i moves to logical node j, the data accessed according to the process P0 are in logical node i
Virtual address, determine the physical address of data that the process P0 accesses in the logical node i;
According to the data that the P0 is accessed in the physical address of the logical node i, the data that the process P0 is accessed are from institute
State the caching that the logical node j is copied in the first memory of logical node i;
If the data that the process P0 is accessed meet transition condition, by the data that the process P0 is accessed from the logical node j
Caching migrate into the first memory of the logical node j.
2. according to the method described in claim 1, it is characterized in that, described move to logic section in process P0 from logical node i
During point j, according to the data that the process P0 is accessed in the virtual address of logical node i, the data that the process P0 is accessed are determined
After the physical address of the logical node i, this method further includes:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, do not send to the node control chip and notify
Message, the notification message include the data of process P0 access in the physical address of the logical node i, the node control
Coremaking piece is connected respectively with the physical node where the logical node i and the physical node where the logical node j, so that
Described in the node control chip copies to from the first memory of the logical node i data that the process P0 is accessed
The caching of logical node j;
If in same physical node, the process P0 data accessed are copied to by the logical node i and logical node j
The caching of the logical node j.
3. according to the method described in claim 1, it is characterized in that, described move to logic section in process P0 from logical node i
During point j, according to the data that the process P0 is accessed in the virtual address of logical node i, the data that the process P0 is accessed are determined
After the physical address of the logical node i, this method further includes:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, do not send notice to node control chip and disappear
It ceases, physical address of the data in the logical node i of process P0 access is included in the notification message, so that described
The number in the first processor cache memory of the logical node i that node control chip accesses the process P0
According to copying to the first processor of the logical node j from the first processor cache memory of the logical node i
In cache memory;
If the logical node i and logical node j in same physical node, the process P0 access in the logic section
Data in the first processor cache memory of point i, from the first processor caches of the logical node i
It is copied in device in the first processor cache memory of the logical node j;
Send the first notification message to all logical nodes, first notification message be used to the process P0 be notified to access
Data in the first processor cache memory of the logical node i are copied at the first of the logical node j
It manages in device cache memory.
4. according to claim 1-3 any one of them methods, which is characterized in that described if it is determined that the number that the process P0 is accessed
According to transition condition is met, the caching of process P0 data from the logical node j accessed is migrated to the logical node j
The first memory in after, this method further includes:
The data of the process P0 access are established in the virtual address of the logical node j and the mapping relations of physical address.
5. a kind of data migration device, which is characterized in that the device includes:Determination unit, copied cells and migration units;
The determination unit, for after logical node i moves to logical node j, being accessed in process P0 according to the process P0
Data in the virtual address of logical node i, determine data that the process P0 is accessed in the logical node i physically
Location;
The copied cells, for according to the data that the P0 is accessed the logical node i physical address, by the process
The data that P0 is accessed copy to the caching of the logical node j from the memory of the logical node i;
The migration units, if meeting transition condition for the process P0 data accessed, the number that the process P0 is accessed
It is migrated according to from the caching of the logical node j into the memory of the logical node j.
6. device according to claim 5, which is characterized in that the device further includes:Judging unit;
The judging unit, for judging the logical node i and the logical node j whether in same physical node;
The copied cells is specifically used for:
If the logical node i and the logical node j in same physical node, do not send notice to node control chip and disappear
Breath, the notification message include the data of process P0 access in the physical address of the logical node i, the node control
Chip is connected respectively with the physical node where the logical node i and the physical node where the logical node j, so that
The data that the process P0 is accessed are copied to the logic section by the node control chip from the memory of the logical node i
The caching of point j;
If in same physical node, the process P0 data accessed are copied to by the logical node i and logical node j
The caching of the logical node j.
7. device according to claim 5, which is characterized in that the copied cells is additionally operable to:
If the logical node i and the logical node j in same physical node, do not send notice to node control chip and disappear
It ceases, physical address of the data in the logical node i of process P0 access is included in the notification message, so that described
The data in the processor high speed buffer storage of the logical node i that node control chip accesses the process P0,
The processor high speed buffering that the logical node j is copied to from the processor high speed buffer storage of the logical node i is deposited
In reservoir;
If the logical node i and logical node j in same physical node, the process P0 access in the logic section
Data in the processor high speed buffer storage of point i are replicated from the processor high speed buffer storage of the logical node i
Into the processor high speed buffer storage of the logical node j;
The device further includes:Transmitting element;
The transmitting element, for sending the first notification message to all logical nodes, first notification message is used to notify
The data in the processor high speed buffer storage of the logical node i that the process P0 is accessed are copied to the logic
In the processor high speed buffer storage of node j.
8. according to claim 5-7 any one of them devices, which is characterized in that the device further includes:Establish unit;
It is described to establish unit, for establishing virtual address and physics of the data in the logical node j of the process P0 access
The mapping relations of address.
9. a kind of computer system, which is characterized in that including:
Multiple physical nodes, wherein, each physical node is divided into one or more logical nodes, and each logical node is divided
Equipped with first processor, the first memory, first processor cache memory and caching;
Node control chip for connecting two physical nodes, carries out the duplication of data between described two physical nodes;
NUMA managers, by bus, the second processor being connected with bus and the second memory being connected with bus composition, wherein,
The second processor is connected with all physical nodes, for being managed to the physical node, in described second
It deposits to store the instruction that the second processor needs call;
The second processor calls executing instruction in second memory by the bus, for:
In process P0 after logical node i moves to logical node j, the data accessed according to the process P0 are in logical node i
Virtual address, determine the physical address of data that the process P0 accesses in the logical node i;
According to the data that the P0 is accessed in the physical address of the logical node i, the data that the process P0 is accessed are from institute
State the caching that the logical node j is copied in the first memory of logical node i;
If it is determined that the data that the process P0 is accessed meet transition condition, by the data that the process P0 is accessed from the logic section
The caching of point j is migrated into the first memory of the logical node j.
10. computer system according to claim 9, which is characterized in that move to logic from logical node i in process P0
During node j, according to the data that the process P0 is accessed in the virtual address of logical node i, the number that the process P0 is accessed is determined
According to after the physical address of the logical node i, the second processor is called by the bus in second memory
Instruction, is specifically used for:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, do not send to the node control chip and notify
Message, the notification message include the data of process P0 access in the physical address of the logical node i, the node control
Coremaking piece is connected respectively with the physical node where the logical node i and the physical node where the logical node j, so that
Described in the node control chip copies to from the first memory of the logical node i data that the process P0 is accessed
The caching of logical node j;
If in same physical node, the process P0 data accessed are copied to by the logical node i and logical node j
The caching of the logical node j.
11. computer system according to claim 9, which is characterized in that move to logic from logical node i in process P0
During node j, according to the data that the process P0 is accessed in the virtual address of logical node i, the number that the process P0 is accessed is determined
According to after the physical address of the logical node i, the second processor is called by the bus in second memory
It executes instruction, for:
Judge the logical node i and the logical node j whether in same physical node;
If the logical node i and the logical node j in same physical node, do not send notice to node control chip and disappear
It ceases, physical address of the data in the logical node i of process P0 access is included in the notification message, so that described
The number in the first processor cache memory of the logical node i that node control chip accesses the process P0
According to copying to the first processor of the logical node j from the first processor cache memory of the logical node i
In cache memory;
If the logical node i and logical node j in same physical node, the process P0 access in the logic section
Data in the first processor cache memory of point i, from the first processor caches of the logical node i
It is copied in device in the first processor cache memory of the logical node j;
Send the first notification message to all logical nodes, first notification message be used to the process P0 be notified to access
Data in the first processor cache memory of the logical node i are copied at the first of the logical node j
It manages in device cache memory.
12. according to claim 9-11 any one of them computer systems, which is characterized in that described if it is determined that the process P0
The data of access meet transition condition, and the caching of process P0 data from the logical node j accessed is migrated to described
After in the first memory of logical node j, the second processor calls executing instruction in second memory, for:
The data of the process P0 access are established in the virtual address of the logical node j and the mapping relations of physical address.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086085.XA CN104917784B (en) | 2014-03-10 | 2014-03-10 | A kind of data migration method, device and computer system |
PCT/CN2015/070373 WO2015135383A1 (en) | 2014-03-10 | 2015-01-08 | Data migration method, device, and computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086085.XA CN104917784B (en) | 2014-03-10 | 2014-03-10 | A kind of data migration method, device and computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917784A CN104917784A (en) | 2015-09-16 |
CN104917784B true CN104917784B (en) | 2018-06-05 |
Family
ID=54070904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410086085.XA Active CN104917784B (en) | 2014-03-10 | 2014-03-10 | A kind of data migration method, device and computer system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104917784B (en) |
WO (1) | WO2015135383A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569732B (en) * | 2015-10-12 | 2021-04-20 | 中兴通讯股份有限公司 | Data migration method and device |
CN107102898B (en) * | 2016-02-23 | 2021-04-30 | 阿里巴巴集团控股有限公司 | Memory management and data structure construction method and device based on NUMA (non Uniform memory Access) architecture |
US9936019B2 (en) * | 2016-03-16 | 2018-04-03 | Google Llc | Efficient live-migration of remotely accessed data |
CN105827453A (en) * | 2016-04-25 | 2016-08-03 | 浪潮电子信息产业股份有限公司 | NUMA domain setting method in computer system with complex topological structure |
CN106250350A (en) * | 2016-07-28 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | A kind of caching of page read method based on NUMA architecture and system |
CN108924244B (en) * | 2018-07-24 | 2022-02-25 | 阿里巴巴(中国)有限公司 | Distributed system and flow distribution method and device for same |
CN111143244B (en) * | 2019-12-30 | 2022-11-15 | 海光信息技术股份有限公司 | Memory access method of computer equipment and computer equipment |
CN111459914B (en) * | 2020-03-31 | 2023-09-05 | 北京金山云网络技术有限公司 | Optimization method and device of distributed graph database and electronic equipment |
CN112667160A (en) * | 2020-12-25 | 2021-04-16 | 深圳创新科技术有限公司 | Rapid equalization method and device for mass storage system |
CN113918527B (en) * | 2021-12-15 | 2022-04-12 | 西安统信软件技术有限公司 | Scheduling method and device based on file cache and computing equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617113A (en) * | 2003-11-13 | 2005-05-18 | 国际商业机器公司 | Method of assigning virtual memory to physical memory, storage controller and computer system |
CN101273332A (en) * | 2005-09-30 | 2008-09-24 | 英特尔公司 | Thread-data affinity optimization using compiler |
US7756943B1 (en) * | 2006-01-26 | 2010-07-13 | Symantec Operating Corporation | Efficient data transfer between computers in a virtual NUMA system using RDMA |
CN102326149A (en) * | 2011-07-28 | 2012-01-18 | 华为技术有限公司 | Realization method and apparatus for internal memory migration |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271401B (en) * | 2008-04-23 | 2010-04-14 | 北京航空航天大学 | Server cluster unit system with single system image |
CN103365717B (en) * | 2013-06-25 | 2016-08-31 | 华为技术有限公司 | Memory pool access method, Apparatus and system |
-
2014
- 2014-03-10 CN CN201410086085.XA patent/CN104917784B/en active Active
-
2015
- 2015-01-08 WO PCT/CN2015/070373 patent/WO2015135383A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617113A (en) * | 2003-11-13 | 2005-05-18 | 国际商业机器公司 | Method of assigning virtual memory to physical memory, storage controller and computer system |
CN101273332A (en) * | 2005-09-30 | 2008-09-24 | 英特尔公司 | Thread-data affinity optimization using compiler |
US7756943B1 (en) * | 2006-01-26 | 2010-07-13 | Symantec Operating Corporation | Efficient data transfer between computers in a virtual NUMA system using RDMA |
CN102326149A (en) * | 2011-07-28 | 2012-01-18 | 华为技术有限公司 | Realization method and apparatus for internal memory migration |
Also Published As
Publication number | Publication date |
---|---|
WO2015135383A1 (en) | 2015-09-17 |
CN104917784A (en) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104917784B (en) | A kind of data migration method, device and computer system | |
US9952975B2 (en) | Memory network to route memory traffic and I/O traffic | |
US20240314072A1 (en) | Network interface for data transport in heterogeneous computing environments | |
US10169080B2 (en) | Method for work scheduling in a multi-chip system | |
JP6314355B2 (en) | Memory management method and device | |
US8473667B2 (en) | Network on chip that maintains cache coherency with invalidation messages | |
WO2016082793A1 (en) | Cache memory system and method for accessing cache line | |
CN110869913A (en) | Memory system for data processing network | |
US8943294B2 (en) | Software architecture for service of collective memory and method for providing service of collective memory using the same | |
DE102020133262A1 (en) | Workload scheduler for memory allocation | |
US20150254182A1 (en) | Multi-core network processor interconnect with multi-node connection | |
KR102064764B1 (en) | Communication of message signalled interrupts | |
CN101042679A (en) | Method and system for maintenance memory consistency | |
KR102043276B1 (en) | Apparatus and method for dynamic resource allocation based on interconnect fabric switching | |
US20150254183A1 (en) | Inter-chip interconnect protocol for a multi-chip system | |
US20150254207A1 (en) | Method and system for ordering i/o access in a multi-node environment | |
CN103345451A (en) | Data buffering method in multi-core processor | |
CA3173088A1 (en) | Utilizing coherently attached interfaces in a network stack framework | |
EP3788494B1 (en) | Transfer protocol in a data processing network | |
US20090083496A1 (en) | Method for Improved Performance With New Buffers on NUMA Systems | |
JP2021522608A (en) | Data processing network with flow compression for streaming data transfer | |
US9983994B2 (en) | Arithmetic processing device and method for controlling arithmetic processing device | |
CN110447019B (en) | Memory allocation manager and method for managing memory allocation performed thereby | |
CN110221985A (en) | The apparatus and method of across chip maintenance buffer consistency strategy | |
CN114402304A (en) | Memory sharing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |