CN110249318A - Cache replacement system and method - Google Patents

Cache replacement system and method Download PDF

Info

Publication number
CN110249318A
CN110249318A CN201780085816.0A CN201780085816A CN110249318A CN 110249318 A CN110249318 A CN 110249318A CN 201780085816 A CN201780085816 A CN 201780085816A CN 110249318 A CN110249318 A CN 110249318A
Authority
CN
China
Prior art keywords
cache
score
entry
cache entries
specified
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.)
Pending
Application number
CN201780085816.0A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN110249318A publication Critical patent/CN110249318A/en
Pending legal-status Critical Current

Links

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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/16General purpose computing application
    • G06F2212/163Server or database system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy

Abstract

Provide a kind of for managing the device of the cache of memory buffers entry, described device includes: processor, is used for: receiving the snapshot of the cache entries;The snapshot based on each of the cache entries calculates following values for the respective cache entry: indicating the period score using score and the useful life for indicating the respective cache entry of the average reference number of the respective cache entry per unit time;And according to the calculated subset using the specified cache entries for needing to be replaced of the value of score and the period score.

Description

Cache replacement system and method
Background technique
Present invention cache management involved in some examples, and more specifically but not exclusively to cache replace Change strategy.
Cache can be used to improve performance in hardware and software application program.Page cache is protected to by operating system The cache, etc. that the disc page deposited carries out, is stored in not used main memory.In another example, network Caching is the interim storage that carries out to network documentation in order to improve performance.In cloud computing and cloud network, open virtual is handed over Change planes (open virtual switch, OVS) using caching mechanism operating system kernel level (data path) handle Incoming industry The speed ratio of business is fast in user class.In the cloud network of large scale deployment calculate node, local cache low efficiency be may result in Network bottleneck.Therefore, the cache policy implemented becomes most important.
The capacity of each cache is limited, therefore needs to replace entry when exceeding cache capacity, otherwise high speed Process performance provided by caching can reduce.
The performance of cache policy is measured by miss rate, and miss rate is defined as in cache not finding reference The number of entry.The target of cache replacement strategy is to improve performance by reducing miss rate to the maximum extent.
Existing cache replacement strategy, such as least recently used (least recently used, LRU), based on real Existing simplicity.As computing capability gradually increases and is readily available, more complex algorithm, such property can be applied The amplitude that can decline is smaller.
It is the most common cache replacement strategy method list below:
* B é l á dy algorithm is based on the principle by the entry cited in farthest future superseded from cache.This reality It is correct, but actually and infeasible for applying mode theoretically, since it is desired that inputting progress perfect forecast to Incoming.
* first in first out (First In First Out, FIFO) and last in, first out (Last In First Out, LIFO) Method is easy to implement.However, the performance of both methods is relatively poor compared with other existing cache replacement strategies.
* other existing more advanced and more complicated exemplary cache replacement policies include: least recently used (Least-Recently Used, LRU), (Most-Recently Used, MRU), puppet LRU (Pseudo- are at most used recently LRU, PLRU), most it is short it is nearest using interval (Low Inter-reference Recency Set, LIRS), random replacement (Random Replacement, RR), segmentation LRU (Segmented LRU, SLRU), minimum use (Least-Frequently Used, LFU), LFU (LFU with Dynamic Aging, LFUDA), rarely needed (Not with dynamic time effect Frequently Used, NFU), adaptability replacement it is cache (Adaptive Replacement Cache, ARC) and adaptive Clock is answered to replace (Clock with Adaptive Replacement, CAR).
It should be noted that LRU is used at most, but compared to more advanced and more complicated algorithm, the performance of this method It is poor.For example, OVS is cached using LRU.
Summary of the invention
The device that the object of the present invention is to provide a kind of for managing the cache of memory buffers entry, method, calculating Machine program products and systems.
Foregoing end other objects are realized by the feature of independent claims.Other embodiment is wanted in appurtenance It asks, is apparent in description content and attached drawing.
According in a first aspect, a kind of device for managing the cache of memory buffers entry includes: processor, use In: receive the snapshot of the cache entries;The snapshot based on each of the cache entries is for described corresponding slow It deposits entry and calculates following values: indicating use score and the instruction of the average reference number of the respective cache entry per unit time The period score of the useful life of the respective cache entry;And according to calculated use score and the institute The value of period score is stated to specify the subset for needing the cache entries being replaced.
According to second aspect, a kind of method for managing the cache of memory buffers entry include: receive it is described slow Deposit the snapshot of entry;The snapshot based on each of the cache entries calculates following for the respective cache entry Value: instruction per unit time the average reference number of the respective cache entry using score and indicate the respective cache item The period score of useful life described in purpose;And according to the calculated value using score and the period score To specify the subset for needing the cache entries being replaced.
With existing cache replacement strategy (such as least recently used (least recently used, LRU)) phase Than described device and/or method improve high speed by reducing cache miss rate and/or increasing cache hit rate The performance of cache replacement policy.Incoming message will not be made (i.e. and/or other based on the replacement (such as implementing by OVS) of LRU ) miss rate be preferably minimized, especially in the high entropy scene of high-speed.Using score for the low caching of rate to be replaced Entry while any cache entries to be looked for novelty, this will increase the entry that will have more utilization rates high and stores in the caches Possibility.Period score, which is used to replace, have been hit but has been less likely the cache entries hit again.Long life span cache bar Mesh is preferentially stored in cache entries.
The cache entries in a period of time and the specified caching for needing to be replaced are assessed using multiple polymerization snapshots Entry is executed parallel with cache activities and/or is held independently of cache activities (reading and writing cache entries) Row improves the performance of cache by reducing or preventing to cache activities generation interference in this way.Parallel and/or simultaneously Cache entries are assessed with other existing cache replacement strategies on the contrary, also (directly relying on when executing cache replacement In) assessment cache entries.
It needs to be replaced according to the combination based on time (i.e. period score) and based on use (using score) is specified Cache entries, in this way according to being based only upon cause that the factor of time or be based only upon uses usually by replacement raising performance.
Described device and/or method are unrelated with caching domain, but can be applied to the difference realized using cache Utility program, application program and use case.
The device according to first aspect or the method according to second aspect, in the first possible embodiment In, the processor is also used to or the method also includes the snapshot needles based on each of the cache entries Dirty score is calculated to the respective cache entry, the dirty score indicates whether handling the respective cache entry;According to The value of the calculated dirty score is specified further to execute the described of the subset.
The dirty pre- scaling of score processing.Caching is not handled by postponing till the replacement for the cache entries being presently processing The future time of entry postpones to reduce.
The device according to first aspect or the method according to second aspect, or according to first or second aspect Any aforementioned embodiments, in second of possible embodiment, the processor is also used to or the method is also wrapped It includes: calculated described the cache entries being arranged using the value of score and the period score according at least to described Sequence;And the subset that the cache entries are specified according to the sequence is required based on replacement score.
Sequence aims at flexibility and designs, and is not built upon specific basic purposes, application, case or scene basis On.Score can be ranked up by value added or decreasing value, this depends on embodiment.
The device according to first aspect or the method according to second aspect, or according to first or second aspect Any aforementioned embodiments obtain the cache entries by the first predefined rate in the third possible embodiment The snapshot, and be aggregated in the snapshot obtained in predefined sliding window.
Snapshot can be obtained by predefined rate independently of other events (such as read/write to cache), The real-time computational efficiency to score is improved in this way.
The device according to first aspect or the method according to second aspect, or according to first or second aspect Any aforementioned embodiments, in the 4th kind of possible embodiment, the specified institute of the cache entry for needing to be replaced The size for stating subset depends on predefined fractional intensity, and the predefined fractional intensity indicates what specified needs were replaced The largest percentage of cache entries.
Above-mentioned replacement is performed according to the largest percentage of cache entries that can be replaced, and is decided whether solely Other entries are stood on to replace other methods of each cache entries and compare, cache can be improved in the execution of above-mentioned replacement Performance.
The device according to first aspect or the method according to second aspect, or according to first or second aspect Any aforementioned embodiments, in the 5th kind of possible embodiment, by the second predefined rate from the cache Eliminate the subset of the specified cache entry for needing to be replaced.
It can execute and eliminate by predefined rate independently of other events (such as read/write to cache), this Sample, which is improved, eliminates efficiency to the real-time of cache entries.
The device according to first aspect or the method according to second aspect, or according to first or second aspect In any aforementioned embodiments, in the 6th kind of possible embodiment, the processor be also used to or the method also It include: at least calculated described to calculate scores vector, and root using the value of score and the period score based on described According to the subset of the specified cache entries for needing to be replaced of the calculated scores vector.
Compared with independent consideration uses score or period score, based on the scores vector for using both score and period score Computational efficiency can be improved.
The device according to first aspect or the method according to second aspect, or according to first or second aspect Any aforementioned embodiments, in the 7th kind of possible embodiment, the storage of each cache entries has the finger of the item of reference Show.
Described device improves network performance using cache entries stored messages stream and/or (other items) stream.
According to device or method described in the 7th of first or second aspect the kind of embodiment, in the 8th kind of possible implementation In mode, at least some items with reference include the high entropy mouse of high-speed.
Described device improves cache for caching the performance of mouse stream, and existing cache replacement strategy can produce Raw bottleneck is so as to cause performance decline.For example, Incoming message (and/or other items) may be in time enough Reason, increases delay and/or the packet loss of message (and/or other items).
According to device or method described in the 7th of first or second aspect the or the 8th kind of embodiment, in the 9th kind of possibility Embodiment in, calculate the described value for using score as the average reference with each cache entries associated each Number, and the described value of the period score is calculated as the service life with the associated item of each cache entries Life.
Using the average item (such as message) in each stream is several and/or service life of the stream distinguishes mouse stream and elephant Stream.Mouse stream including the short life span stream with a few items (such as message) can be such that the efficiency of cache reduces, therefore It is designated as needing to replace.
The device according to first aspect or the method according to second aspect, or according to first or second aspect Any aforementioned embodiments, in the tenth kind of possible embodiment, each cache entries, which are stored with, is calculating cloud and cloud net The exchange current item for the open virtual interchanger (open virtual switch, OVS) implemented at least one of network environment Instruction.
Described device, which improves, is deployed in cloud network calculating main frame (such as in cloud computing and/or cloud network environment) The performance of cache used in OVS.The performance of each OVS is for ensuring the service quality (quality of network in network Of service, QoS) for it is most important.Described device improves the performance of OVS cache, and existing OVS cache Replacement policy can generate bottleneck so as to cause performance decline.For example, collecting server and/or network monitoring in port scan, P2P In the case where, OVS cache management not necessarily can sufficiently handle all Incoming messages in time enough, increase The delay of message and/or packet loss.
Compared with the other trials for improving OVS performance by other methods, by improving the performance of cache to mention The high performance of OVS.For example, data plane development kit (data plane development kit, DPDK), code are excellent Change, Bai Wanliu, priority ranking, sublevel segment search and longest prefix match are the examples of existing method, these exemplary methods are In order to improve different editions OVS performance and implement.
The device according to first aspect or the method according to second aspect, or according to first or second aspect Any aforementioned embodiments, in a kind of the tenth possible embodiment, described device further includes capturing the cache entries Each of snapshot cache monitoring device, or the method also includes: capture every in the cache entries One snapshot, and the processor be also used to or the method also includes: polymerize the snapshot.
The cache monitoring device obtains the snapshot of the cache entries and executes the polymerization, without showing Write the performance for influencing the cache.
Unless otherwise defined, otherwise all technical terms and/or scientific term used herein all have institute of the present invention The equivalent that the those of ordinary skill in the art being related to are commonly understood by.Although similar or identical to those described herein side Method and material can be used in the practice of the embodiment of the present invention or test in, but be described below illustrative methods and/or Material.In case of conflict, be subject to including define patent specification.In addition, these materials, method and example are only It is illustrative, it is not intended to limit.
Detailed description of the invention
Some embodiments of the present invention have only been described in conjunction with the accompanying by example herein.Now specifically in conjunction with attached drawing specifically It is bright, it is emphasized that, shown details is illustrated by way of example and for the illustrative discussion to the embodiment of the present invention.In this way, root According to Detailed description of the invention, how to practice the embodiment of the present invention will be apparent to those skilled in the art.
In the accompanying drawings:
Fig. 1 be provide according to some embodiments of the invention based on use score and period score it is specified need to eliminate it is slow Deposit the flow chart of the method for entry;
Fig. 2 is that is provided according to some embodiments of the invention includes the block diagram of each component in the system for calculate equipment, should Equipment is calculated by being by calculating to manage to be stored in based on the cache entries for using score and the specified needs of period score to eliminate Cache entries in the cache used of uniting;
Fig. 3 is the figure that the description provided according to some embodiments of the invention uses the calculating of score;
Fig. 4 is the figure of the calculating of the description period score provided according to some embodiments of the invention;
Fig. 5 be in system of the description based on the method in conjunction with described in Fig. 1 provided according to some embodiments of the invention and/ Or the block diagram for each component implemented by the system in conjunction with described in Fig. 2;
Fig. 6 be in system of the description based on the method in conjunction with described in Fig. 1 provided according to some embodiments of the invention and/ Or the data flowchart for the data flow implemented by the system in conjunction with described in Fig. 2;
Fig. 7 provide according to some embodiments of the invention according to using, score and period score are specified to need superseded caching The data flowchart of the process of entry;
Fig. 8 be one kind for providing according to some embodiments of the invention be used for using device as described herein and/or system and/ Or method come test measurement cache performance test environment setting schematic diagram;
Fig. 9 is the experiment that the summary provided according to some embodiments of the invention is carried out using setting described in Fig. 8 The table of experimental result;
Figure 10 be provide according to some embodiments of the invention be depicted in the experiment carried out using the setting described in Fig. 8 Under with each virtual machine destination number change miss rate figure;And
Figure 11 be provide according to some embodiments of the invention be depicted in the experiment carried out using the setting described in Fig. 8 Under with each virtual machine destination number change delay figure.
Specific embodiment
Present invention cache management involved in some examples, and more specifically but not exclusively to cache replace Change strategy.
The one aspect of some embodiments of the invention be related to according to for each cache entries it is calculated using score and The device and/or method of the subset for the cache entries that the specified storage of the value of period score needs to be replaced in the caches (such as the code command being stored in the data storage device being performed by one or more processors).Every list is indicated using score The average reference number of position time respective cache entry.The useful life of period score instruction respective cache entry.
Optionally, it is replaced according to the dirty score for indicating whether to handle respective cache entry come specified needs slow Deposit the subset of entry.
With existing cache replacement strategy (such as least recently used (least recently used, LRU)) phase Than described device and/or method improve high speed by reducing cache miss rate and/or increasing cache hit rate The performance of cache replacement policy.Incoming message will not be made (i.e. and/or other based on the replacement (such as implementing by OVS) of LRU ) miss rate be preferably minimized, especially in the high entropy scene of high-speed.Using score for the low caching of rate to be replaced Entry while any cache entries to be looked for novelty, this will increase the entry that will have more utilization rates high and stores in the caches Possibility.Period score, which is used to replace, have been hit but has been less likely the cache entries hit again.Long life span cache bar Mesh is preferentially stored in cache entries.
The cache entries in a period of time and the specified caching for needing to be replaced are assessed using multiple polymerization snapshots Entry is executed parallel with cache activities and/or is held independently of cache activities (reading and writing cache entries) Row improves the performance of cache by reducing or preventing to cache activities generation interference in this way.Parallel and/or simultaneously Cache entries are assessed with other existing cache replacement strategies on the contrary, also (directly relying on when executing cache replacement In) assessment cache entries.
It needs to be replaced according to the combination based on time (i.e. period score) and based on use (using score) is specified Cache entries, in this way according to being based only upon cause that the factor of time or be based only upon uses usually by replacement raising performance.
Described device and/or method are unrelated with caching domain, but can be applied to the difference realized using cache Utility program, application program and use case.
Before explaining at least one embodiment of the present invention in detail, it should be appreciated that the present invention is different in its application Fixed limit described in be described below and/or shown in attached drawing and/or example the construction of component and arrangement and/or method it is thin Section.The present invention can also include other embodiments or be practiced or carried out in various ways.
The present invention can be a kind of system, a kind of method and/or a kind of computer program product.Computer program product can Including computer readable storage medium, computer-readable program instructions are stored on the computer readable storage medium, for making Processor executes each aspect of the present invention.
Computer readable storage medium, which can be, can retain and store the tangible of the instruction used for instruction execution equipment Equipment.Computer readable storage medium can be but not limited to electronic storage device, magnetic storage apparatus, light storage device, electromagnetism Store any appropriately combined of equipment, semiconductor memory apparatus or aforementioned items.
Computer-readable program instructions as described herein can be downloaded to from computer readable storage medium corresponding calculating/ Processing equipment, or outer computer or outer is downloaded to by networks such as internet, local area network, wide area network and/or wireless networks Portion stores equipment.
Computer-readable program instructions can execute on the user computer completely, as independent software packet portion with Executed on the computer of family, part on the user computer with partially execute on the remote computer, or completely in remote computation It is executed on machine or server.In scene below, remote computer can be by including local area network (local area Network, LAN) or wide area network (wide area network, WAN) any kind of network connection to subscriber computer, Or it may be coupled to outer computer (for example, by using internet of Internet Service Provider).In some embodiments In, including programmable logic circuit, field programmable gate array (field-programmable gate array, FPGA) or The electronic circuit of programmable logic array (programmable logic array, PLA) etc. can be by using computer-readable The status information of program instruction keeps the electronic circuit personalized, thereby executing computer-readable program instructions, to execute this hair Bright various aspects.
Herein in conjunction with the flow chart of the method, apparatus (system) and computer program product that provide according to embodiments of the present invention And/or block diagram describes each aspect of the present invention.It should be understood that each box in flowchart and/or the block diagram with And the box combination in flowchart and/or the block diagram can be realized by computer-readable program instructions.
Flow chart and box in attached drawing show system, method and the computer that each embodiment provides according to the present invention The framework of the possible embodiment of program product, function and operation.In this regard, each box in flow chart or block diagram can To indicate that module, section or part, the instruction of instruction include one or more executable instructions for realizing specified logic function. In some alternative embodiments, the various functions mentioned in box can not occur according to the sequence marked in attached drawing.Example Such as, two boxes continuously shown can actually be performed simultaneously substantially or the two boxes sometimes can be by opposite suitable Sequence executes, this depends on related function.It will additionally note that, each box and box in block diagram and/or flow chart Box combination in figure and/or flow chart can be by being realized based on the system of specialized hardware, these systems execute specified function It can or act, or execute the combination of specialized hardware and computer instruction.
As it is used herein, term is eliminated, replacement and is deleted in combination with being deleted, be eliminated and/or with new caching The cache entries that entry is replaced are used interchangeably.
Referring now to figure 1, Fig. 1 be provide according to some embodiments of the invention based on using, score and period score are specified to be needed The flow chart of the method for the cache entries to be eliminated.Step 102 refers to the process of that calculating uses score and period score to 108. Step 110 refers to the process of to 114 needs superseded cache entries using score and period score based on calculated come specified. It is the side of each component in the system 200 including calculating equipment 202 provided according to some embodiments of the invention referring again to Fig. 2, Fig. 2 Block diagram calculates equipment 202 by being stored in based on the cache entries for using score and the specified needs of period score to eliminate to manage The cache entries in cache 204 used by computing system 206.
Computing system 206 may be embodied as, such as one or more of following item: calculate cloud, cloud network, computer network Network, virtual machine (such as monitor of virtual machine, virtual server), interchanger, OVS, virtual network, router, virtual router, The single one group of calculating equipment for calculating equipment (such as client terminal), arranging parallel, Web server, is deposited network server Store up server, local server, remote server, client terminal, mobile device, fixed equipment, kiosk, intelligence electricity Words, laptop computer, tablet computer, wearable computing devices, glasses calculate equipment, wrist-watch calculates equipment and desktop computer.
Computing system 206 improves performance by memory buffers entry using cache 204.Cache 204 can be with It is integrated in computing system 206, and/or may be embodied as External memory equipment.Cache 204 may be embodied as arbitrary access Memory (random access memory, RAM), read-only memory (read-only memory, ROM) and/or non-volatile Property memory, magnetic medium, semiconductor memory devices, hard disk drive, movable memory equipment and optical medium (such as DVD, The storage equipment such as CD-ROM).
Cache 204 may be embodied as the level-one of single-stage high-speed caching, multilevel cache and/or multilevel cache Or it is multistage (such as afterbody high-level cache).
It calculates equipment 202 and may be embodied as being integrated in cache 204 and (such as be embodied as being mounted on cache 204 Interior hardware and/or software), be integrated in computing system 206 (such as be embodied as the hardware being mounted in computing system 206 and/ Or software) and/or be embodied as the external module (such as being embodied as hardware and/or software) communicated with cache 204.
Calculating equipment 202 includes one or more processors 208, and processor 208 is embodied as central processing unit (central Processing unit, CPU), graphics processor (graphics processing unit, GPU), field-programmable gate array Arrange (field programmable gate array, FPGA), digital signal processor (digital signal Processor, DSP), it is specific integrated circuit (application specific integrated circuit, ASIC), fixed Circuit, the processor for being connect with other units and/or dedicated hardware accelerators processed etc..Processor 208 may be embodied as list (these processors may include isomorphism for the processor cluster of parallel processing for a processor, multi-core processor and/or arrangement And/or heterogeneous processor architecture).It should be noted that processor 208 can be designed as being embodied as conduct in the form of hardware Code command (such as in code command as described herein being stored in memory 210 and/or data storage device 212) storage One or more features.
Memory 210 stores the code command that can be implemented by processor 208, such as random access memory of memory 210 (random access memory, RAM), read-only memory (read-only memory, ROM) and/or non-volatile memories Device, magnetic medium, semiconductor memory devices, hard disk drive, movable memory equipment and optical medium (such as DVD, CD- The storage equipment etc. such as ROM).Memory 206 can store code command, and the code command is real when being executed by processor 208 Now in conjunction with the one or more movement of method described in Fig. 1.
Calculating equipment 202 may include data storage device 212 for storing data.Data storage device 212 can be with It is embodied as memory, local hard drive, removable memory module, CD, storage equipment etc. and/or is embodied as remote service Device and/or calculating cloud (such as can be by being connected to the network the calculating cloud that access).It should be noted that can be by handling The code command that device 208 executes is stored in data storage device 212, for example, being loaded into device for processing in memory 210 208 execution parts executed.Data storage device 212 may include one or more data repositories, for example, from cache The snapshot of 204 cache entries obtained.
Optionally, cache monitoring device 214 monitors the cache entries stored in cache 204.Cache prison The snapshot of the acquisition cache entries of equipment 214 is controlled as core dump etc., and snapshot is supplied to and calculates equipment 202.Cache Monitoring device 214 can polymerize snapshot (as described herein) and/or provide snapshot for by different components (such as calculate equipment 202) it is polymerize.Cache monitoring device 214 may be embodied as software instruction and/or be embodied as hardware component, hardware group It in part can be stand-alone assembly, be integrated in cache 204, and/or is integrated in calculating equipment 202, and/or is integrated in calculating In system 206.
Optionally, the cache entries etc. specified by label of cache interface 216, such as by setting cache Instruction can cover the one or more of cache entries, and Lai Zhiding is stored in (such as this paper that the needs in cache 204 are eliminated It is described to be selected by calculating equipment 202) cache entries.Alternatively, or in addition, 216 active of cache interface is from cache Specified cache entries are deleted in 204.Cache interface 216 may be embodied as software instruction and/or be embodied as hardware component, It in the hardware component can be stand-alone assembly, be integrated in cache 204, and/or is integrated in calculating equipment 202, and/or collection At in computing system 206.
Calculating equipment 202 can communicate with user interface 218, and user interface 218 is to user's presentation data and/or including using In the mechanism of input data, one or more of for example following item of this mechanism: touch screen, display, keyboard, mouse, language Sound activates software and microphone.User interface 218 can be used for manually or automatically configuring calculated period score and use and divides Association and the specified cache entries etc. for needing to eliminate between number.As it is used herein, term, which automatically configures, refers to that outside is excellent Change device and/or machine learning program, machine learning program is based on historical data recommended configuration, which is dynamically arranged or every time Setting, this depends on the specific environment that code executes.
At 102, the snapshot that equipment 202 receives the cache entries being stored in cache 204, device for processing are calculated 208 are handled.
The snapshot of cache entries can be captured by cache monitoring device 214.Cache monitoring device obtains cache bar Purpose snapshot and polymerization is executed, the performance without significantly affecting cache.
The snapshot of cache entries is obtained with predefined rate.It can be independently of other events (such as to cache Read/write) snapshot is obtained by predefined rate, improve the real-time computational efficiency to score in this way.
Optionally, it polymerize snapshot.The polymerization of the snapshot of cache entries can be by processor 208, cache monitoring device 214 and/or other calculating equipment execute.The snapshot obtained in predefined sliding window is polymerize.The polymerization can To include handling cache related data, cache related data is divided by stream ID (ufid) divides for calculating to use Several and/or period score and/or dirty score data structure, presses it using score and/or period score and/or dirty score respectively Corresponding definition is calculated together with the attribute of public stream.For example, obtaining source/Target IP, source/mesh in predefined sliding window Mark MAC, source/target port, movement, message, byte, score, period score, dirty score are used.
Each cache entries storage has the instruction of the item of reference.Exemplary item with reference includes the report by network Wen Liu.Described device and/or method improve network performance using the stream of cache entries stored messages.It is at least some that there is reference Item may include high-speed high entropy mouse, for example, being defined as the message flow of the high entropy business mouse stream of high-speed.Described device And/or method improves cache for caching the performance of mouse stream, and existing cache replacement strategy can generate bottleneck So as to cause performance decline.For example, Incoming message (and/or other items) may not handled in time enough, increase Delay and/or the packet loss of message (and/or other items) are added.In the exemplary embodiment, each cache entries are stored with The open virtual interchanger (open virtual switch, OVS) 206 realized in calculating cloud and/or cloud network environment The instruction of exchange current item.Described device and/or method improve and be deployed in cloud network calculating main frame (such as cloud computing and/ Or in cloud network environment) OVS used in cache performance.The performance of each OVS is for ensuring network in network It is most important for service quality (quality of service, QoS).Described device improves the performance of OVS cache, And existing OVS cache replacement strategy can generate bottleneck so as to cause performance decline.For example, collecting clothes in port scan, P2P It is engaged in the case where device and/or network monitor application, OVS cache management not necessarily can sufficiently be handled in time enough All Incoming messages increase delay and/or the packet loss of message.
Compared with the other trials for improving OVS performance by other methods, by improving the performance of cache to mention The high performance of OVS.For example, data plane development kit (data plane development kit, DPDK), code are excellent Change, Bai Wanliu, priority ranking, sublevel segment search and longest prefix match are the examples of existing method, these exemplary methods are In order to improve different editions OVS performance and implement.
At 104, the use score for indicating the average reference number of respective cache entry per unit time is calculated.Draw every time With indicating to be read out cache entries access.Unit time can correspond in the sliding window for executing snapshot polymerization The caching duration of stream.
It can calculate and use the value of score as the average reference number with each cache entries associated each, such as The average message number of each stream.Can using the value of calculation interval score as the useful life with the associated item of each cache entries, Such as the useful life of the stream.It is distinguished using the service life of average reference (such as message) number and/or the stream in each stream Mouse stream is flowed with elephant.Including having the mouse stream of the short life span stream of a small number of references (such as message) that cache can be made Efficiency reduces, therefore is designated as needing to replace.
Scoring as described herein aims at flexibility and designs, be not built upon specific basic purposes, application, case or On the basis of scene.
Mathematically following equation is used to indicate using score:
Wherein:
SusgIt indicates to use score,
T indicates the time used in observation item in the caches,
Ri(t) the reference number (such as the message number observed in snapshot) to the item at time t is indicated.
It is that the description provided according to some embodiments of the invention is based on the calculating use of above-mentioned mathematical formulae referring now to Fig. 3, Fig. 3 The figure of score.X-axis 302 indicates time t.Y-axis 304 indicates reference number.Curve 306 indicates the current reference time changed over time Number Ri(t).Curve 308 indicates accumulative reference number.T indicates to calculate the time range for using score.
It now returns to reference to Fig. 1, at 106, calculates the period score of the useful life of instruction respective cache entry.Cache bar The purpose service life can be defined as from new item (such as stream) is cached to the time for replacing this.It can be by multiple in sliding window Snapshot calculates useful life.Useful life can be calculated, in sliding window to identify the service life cache bar shorter than time T Mesh, etc..
Period score is mathematically indicated by following equation:
If:Then
Sspn=t
Otherwise
Sspn=0.
It is that the description provided according to some embodiments of the invention is based on above-mentioned mathematical formulae calculation interval referring now to Fig. 4, Fig. 4 The figure of score.X-axis 402 indicates time T.Y-axis 404 indicates reference number.Curve 406 indicates the current reference time changed over time Number.The useful life of cache entries is indicated by part 408.Note that Sspn410 are defined as the time that curve 406 reaches X-axis 402, Sspn410 between zero to time T.Curve 412 indicates accumulative reference number.Therefore, SspnIt is to be equal to S using scoreusg Minimum time (stop increase).
Now return to reference to 106 in Fig. 1, optionally, at least based on it is calculated using the value of score and period score come Calculate scores vector.Scores vector may include calculated dirty score, in conjunction with as described in 108.
Scores vector may include the weight distributed to using each in score and/or period score and/or dirty score. Can two dimensions (including when using score and period score) or three dimensions (when further including dirty score) handle scores to Amount.Scores vector can be assessed to reach single dimension, for example, based on being applied to calculate using the function of score and period score Numerical value out.
According to the subset of the specified cache entries for needing to be replaced of calculated scores vector, in conjunction with as described in 112.Example Such as, with it is independent consider to use score or period score compared with, based on using score and the scores vector of period score can be improved Computational efficiency.
At 108, the snapshot based on respective cache entry indicates whether handling corresponding slow for cache entries calculating Deposit the dirty score of entry.The dirty pre- scaling of score processing.Do not have by postponing till the replacement for the cache entries being presently processing The future time of cache entries is handled to reduce delay.
Dirty score can be calculated as follows: if handling cache entries, dirty score is based on (for example, being equal to) Processing average time for being spent of respective cache entry subtracts the time it takes from handle, and otherwise dirty score is zero.
At 110, cache entries can be according to scores vectorEach score SXIt is ranked up, and specified strong by score Spend IXDetermining subset.It may include dirty score in scores vector.
It can be ranked up according to the calculated score in scores vector.Can by value added or decreasing value come pair Score is ranked up, this depends on embodiment.For example, relatively high score can indicate the utilization rate height of cache entries simultaneously And service life is longer, there is no need to be replaced.Lower score can indicate that the utilization rate of cache entries is low and makes It is shorter with the service life, it is therefore desirable to be replaced.
At 112, it can be replaced according to calculated using score and period score and the optionally value of dirty score The subset of specified cache entries.It can be specified according to vector score.
Based on replacement score requirement, the subset of cache entries is specified according to the cache entries of sequence.Replace score requirement Can define threshold value: replacement fractional value is higher than the cache entries that (or being lower than) replacement score requires, and retention score value is lower than (or high In) replacement score require cache entries.
In another example, the requirement of replacement score may include the caching for the predefined quantity or percentage to be replaced Entry, for example, 10000 entries or all entries 10%.
The size of the specified subset for needing the cache entry being replaced can be defined according to predefined fractional intensity, this is pre- Defining fractional intensity indicates the largest percentage of the specified cache entries for needing to be replaced, such as no more than all cache entries 10%.Predefined fractional intensity may include the predefined maximum quantity of the specified cache entries for needing to be replaced, for example, No more than 10000 cache entries can be replaced.For example, first 10000 of specified score highest (or minimum) or preceding 10% Cache entries (based on sequence).
With it is determined whether compared with replacing the methods of each cache entries independently of other entries, according to can carry out The largest percentage (or predefined quantity) of the cache entries of replacement needs the cache entries being replaced to improve height to specify The performance of speed caching.
At 114, the subset of the specified cache entry for needing to be replaced is eliminated from cache.It can be independently of other Event (such as read/write to cache) is executed by predefined rate and is eliminated, and improves the reality to cache entries in this way When eliminate efficiency.
At 116, step 102 is repeated to 108, point of each entry is dynamically updated according to score definition as described herein Number vector.
118, repeat step 110 to 114, according to score as described herein come dynamic replacement cache entries, improve as The performance of cache as described herein.
The movement of the method in conjunction with described in Fig. 1 can mathematically be indicated by following equation:
* it inputs: Cw,β,η,{Is1,Is2,….,Isn, wherein
CwIt indicates to execute quantity of the polymerization to obtain the example of score.
Β indicates the time interval between snapshot,
η indicates the replacement time,
Indicate the scores vector of each cache entries or non-caching entry,
IxIt indicates the replacement intensity of score type X, optionally indicates the percentage for needing the entry being replaced.
* score calculation stages (occurring every Β seconds primary) include polymerization CwThe snapshot of cache entries in a event, and It is calculated for each cache entries
* replace the stage (every η second occur once) include: forIn each score SX, according to score SXItem is carried out Sequence, according to IxThe specified subset for needing the item being replaced and superseded specific items.
Referring now to Figure 5, Fig. 5 is the description that provides according to some embodiments of the invention based on the method in conjunction with described in Fig. 1 System 500 in and/or by the system 200 in conjunction with described in Fig. 2 come the block diagram for each component implemented.Cache monitoring is set Standby 514 (corresponding to the cache monitoring devices 214 in conjunction with described in Fig. 2) transmission is from cache (such as in conjunction with described in Fig. 2 Cache 204) obtain CacheStatst550 (i.e. the snapshots of cache entries).By CacheStatst550 are supplied to meter Equipment 502 (corresponding to the calculating equipment 202 in conjunction with described in Fig. 2) is calculated to calculate and need making for superseded cache entries for specified With score and period score, as described herein.
It calculates equipment 502 to comprise the following modules, these modules may be embodied as being stored in by (one of calculating equipment 502 Or multiple) code command in the memory that executes of processor, and/or it may be embodied as hardware:
* it polymerize 552, polymerize the CacheStats of cache entriest(i.e. snapshot), as described herein;
* score 554, calculate the score (that is, using score, period score and/or dirty score) of each cache entries, such as this Described in text;
* excellent 556 are arranged, cache entries are ranked up according to calculated score, as described herein;
* 558 are selected, according to specified (such as label) cache entries of sequence as the candidate item for needing to be replaced, until Reach predetermined score intensity;
* 560 are replaced, specified cache entries are eliminated from cache.
It is the description that provides according to some embodiments of the invention based on the method in conjunction with described in Fig. 1 referring now to Fig. 6, Fig. 6 It is in system 600 and/or by the system 200 in conjunction with described in Fig. 2 come the data flowchart for the data flow implemented.Cache monitoring System 614 (corresponding to the cache monitoring device 214 in conjunction with described in Fig. 2) transmission is from cache (such as in conjunction with described in Fig. 2 Cache 204) obtain CacheStatst650 (i.e. snapshots).By CacheStatst650 are supplied to calculating equipment 602 (corresponding to the calculating equipment 202 in conjunction with described in Fig. 2) needs superseded cache entries with specified, as described herein.
At 652, receive from monitoring system 614 in time { t1,t2,…,tmAt obtain circulation store up results set (table It is shown as), whereinIt is the circulation storage result at time t.
The snapshot of cache entries is obtained from cache with constant rate of speed.
At 654, the circulation storage result monitored is polymerize every β seconds.
At 656, the stream for providing polymerization (is expressed as).The item of each polymerizationIt is characterized by calculated score.
At 658, monitoring system 614 obtained the snapshot of cache every η seconds.
At 660, cache entries are selected.
At 662, for each calculated score (using score, period score and/or dirty score), cache entries It can be after step 664 and step 666, as described below.
At 664, (ascending or descending order depends on score situation) is ranked up to cache entries according to present score.
At 666, the largest percentage (or quantity) for needing the cache entries being replaced can specify according to expression The ratio Ix of fractional intensity is come the cache entries that mark (i.e. specified) to need to be replaced.
At 668, marked cache entries are eliminated from cache.It, can by deleting the subset of marked stream To delete cache entries from cache.
Referring now to Fig. 7, Fig. 7 be the description that provides according to some embodiments of the invention based on the method in conjunction with described in Fig. 1 and/ Or implemented by the system 200 in conjunction with described in Fig. 2 according to using, score and period score are specified to need superseded cache entries Data flowchart.The maximum for indicating the specified cache entries for needing to be replaced is defined for score and period score is used The fractional intensity of percentage.For example, when cache entries store the instruction of multiple message flows, for using score and period score Definition indicates the intensity of the largest percentage of the specified cache entries for needing to be replaced.
In a step 702, the cache entries for needing to be replaced are specified according to for using the fractional intensity of score definition. In step 704, cache entries are ranked up according to period score, in step 706, according to for period score definition The specified cache entries for needing to be replaced of fractional intensity.It should be noted that can be based on the scores vector including dirty score In one of element be ranked up, wherein fractional intensity depends on the intensity vector including dirty intensity.
In recited above and following claims part each embodiment of claimed system and or method and Aspect finds experiment in the following example and supports.
Example
Referring now to following example, these examples illustrate as described herein in a non-limiting manner together with description above Some embodiments of system and or method.
It is that the one kind provided according to some embodiments of the invention is used to use device as described herein referring now to Fig. 8, Fig. 8 And/or system and or method come test measurement cache performance test environment setting schematic diagram.To DevStack (DragonFlow, it is a kind of that the distributed distributed software for exchanging and routing is supported to define network (software defined Networking, SDN) controller)-individual host tested.The cache assessed is used by OVS 2.5. The stream maxsize of cache is set as 1000 (default value 200K).Network topology includes 50 void in 3 networks altogether Quasi- machine (virtual machine, VM).
(each connection 1 to 32768 of random words joint number is sent using NetPerf TCP_CRR (opening multiple TCP connections) It is a), thereby executing full connection pressure test.NetPerf is the benchmark for measuring different type network performance.
Referring now to Fig. 9, Fig. 9 be provide according to some embodiments of the invention using it is shown in fig. 8 setting for use The table of the experimental result of each 30 targets of virtual machine of the experimental summary that system and or method as described herein is carried out.It is real Test the result shows that, relative to existing LRU cache replacement strategy, when the stream for pouring in cache due to the high entropy business of high-speed When amount surges, the miss rate that the Incoming message being input in data path finds matching cache flow can be reduced, wherein high speed is slow It deposits and is used by OVS.
The table is explained using following manner:
* smaller using score, mouse stream is more.
* the useful life of period fraction representation mouse stream.
* the result of optimal result and error rate less than or equal to 2% is shown in bold.
* the result of worst result and error rate greater than 2% is indicated with italic.
Structural conclusion below in relation to specific deployments shown in Fig. 8 setting is realized based on the table:
* to optimize recall rate, using 60% use fractional intensity, and consider 60% period fractional intensity.
* to optimize handling capacity, use fractional intensity using 40-60%.
* optimizing delay is wanted, uses fractional intensity using 40-60%, and consider the period fractional intensity using 40%.
* to optimize shake, use 40% use fractional intensity.
* the overall improvement relative to LRU is obtained as a result, best practice is to use fractional intensity using 40-60%.
0, Figure 10 is that being depicted in of providing according to some embodiments of the invention uses system as described herein referring now to figure 1 And/or method and use in experiment performed by setting described in Fig. 8 with each virtual machine destination number change not ordering The figure of middle rate.It is a character string by the input parameter coding of algorithm, it is as follows: η _ Iusg_Ispn_Ilru_Cw_β_.In Figure 10 Show three figures: " baseline ", " algo 0.5_60_60_0_10000_2_ (algorithm 0.5_60_60_0_10000_2_) " and " algo minima (minimum value-based algorithm) ".Legend " benchmark " refers to that the score not needed when eliminating, i.e., the intensity of each score are 0%.Legend " algo 0.5_60_60_0_10000_2_ (algorithm 0.5_60_60_0_10000_2_) " refers to η=0.5, Iusg= 60%, Ispn=60%, Ilru=0%, CwScore when=10000 and β=2.Legend " algo_minima (minimum value-based algorithm) " Refer to the set of all settings in the case where giving the destination number of each virtual machine, these settings generate minimum and do not order Middle rate.Each point in " algo_minima (minimum value-based algorithm) " curve be the input parameter of the algorithm it is single setting as a result, Therefore " Params (parameter) " is shown as along curve.Other than " Params (parameter) " notation, " Distance (distance) " is gone back Distance of the curve to be drawn from the setting along x-axis is specified for each VM target variable number.
1, Figure 11 is that being depicted in of providing according to some embodiments of the invention uses system as described herein referring now to figure 1 And/or the delay changed in experiment performed by setting described in method and use Fig. 8 with the destination number of each virtual machine Figure.According to the figure, it can be deduced that draw a conclusion: if 25 to 35 VM of each host, using 40% use fractional intensity; If each host is more than 35 VM, 40% LRU fractional intensity is used.
After research following Figure and detailed description, other systems of the invention, method, feature and advantage are for ability It is for field technique personnel or will become apparent from.Wish that all these other systems, method, feature and advantage are included in In this specification, within the scope of the invention, and by the protection of appended claims.
To the descriptions of various embodiments of the present invention merely for illustrative purpose, but these descriptions are not intended to exhaustion or are limited to institute Disclosed embodiment.In the case where not departing from the scope and spirit of the embodiment, many modification and variation are for this field Technical staff will be evident.Compared with the technology that can be found in the market, select term as used herein that can preferably explain Principle, practical application or the technological improvement of each embodiment, or make others skilled in the art reason can solve it is disclosed herein Embodiment.
It is expected that during the patent to move to maturity from the application many relevant caches will be developed, therefore term is " high The range of speed caching " is intended in advance include all these new technologies.
Term as used herein " about " refers to ± 10%.
The terms "include", "comprise", " having " and its version indicate " including but not limited to ".This term includes Term " by ... form " and " substantially by ... form ".
Phrase " mainly by ... form " means that constituent or method may include other ingredients and/or step, but premise It is the basic and novel characteristics that other ingredients and/or step will not substantially change required constituent or method.
Unless the context clearly indicates otherwise, "one" and " described " of singular used herein contain including plural number Justice.For example, term " compound " or " at least one compound " may include multiple compounds, it include its mixture.
Word " illustrative " expression " as an example, example or explanation " used herein.It is any " illustrative " real It applies example and is not necessarily to be construed as prior to or is superior to other embodiments, and/or the combination of other embodiments feature is not precluded.
Word " optionally " expression used herein " is provided in some embodiments and is not mentioned in other embodiments For ".The embodiment of any specific of the invention may include multiple " optional " features, unless these features are conflicting.
Throughout this application, various embodiments of the present invention can be presented with range format.It should be understood that the description of range format For the sake of convenienct and succinct, and it is not construed as the fixed limitation to the scope of the invention.Therefore, range is retouched It states and should be considered as the individual number disclosed particularly in all possible subrange and the range.For example, to example The description of range such as from 1 to 6, which should be considered as, has disclosed particularly subrange, for example, from 1 to 3, from 1 to 4, from 1 to 5, Individual digital from 2 to 4, from 2 to 6, from 3 to 6 etc. and in the range, such as 1,2,3,4,5 and 6.The not width of scope tube How is degree, this is all suitable for.
When it is noted that indicating to contain any cited number within the scope of this pointed out when a digital scope Word (score or integer).Phrase " within the scope of number indicated by the number indicated by first and second " and " from first It is indicated count to second indicated by within the scope of number " can be used interchangeably herein, indicate to include first and second institute The number of instruction and all therebetween score and integer.
It will be appreciated that certain features of the invention described in the context of separate embodiments can also group for brevity Conjunction is provided in single embodiment.On the contrary, of the invention each described in the context of single embodiment for brevity A feature can also provide individually or using any suitable sub-portfolio or as any suitable other embodiments of the invention. Certain features described in the context of each embodiment are not considered as the essential characteristic of those embodiments, unless there are no these yuan The element embodiment is invalid.
Herein, all publications, patent and the patent specification referred in this specification all passes through reference this specification knot It closes in the present specification, equally, each individually publication, patent or patent specification are also specific and individually combine herein. In addition, the reference or identification to any reference of the application can not be considered as allowing it is such with reference in the prior art prior to The present invention.For using section header, section header should not be understood as to necessary restriction.

Claims (15)

1. a kind of device (202) of the cache (204) for managing memory buffers entry, which is characterized in that described device (202) include:
Processor (208), is used for:
Receive the snapshot of the cache entries;
The snapshot based on each of the cache entries calculates following values for the respective cache entry:
Indicate the use score of the average reference number of the respective cache entry per unit time, and
Indicate the period score of the useful life of the respective cache entry;And
According to it is described it is calculated it is described be replaced come specified needs using the value of score and the period score it is described slow Deposit the subset of entry.
2. the apparatus according to claim 1 (202), which is characterized in that the processor (208) is also used to based on described slow The snapshot for depositing each of entry calculates dirty score for the respective cache entry, and the dirty score indicates whether just The respective cache entry is being handled, and the subset is further executed according to the value of the calculated dirty score It is described specified.
3. device (202) according to any one of the preceding claims, which is characterized in that the processor (208) is also used In: calculated described the cache entries are arranged using the value of score and the period score according at least to described Sequence;And the subset that the cache entries are specified according to the sequence is required based on replacement score.
4. device (202) according to any one of the preceding claims, which is characterized in that obtained by the first predefined rate The snapshot of the cache entries, and it is aggregated in the snapshot obtained in predefined sliding window.
5. device (202) according to any one of the preceding claims, which is characterized in that the specified institute for needing to be replaced The size for stating the subset of cache entry depends on predefined fractional intensity, the predefined fractional intensity indicate it is specified need into The largest percentage of the cache entries of row replacement.
6. device (202) according to any one of the preceding claims, which is characterized in that press the second predefined rate from institute State the subset that the specified cache entry for needing to be replaced is eliminated in cache (204).
7. device (202) according to any one of the preceding claims, which is characterized in that the processor (208) is also used In at least based on it is described it is calculated it is described calculate scores vector using the value of score and the period score, and according to institute State the subset of the specified cache entries for needing to be replaced of calculated scores vector.
8. device (202) according to any one of the preceding claims, which is characterized in that each cache entries storage has The instruction of the item of reference.
9. device (202) according to claim 8, which is characterized in that at least some items with reference include height The high entropy mouse of rate.
10. device (202) according to claim 8 or claim 9, which is characterized in that calculate the described value using score and make For the average reference number with each cache entries associated each, and calculate the described value of the period score as with The useful life of each associated item of cache entries.
11. device (202) according to any one of the preceding claims, which is characterized in that each cache entries are stored with Calculate at least one of cloud and cloud network environment in implement open virtual interchanger (open virtual switch, OVS) the instruction of the exchange current item of (206).
12. device (202) according to any one of the preceding claims, which is characterized in that further include capturing the caching The cache monitoring device (214) of the snapshot of each of entry, and the processor (208) be also used to polymerize it is described Snapshot.
13. a kind of method for managing the cache of memory buffers entry, which is characterized in that the described method includes:
Receive the snapshot (102) of the cache entries;
The snapshot based on each of the respective cache entry calculates following values for the respective cache entry:
Indicate use score (104) of the average reference number of the respective cache entry per unit time, and
Indicate the period score (106) of the useful life of the respective cache entry;And
According to the calculated caching for using the specified needs of the value of score and the period score to be replaced The subset (112) of entry.
14. according to the method for claim 13, which is characterized in that further include: based on each of described cache entries The snapshot calculate dirty score (108) for the respective cache entry, the dirty score indicates whether handling described Respective cache entry;And the described specified of the subset is further executed according to the value of the calculated dirty score (112)。
15. method described in 3 or 14 according to claim 1, which is characterized in that the specified cache entry for needing to be replaced The size of the subset depends on predefined fractional intensity (112), the predefined fractional intensity indicate it is specified need into The largest percentage of the cache entries of row replacement.
CN201780085816.0A 2017-02-07 2017-02-07 Cache replacement system and method Pending CN110249318A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2017/052607 WO2018145725A1 (en) 2017-02-07 2017-02-07 Systems and methods for cache replacement

Publications (1)

Publication Number Publication Date
CN110249318A true CN110249318A (en) 2019-09-17

Family

ID=58009807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780085816.0A Pending CN110249318A (en) 2017-02-07 2017-02-07 Cache replacement system and method

Country Status (2)

Country Link
CN (1) CN110249318A (en)
WO (1) WO2018145725A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899585B2 (en) 2021-12-24 2024-02-13 Western Digital Technologies, Inc. In-kernel caching for distributed cache
US11797379B2 (en) 2022-02-04 2023-10-24 Western Digital Technologies, Inc. Error detection and data recovery for distributed cache

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136673A1 (en) * 2004-12-20 2006-06-22 Microsoft Corporation Unused item management
CN101236530A (en) * 2008-01-30 2008-08-06 清华大学 High speed cache replacement policy dynamic selection method
CN101534204A (en) * 2008-03-10 2009-09-16 中国网通集团宽带业务应用国家工程实验室有限公司 Streaming media information distribution system and method thereof and user end
CN101945129A (en) * 2010-09-10 2011-01-12 北京易视腾科技有限公司 P2P (Peer to Peer) stream media live-broadcast low-delay transmission method and system thereof
US20140089595A1 (en) * 2011-12-23 2014-03-27 Nevin Hyuseinova Utility and lifetime based cache replacement policy
US20140136792A1 (en) * 2012-11-12 2014-05-15 Eitan Frachtenberg Predictive cache replacement
CN104090852A (en) * 2014-07-03 2014-10-08 华为技术有限公司 Method and equipment for managing hybrid cache
CN104794064A (en) * 2015-04-21 2015-07-22 华中科技大学 Cache management method based on region heat degree
US20160019167A1 (en) * 2013-03-14 2016-01-21 Facebook, Inc. Social cache

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523102B1 (en) * 2000-04-14 2003-02-18 Interactive Silicon, Inc. Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules
US9063864B2 (en) * 2012-07-16 2015-06-23 Hewlett-Packard Development Company, L.P. Storing data in presistent hybrid memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136673A1 (en) * 2004-12-20 2006-06-22 Microsoft Corporation Unused item management
CN101236530A (en) * 2008-01-30 2008-08-06 清华大学 High speed cache replacement policy dynamic selection method
CN101534204A (en) * 2008-03-10 2009-09-16 中国网通集团宽带业务应用国家工程实验室有限公司 Streaming media information distribution system and method thereof and user end
CN101945129A (en) * 2010-09-10 2011-01-12 北京易视腾科技有限公司 P2P (Peer to Peer) stream media live-broadcast low-delay transmission method and system thereof
US20140089595A1 (en) * 2011-12-23 2014-03-27 Nevin Hyuseinova Utility and lifetime based cache replacement policy
US20140136792A1 (en) * 2012-11-12 2014-05-15 Eitan Frachtenberg Predictive cache replacement
US20160019167A1 (en) * 2013-03-14 2016-01-21 Facebook, Inc. Social cache
CN104090852A (en) * 2014-07-03 2014-10-08 华为技术有限公司 Method and equipment for managing hybrid cache
CN104794064A (en) * 2015-04-21 2015-07-22 华中科技大学 Cache management method based on region heat degree

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANILKUMAR VISHNOI ET AL.: ""Effective switch memory management in openflow networks"", 《DEBS "14: PROCEEDINGS OF THE 8TH ACM INTERNATIONAL CONFERENCE ON DISTRIBUTED EVENT-BASED SYSTEMS》 *
郑伟平等: ""流媒体分发体系结构演化和关键技术进展综述"", 《小型微型计算机系统》 *

Also Published As

Publication number Publication date
WO2018145725A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
US11194638B1 (en) Deferred scaling of an ordered event stream
US9160650B2 (en) Enhanced flow entry table cache replacement in a software-defined networking switch
US8965819B2 (en) System and method for effective caching using neural networks
US8533719B2 (en) Cache-aware thread scheduling in multi-threaded systems
EP3089039B1 (en) Cache management method and device
US9477532B1 (en) Graph-data partitioning for workload-balanced distributed computation with cost estimation functions
WO2019014080A1 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
CN105138679B (en) A kind of data processing system and processing method based on distributed caching
CN105183670B (en) Data processing method and device for distributed cache system
CN105094751B (en) A kind of EMS memory management process for stream data parallel processing
Katsikas et al. What you need to know about (smart) network interface cards
CN108376103A (en) A kind of the equilibrium of stock control method and server of cloud platform
CN108781184A (en) System and method for the subregion for providing classified resource in the network device
CN109634744A (en) A kind of fine matching method based on cloud platform resource allocation, equipment and storage medium
US10819821B2 (en) Method and system for allocating content using a content-based centrality metric
CN104881467B (en) Data correlation analysis based on frequent item set and pre-reading method
CN110249318A (en) Cache replacement system and method
CN115904539A (en) Online generation method, device and equipment of segmentation strategy and storage medium
Sun et al. Timed dataflow: Reducing communication overhead for distributed machine learning systems
US10241922B2 (en) Processor and method
CN109565449B (en) Power aware switching using analytics
Ruia et al. Flowcache: A cache-based approach for improving SDN scalability
Orsák et al. High-speed stateful packet classifier based on TSS algorithm optimized for off-chip memories
CN115604269A (en) Load balancing method and device of server, electronic equipment and storage medium
CN107710168B (en) Information processing unit and information processing method

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190917

RJ01 Rejection of invention patent application after publication