CN103649938B - Management work load in multiprocessing computer system - Google Patents

Management work load in multiprocessing computer system Download PDF

Info

Publication number
CN103649938B
CN103649938B CN201280034965.1A CN201280034965A CN103649938B CN 103649938 B CN103649938 B CN 103649938B CN 201280034965 A CN201280034965 A CN 201280034965A CN 103649938 B CN103649938 B CN 103649938B
Authority
CN
China
Prior art keywords
substantial connection
measurement
working load
territory
performance measurement
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
Application number
CN201280034965.1A
Other languages
Chinese (zh)
Other versions
CN103649938A (en
Inventor
G·M·N·丹科尔
A·B·布朗
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103649938A publication Critical patent/CN103649938A/en
Application granted granted Critical
Publication of CN103649938B publication Critical patent/CN103649938B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • G06F9/528Mutual exclusion algorithms by using speculative mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets
    • 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/507Control mechanisms for virtual memory, cache or TLB using speculative control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/602Details relating to cache prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

Disclose a kind of automatic system optimizer, described automatic system optimizer is configured to the process of Optimization Work load in multiprocessing computer system.

Description

Management work load in multiprocessing computer system
Technical field
The present invention relates to management work load in multiprocessing computer system.
Background technology
In multiprocessor computer system, the processing cost of the data in access storer depends on the physical location of the storer relevant to the processor of this storer of access.The frequent access shared with other threads and the multiple threads revising memory area can have benefited from all being close together physically.It reduce the amount obtaining the crossover node business that the cache line be present in the high-speed cache of teleprocessing unit requires.But, place working load and conflict mutually with the more common expectation of balanced operation in all available resources of whole system to increase such high-speed cache substantial connection.And, all working is placed on a single node and local distribute all storeies and will increase high-speed cache substantial connection, but, due to the competition of the enhancing for the resource on this node, usually good performance can not be provided for all working load.
Configure some Automatic Optimal systems so that the best attempting coming based on such as substantial connection measure, working load size or resource contention prediction work load is placed.The quick placement of such prediction optimization device support performance load and correspondingly support quick performance gain.The working load that can not be benefited is unaffected, unless due to be associated or the result of change of working load of link and indirectly influenced.
But may place about the many of working load of dissimilar, the complicated Performance Characteristics in territory owing to existing, the analysis therefore performed by prediction optimization device is complicated.And, the result that prediction work load is placed or the effect being difficult to identify other working loads is difficult to when carrying out large change.The test of prediction optimization device is complicated and is difficult to certainty annuity is robust.Thus the abundant test of prediction optimization device needs is wide in range to produce the degree of confidence of acceptable value.And, when each change heuristics, can need to run a large amount of test.Prediction optimization device is normally guarded in its optimization, to avoid the possibility making performance degradation.
Other Automatic Optimal systems attempt the placement carrying out Optimization Work load through search or experiment.Assuming that have sufficient time and stable performance load, such optimizer based on search can obtain to be placed close to the working load optimized.Optimizer based on search is relatively simple system.But, based on the optimizer of search owing to can require to analyze and may the placing combination of high quantity exponentially increased along with the quantity of working load and there is cost high working time.Optimizer based on search also can due to following but destructive: as long as in an experiment, then other working loads and the working load that carries out testing will affect adversely.
Summary of the invention
Embodiments of the present invention provide a kind of method for management work load in multiprocessing computer system, and described method comprises step:
Limit the set in substantial connection territory for multiple processor core, described in each, substantial connection territory comprises the set of described processor core;
Restriction substantial connection is measured, and described substantial connection measurement is configured to indicate given working load when should be moved to the less substantial connection territory comprising less processor core;
Limit performance measurement, described performance measurement is configured to the performance indicating given working load;
Given working load is measured according to described substantial connection measurement and described performance measurement;
If described substantial connection measures instruction, given working load should be moved to less substantial connection territory, then described working load is moved to less substantial connection territory; Or
If described performance measurement instruction performance reduces, then described working load is moved to larger substantial connection territory.
Described method can comprise further step: if mutually conflicted from the described instruction of described substantial connection measurement and described performance measurement, then solve described conflict about predetermined agreement.Described predetermined agreement can comprise the instruction followed from described performance measurement described working load is moved to larger substantial connection territory.The set in described substantial connection territory can be included in the grade in the substantial connection territory of sorting according to the quantity of processor core in given substantial connection territory.Described method can comprise further step: indicate working load modes of emplacement according to the described instruction from described substantial connection measurement or performance measurement.Described substantial connection is measured and described performance measurement can comprise mutually exclusive measurement.Described substantial connection is measured and can be comprised the measurement that the processing time spent pending datas such as given working loads accounts for the ratio of total processing time.Described performance measurement can comprise the measurement of storage instruction for the execution speed of given working load.Periodically can perform and measure according to described substantial connection and the described measurement of given working load of described performance measurement.The movement of given working load between territory can by amount of decrease.Described method can be performed by operating system demons.
Another embodiment provides a kind of device for management work load in multiprocessing computer system, and described device is operating as:
Limit the set in substantial connection territory for multiple processor core, described in each, substantial connection territory comprises the set of described processor core;
Restriction substantial connection is measured, and described substantial connection measurement is configured to indicate given working load when should be moved to the less substantial connection territory comprising less processor core;
Limit performance measurement, described performance measurement is configured to the performance indicating given working load;
Given working load is measured according to described substantial connection measurement and described performance measurement;
If described substantial connection measures instruction, given working load should be moved to less substantial connection territory, then described working load is moved to less substantial connection territory; Or
If described performance measurement instruction performance reduces, then described working load is moved to larger substantial connection territory.
Further embodiment provides a kind of storage on a computer-readable medium and the computer program that can be loaded in the internal storage of computing machine, comprise the software code partition being configured for the method performed for managing the working load in multiprocessing computer system when running described program on computers, described method comprises step:
Limit the set in substantial connection territory for multiple processor core, described in each, substantial connection territory comprises the set of described processor core;
Restriction substantial connection is measured, and described substantial connection measurement is configured to indicate given working load when should be moved to the less substantial connection territory comprising less processor core;
Limit performance measurement, described performance measurement is configured to the performance indicating given working load;
Given working load is measured according to described substantial connection measurement and described performance measurement;
If described substantial connection measures instruction, given working load should be moved to less substantial connection territory, then described working load is moved to less substantial connection territory; Or
If described performance measurement instruction performance reduces, then described working load is moved to larger substantial connection territory.
Accompanying drawing explanation
By means of only the mode of example, embodiment of the present invention is described now with reference to accompanying drawing, in the accompanying drawings:
Fig. 1 is schematically showing of the computing machine comprising automatic system optimal planning (ASO);
Fig. 2 is schematically showing of the parts of ASO in the computing machine of Fig. 1;
Fig. 3 a is the table of the metric data specification of the ASO illustrated for Fig. 2;
Fig. 3 b is the table illustrating that the tolerance for the ASO of Fig. 2 limits; And
Fig. 4 to Fig. 7 is the process flow diagram that the process performed by the ASO of Fig. 2 is shown.
Embodiment
With reference to Fig. 1, computing machine 101 comprises multiprocessing processor 102 and is mounted with operating system 103, and this operating system 103 is configured to provide processing platform for one or more application program of working load 104 form.Processor 102 provides the performance monitoring unit (PMU) 105 of the predetermined set of the parameter being configured to monitoring processor 102.Operating system (OS) 103 comprises the kernel 106 providing the Core Feature enlivening system optimization device (ASO) 107 and OS103 further.In the present embodiment, ASO107 is user's space demons, and is configured to the parameter from PMU105 input selection, and inputs interior nuclear statistics 108 from kernel 106.ASO107 configures the performance based on optimizing each monitored working load 104 with the PMU105 parameter of input and interior nuclear statistics 108, as will be described in further detail below.Be initially set to default value by for the input PMU105 parameter of ASO107 and interior nuclear statistics 108, this default value can be revised by system manager when OS103 starts.
With reference to Fig. 2, in the present embodiment, ASO107 comprises tolerance collector module 201, ASO data and tolerance storage 202, predictor module 203, verifier module 204, arbitrator module 205, working load placement management device module 206 and one group of substantial connection territory 207.Substantial connection territory 207 is the predetermined set of processor core or grouping that limit for processor 102.Substantial connection territory can comprise any amount of core from single processor core to available all processor cores.In the present embodiment, each substantial connection territory 207 comprises the grade of the respective quantity based on processor core.In the present embodiment, processor 102 comprises two chips, and each chip provides eight cores to produce 16 processor cores altogether respectively.According to processor 102 being divided into five substantial connection territories below:
16 level V territories, each territory comprises respective single core;
Eight fourth stage territories, each territory comprises two cores;
Four third level territories, each territory comprises four cores;
Two slot-level territories, each territory comprises eight cores; And
Books level (book-level) territory, comprises 16 cores.
Tolerance collector module 201 is configured to the predetermined set collecting data with the form of performance data from PMU105, and collects interior nuclear statistics 108 from kernel 106.
The data of collection are stored in ASO data and tolerance storage 202.For just collecting data at each monitored working load 104.In the present embodiment, with reference to Fig. 3 a, collect interior nuclear statistics 108 below:
Wait for the clock period (CCWD) that every director data spends; And
Total every instruction clock cycle (CPI).
Performance data below PMU105 collection:
The speed (ESI/s) of the storage instruction performed.
Each data acquisition and related work load 104 are stored in relatively in ASO data record 301, this related work load 104 is identified by unique working load identifier (WLID).
One group of tolerance 302 is comprised further with reference to Fig. 3 b, ASO.ASO tolerance 302 comprises substantial connection and measures (AM) 303, and the form that this substantial connection measures (AM) 303 is wait pending data to complete the ratio between the processor clock cycle of instruction cost and the total quantity of clock period.AM303 and substantial connection are measured threshold value and are associated, and in the present embodiment, it is 30% that this substantial connection measures threshold value.ASO tolerance comprises the performance measurement (PM) 304 of the form of the speed (ESI/s) of the storage instruction of execution further.PM304 is associated with performance threshold 305, and in the present embodiment, this performance threshold 305 comprises the peak E SI/s calculated by ASO107 for given working load.
Predictor module 203 is configured to monitor substantial connection measurement (AM) 303 for each related work load period, and the AM threshold value of AM303 and 30% is compared.In the present embodiment, measurement period was 5 seconds.If the AM303 for given measurement period drops under AM threshold value, then fallout predictor 203 is configured to not take further action.But if AM303 meets for given measurement period or exceeds AM threshold value, then fallout predictor 203 is configured to send instruction to arbitrator module 205, if possible, recommend less in substantial connection territory 207 of related work load distribution.
Verifier module 204 is configured to and predictor module 203 concurrent working, to measure (PM) 304 for each related work load period ground monitoring performance, and PM304 and PM threshold value 305 is compared.As long as meet for given measurement period PM304 or exceed PM threshold value 305, then validator 204 is configured to not take further action.But if be less than PM threshold value 305 for the PM304 of given measurement, then validator 204 is configured to send instruction to arbitrator module 205, recommends related work load distribution to larger in substantial connection territory 207.For given working load, it is peak E SI/s that validator 204 is configured to PM threshold calculations, and uses it for measuring relevant working load 104.
Arbitrator module 205 is configured to arbitrate the instruction received from fallout predictor 203 and validator 204 in each data period.If only received for by the instruction of given workload distribution to larger or less substantial connection territory 207 from one of fallout predictor 203 and validator 204, then there is not conflict and this instruction be sent to working load placement management device module 206.If receive the instruction of given workload distribution to the conflict in larger and less substantial connection territory 207 from each fallout predictor 203 and validator 204, then moderator 205 is configured to select the suitable instructions for carrying out forwarding to working load placement management device module 206.In the present embodiment, in response to such conflict, moderator 205 is configured to always from validator 204 selection instruction, by given workload distribution to larger substantial connection territory 207, for forwarding to working load placement management device module 206.
In the present embodiment, working load placement management device module 206 is configured to manage measurement period, and indication predicting device module 203 and verifier module 204 perform their respective tolerance at the end of each measurement period measures.In response to the recommendation from predictor module 203 and verifier module 204 received via arbitrator module 205, working load placement management device module 206 is further configured to and determines whether to realize this recommendation, and if be yes, then correspondingly indicate kernel 106.In some cases, working load placement management device module 206 may not realize recommending to increase or to reduce the substantial connection territory for given working load.Working load placement management device module 206 is further configured to for just providing damping facped harmonic system at each monitored working load.There is provided this damping facped harmonic system to reduce the frequency that given working load can change substantial connection territory.Usually, damping facped harmonic system is configured to avoid given working load to turn back to this working load only in the recent given substantial connection territory from its movement.
In the present embodiment, when working load is placed on larger substantial connection territory by working load placement management device 206, for given working load, damping facped harmonic system is set to predetermined value.In the present embodiment, this predetermined value is 20.If be greater than zero for the damping facped harmonic system of each working load, then reduce one in this damping facped harmonic system of each measurement period.As long as damping facped harmonic system is greater than zero, just working load is not placed in smaller domains by safe working load placement management device 206, but independently can be placed in large domain with damping facped harmonic system value.
Thus ASO107 be configured to respective predetermined threshold relatively, measure the form of (AM) and performance measurement (PM) with substantial connection, the working load 104 selected of monitoring is relative to the performance of predetermined metric set 302.For given working load, if substantial connection measurement exceeds substantial connection measure threshold value, then ASO107 indicates kernel 106 to reduce the size in the substantial connection territory that working load runs thereon.If do not meet performance measurement threshold value for given working load performance measurement, then ASO107 indicates kernel 106 to increase the size in the substantial connection territory that working load runs thereon.
Process flow diagram now with reference to Fig. 4 further describes the process performed by tolerance collector module 201.In step 401 place, initiate process in response to the initialization of ASO107, and process moves to step 402.In step 402 place, identify according to ASO data 301 and want monitored working load 104, and process moves to step 403.In step 403 place, identify the step will collecting the data source of data thereon according to ASO data 301, and process moves to step 404.In step 404 place, for the working load that each is relevant, by CCWD, CCPI and ESI/s log in ASO data 301, and within the process period of ASO107, continue this recording processing.
Process flow diagram now with reference to Fig. 5 further describes the process performed by predictor module 203.In step 501 place, initiate process in response to the startup of ASO107, and then process moves to step 502.In step 502 place, identify according to ASO tolerance 302 and want the monitored substantial connection for working load to measure (AM), and process moves to step 503.In step 503 place, for the ASO data 301 collected, the working load 104 monitored for each calculates AM, and process moves to step 504.In step 504 place, AM and the AM of calculating threshold value is compared, and process moves to step 505.In step 505 place, if the AM value of current calculating exceeds AM threshold value, then process moves to step 506.In step 506 place, the recommendation process to related work load being assigned to less substantial connection territory communicates arbitrator module 205, and process moves to step 507.In step 507 place, the signal in the instruction next data cycle from working load placement management device module 206 is waited in process.Upon receipt of such a signal, process turns back to step 503 and carries out as described above.If do not exceed AM threshold value in the AM value of the current calculating in step 505 place, then not to arbitrator module 205 communication response, and process moves to step 507, and carries out as described above.
Process flow diagram now with reference to Fig. 6 further describes the process performed by verifier module 204.In step 601 place, initiate process in response to the startup of ASO107, and then process moves to step 602.In step 602 place, identify according to ASO tolerance 302 and want the monitored performance measurement for working load (PM), and process moves to step 603.In step 603 place, for the ASO data 301 collected, the working load 104 monitored for each calculates PM, and process moves to step 604.In step 604 place, PM and the PM of calculating threshold value is compared, and process moves to step 605.In step 605 place, if the PM value of current calculating is not mated or do not exceeded PM threshold value, then process moves to step 606.In step 606 place, the recommendation process of relevant working load being assigned to larger substantial connection territory communicates arbitrator module 205, and process moves to step 607.In step 607 place, the signal in the instruction next data cycle from working load placement management device module 206 is waited in process.Upon receipt of such a signal, process moves to step 608 turning back to before step 603 processes as mentioned above, to upgrade PM threshold value.If mate in the PM value of the current calculating in step 605 place or exceed PM threshold value, then not to arbitrator module 205 communication response, and process moves to step 707 and processes as mentioned above.
Process flow diagram now with reference to Fig. 7 further describes the process performed by the combination of arbitrator module 205 and working load placement management device module 206, and wherein step 706 and 711 comprises the function of arbitrator module 205.In step 701 place, initiate process when ASO107 starts, and process moves to step 702.In step 702 place, identify and want monitored working load 104, and process is subsequently performed for each monitored working load.Then process moves to step 703 and waits for and passes predetermined data period times, and then moves to step 704.In step 704 place, send signaling about the data cycle to fallout predictor and verifier module 203,204, and process moves to step 705.In step 705 place, if receive result from fallout predictor and verifier module 203,204, then process moves to step 706.In step 706 place, if there is not conflict between result, then process moves to step 707.In step 707 place, check the damping facped harmonic system for related work load, to determine whether to allow any change in substantial connection territory, and if allow, then process moves to step 708.In step 708 place, realize dependent instruction by sending suitable instruction to kernel 106, and process moves to step 709.In step 709 place, upgrade the damping facped harmonic system of related work load to reflect the change in substantial connection territory, and process turns back to step 703, and process as mentioned above.If do not receive response from fallout predictor or verifier module 203,204 in step 705 place, then process moves to step 710, and before turning back to step 703, make the damping facped harmonic system decrement for related work load, and processes as mentioned above.If receive the result of conflict in step 706 place, then process moves to step 711.In step 711 place, select the result from verifier module 203, and process moves to step 707, and process as mentioned above.If do not allow this given working load mobile due to the current damping facped harmonic system of given working load in step 707 place, then process moves to step 710, is wherein turning back to step 703 to make damping facped harmonic system decrement before processing as mentioned above.
In another embodiment, arbitrator module is configured to consider that other input when solving the conflict between fallout predictor and verifier module.In other words, the solution provided by arbitrator module can based on multiple factor.In further embodiment, the function of arbitrator module and working load placement management device module can be provided by independent module.
In further embodiment, if find can not Optimal performance due to unaccommodated environment for ASO, then this ASO can be configured to enter park mode, and and if only if environment designation ASO can provide during performance improvement just wakes up.
In another embodiment, in order to make system not too responsive for the conversion of little performance, the measurement period of predetermined quantity performs the average of AM or PM.If AM average in the continuous time of predetermined quantity meets or exceeds AM threshold value, then recommend less substantial connection territory by fallout predictor.On the contrary, if AM average in the continuous time of this predetermined quantity falls into below PM threshold value, then recommend larger substantial connection territory by validator.
In another embodiment, utilize multiplication factor to expand damping facped harmonic system.When working load is placed in large domain by working load placement management device, damping facped harmonic system is set to damping facped harmonic system × multiplier that X+ is old, and then makes this multiplier increase 1(such as, X=20, initial multiplier=0).As long as damping facped harmonic system is greater than 0, just working load is not placed on less territory by safe working load placement management device, but independently can be placed in large domain with damping facped harmonic system value.If damping facped harmonic system is greater than 0, then in each measurement period, damping facped harmonic system subtracts 1.When damping facped harmonic system arrives 0, reset multiplier.ASO is attempted to the working load of frequent movement, this will increase damping facped harmonic system, but move still allowing the working load more gradually changed everywhere.
In further embodiment, when damping facped harmonic system moves to smaller domains and do not apply multiplier, damping facped harmonic system is set to smaller value.This configuration reduces the translational speed towards smaller domains.Such as, moving from books substantial connection territory to each of monokaryon substantial connection territory, five measurement period can be needed.
In further embodiment, by the startup of delay prediction device and validator, and by restriction, change frequency between substantial connection territory is limited for the operation time period of fallout predictor and validator.
It will be appreciated by the skilled addressee that working load placement management device may not realize some recommendations from fallout predictor or validator.Such as, assuming that two substantial connection territories comprise a core field and two core field.Two working load A and B run.Working load A has been compressed to two core field and current all three cores of working load B has run.Fallout predictor can recommend working load B to be placed in smaller domains, but working load placement management device can determine that it is unacceptable for being placed in two core field by two working loads, and these two working loads are too large and can not be placed on only on a core.Therefore working load placement management device can be configured to working load A is compressed on two cores, and working load B is operated on all three cores.
In further embodiment, fallout predictor is configured to when determining to consider further tolerance when whether reducing the size in substantial connection territory for given working load.Further tolerance like this can be configured to pass validator and reduce the quantity that substantial connection territory changes reversion.Such as, CPI storehouse punctures the potential advantage and latent defect that may be used for weighing the change of substantial connection territory.
In another embodiment, fallout predictor provides the data of the non-uniform element of recognition processor topology.Such as, can on a slot, provide six cores and two cores are provided on another slot.Fallout predictor can be made to know this topology and consider the size of the subdomain of the current field.Then, fallout predictor is configured to communicate minimum domain sizes to working load placement management device, can avoid placing it on too little territory to make working load placement management device.
In further embodiment, validator is configured to the performance histories keeping working load on each territory.Validator is further configured to when not recommending to move back to previous large domain, consider to such as 5% of performance in localization decline a little.Tolerance performance small size decline support working load to move through intermediate field wherein can other territories of remarkable improving SNR to arrive.After performance that the scope in substantial connection territory is sampled effectively, validator can be configured to use the History Performance Data collected, to carry out recommending moving to the territory that working load performs best thereon.Such as, there are the performance measurement of three samples damping facped harmonic system 3 provides to(for) each substantial connection territory in a downward direction.Every one-level once sample, then validator is configured to recommend to move to the substantial connection territory with best average behavior.
In another embodiment, validator and fallout predictor are configured to guarantee that the correlated performance relevant to the attribute of working load is stable attempting in the time period before Optimization Work load.After optimizing application, then in new territory, monitor these tolerance according to identical mode.
In further embodiment, ASO is configured to detect the Iarge-scale system event of such as adding processor or storer or dividing migration event, and can responsively be configured to recommendation and reset all optimization.
It will be appreciated by the skilled addressee that and any applicable tolerance, statistics and measurement can be used to provide the substantial connection of the given application being suitable for ASO to measure and performance measurement.And the restriction in substantial connection territory can change and need not be classification, but be configured to be applicable to any given application for ASO.
Embodiments of the present invention can be applied to single slot system.Such as, it identical core can be favourable for being placed on by the thread with strong interaction.Lock contention provides another chance, and wherein ASO can be favourable in one single chip environment.The software thread that limit competition locks can produce performance improvement to the placement of available hardware thread subset.
With compared with the optimizer searched for, embodiments of the present invention are configured to support comparatively fast and the placement not too destroyed or working load, and not too cautious compared with prediction optimization device.Fallout predictor prevents the movement of working load (it unlikely has benefited from the change in substantial connection territory), and usually stops towards the movement of smaller domains at suitable some place.On the other hand, because validator recovers making any recommendation from fallout predictor being proved to be mistake, therefore, fallout predictor can be not too cautious.
As the result of the less experiment alleviated by predictor module, embodiments of the present invention are configured to and the parallel processing more effectively supporting multiple placement compared with the optimizer searched for or prediction optimization device.Compared with pure experimental program, significantly reduce the amount of required experiment, this is especially favourable in the busy system with many working loads.When the many working loads of single treatment, prediction optimization device is in the face of the forecasting problem of high complexity.
Compared with prediction optimization device, embodiments of the present invention are more prone to carry out testing and robust more.Make two simple components with usual opposed goals use different tolerance to reduce test to pay, and support the test of executed in parallel two parts.After territory is moved, predictor module is configured to collect tolerance from new territory.Thus, fallout predictor has the simplification work whether prediction exists the possibility of improving SNR in the next field.The important process producing optimum performance with which territory of prediction is formed by this to be contrasted.
It will be appreciated by the skilled addressee that embodying device partly or completely of the present invention can be have the common apparatus being configured to the software providing some or all of embodiment of the present invention.This equipment can be individual equipment or one group of equipment, and this software can be single program or batch processing.And, can communicate via any suitable transmission or storage unit for realizing any or all software of the present invention, to make it possible to this Bootload on one or more equipment.
Although by describing the present invention to the description of embodiments of the present invention, although and described in detail embodiment, applicant be not intended to restriction or by any way by the limit of claims in such details.Additional advantage and modification will easily realize for those of ordinary skill in the art.Therefore, the present invention is not limited to the detail of representative device and method in it is more wide in range, and illustrated examples that is shown and that describe.Therefore, when not departing from the scope of general creative concept of applicant, can change according to such details.

Claims (18)

1., for a method for management work load in multiprocessing computer system, described method comprises step:
Limit the set in substantial connection territory for multiple processor core, described in each, substantial connection territory comprises the set of described processor core;
Restriction substantial connection is measured, and described substantial connection measurement is configured to indicate given working load when should be moved to the less substantial connection territory comprising less processor core;
Limit performance measurement, described performance measurement is configured to the performance indicating given working load;
Given working load is measured according to described substantial connection measurement and described performance measurement;
If described substantial connection measures instruction, given working load should be moved to less substantial connection territory, then described working load is moved to less substantial connection territory; Or
If described performance measurement instruction performance reduces, then described working load is moved to larger substantial connection territory;
Described substantial connection measurement comprises the measurement that the processing time spent pending datas such as given working loads accounts for the ratio of total processing time;
Described performance measurement comprises the measurement of storage instruction for the execution speed of given working load.
2. method according to claim 1, comprises further step:
If conflicted from the described instruction of described substantial connection measurement and described performance measurement, then solve described conflict about predetermined agreement.
3. method according to claim 2, wherein, described predetermined agreement comprises the described instruction followed from described performance measurement so that described working load is moved to larger substantial connection territory.
4. the method according to any one in Claim 1-3, wherein, the set in described substantial connection territory is included in the grade in the substantial connection territory of sorting according to the quantity of processor core in given substantial connection territory.
5. the method according to any one in Claim 1-3, comprises further step:
Working load modes of emplacement is indicated according to the described instruction from described substantial connection measurement or described performance measurement.
6. the method according to any one in Claim 1-3, wherein, described substantial connection is measured and described performance measurement comprises mutually exclusive measurement.
7. the method according to any one in Claim 1-3, wherein, periodically performs and to measure according to described substantial connection and the described measurement of given working load of described performance measurement.
8. the method according to any one in Claim 1-3, wherein, the movement of given working load between territory is by amount of decrease.
9. the method according to any one in Claim 1-3, is performed by operating system demons.
10., for a device for management work load in multiprocessing computer system, described device is operating as:
Limit the set in substantial connection territory for multiple processor core, described in each, substantial connection territory comprises the set of described processor core;
Restriction substantial connection is measured, and described substantial connection measurement is configured to indicate given working load when should be moved to the less substantial connection territory comprising less processor core;
Limit performance measurement, described performance measurement is configured to the performance indicating given working load;
Given working load is measured according to described substantial connection measurement and described performance measurement;
If described substantial connection measures instruction, given working load should be moved to less substantial connection territory, then described working load is moved to less substantial connection territory; Or
If described performance measurement instruction performance reduces, then described working load is moved to larger substantial connection territory;
Described substantial connection measurement comprises the measurement that the processing time spent pending datas such as given working loads accounts for the ratio of total processing time;
Described performance measurement comprises the measurement of storage instruction for the execution speed of given working load.
11. devices according to claim 10, are further operable to:
If conflicted from the described instruction of described substantial connection measurement and described performance measurement, then solve described conflict about predetermined agreement.
12. devices according to claim 11, wherein, described predetermined agreement comprises the described instruction followed from described performance measurement so that described working load is moved to larger substantial connection territory.
13. devices according to any one in claim 10 to 12, wherein, the set in described substantial connection territory is included in the grade in the substantial connection territory of sorting according to the quantity of processor core in given substantial connection territory.
14. devices according to any one in claim 10 to 12, are further operable to:
Working load modes of emplacement is indicated according to the described instruction from described substantial connection measurement or described performance measurement.
15. devices according to any one in claim 10 to 12, wherein, described substantial connection is measured and described performance measurement comprises mutually exclusive measurement.
16. devices according to any one in claim 10 to 12, wherein, periodically perform and to measure according to described substantial connection and the described measurement of given working load of described performance measurement.
17. devices according to any one in claim 10 to 12, wherein, the movement of given working load between territory is by amount of decrease.
18. devices according to any one in claim 10 to 12, are provided by operating system demons.
CN201280034965.1A 2011-07-26 2012-06-13 Management work load in multiprocessing computer system Active CN103649938B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11175337.2 2011-07-26
EP11175337 2011-07-26
PCT/IB2012/052984 WO2013014545A1 (en) 2011-07-26 2012-06-13 Managing workloads in a multiprocessing computer system

Publications (2)

Publication Number Publication Date
CN103649938A CN103649938A (en) 2014-03-19
CN103649938B true CN103649938B (en) 2016-01-20

Family

ID=47600570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280034965.1A Active CN103649938B (en) 2011-07-26 2012-06-13 Management work load in multiprocessing computer system

Country Status (6)

Country Link
US (1) US9864641B2 (en)
JP (1) JP2014523598A (en)
CN (1) CN103649938B (en)
DE (1) DE112012002545B4 (en)
GB (1) GB2507229B (en)
WO (1) WO2013014545A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291472B2 (en) * 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US20160179680A1 (en) * 2014-12-18 2016-06-23 Dell Products L.P. Systems and methods for integrated rotation of processor cores
US10228973B2 (en) * 2016-03-08 2019-03-12 Hulu, LLC Kernel policy optimization for computing workloads
US10545674B1 (en) * 2016-06-30 2020-01-28 EMS EP Holding Company LLC Method and system for SSD performance jitter detection and avoidance
US10248534B2 (en) 2016-11-29 2019-04-02 International Business Machines Corporation Template-based methodology for validating hardware features
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
JP6911544B2 (en) * 2017-06-02 2021-07-28 富士通株式会社 Programs, information processing devices and information processing methods
US10698737B2 (en) * 2018-04-26 2020-06-30 Hewlett Packard Enterprise Development Lp Interoperable neural network operation scheduler
KR102563648B1 (en) * 2018-06-05 2023-08-04 삼성전자주식회사 Multi-processor system and method of operating the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469246A (en) * 2002-06-20 2004-01-21 �Ҵ���˾ Apparatus and method for conducting load balance to multi-processor system
CN1523498A (en) * 2003-02-20 2004-08-25 国际商业机器公司 Dynamic processor redistribution between partitions in a computing system
CN101227320A (en) * 2007-12-28 2008-07-23 中国移动通信集团浙江有限公司 Balanced configuration method of multiprocessor system charge
US7451183B2 (en) * 2003-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Assembly and method for balancing processors in a partitioned server
CN101464813A (en) * 2007-12-19 2009-06-24 国际商业机器公司 Automatic workload distribution system and method for multi-core processor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996822B1 (en) 2001-08-01 2006-02-07 Unisys Corporation Hierarchical affinity dispatcher for task management in a multiprocessor computer system
JP4119162B2 (en) 2002-05-15 2008-07-16 株式会社日立製作所 Multiplexed computer system, logical computer allocation method, and logical computer allocation program
JP4148700B2 (en) 2002-05-30 2008-09-10 松下電器産業株式会社 Eye imaging device
JP4308086B2 (en) * 2004-05-31 2009-08-05 富士通株式会社 Autonomous control program, recording medium therefor, autonomous control device, and autonomous control method
US7996842B2 (en) * 2006-03-30 2011-08-09 Oracle America, Inc. Computer resource management for workloads or applications based on service level objectives
US7941805B2 (en) 2006-08-15 2011-05-10 International Business Machines Corporation Affinity dispatching load balancer with precise CPU consumption data
US8484642B2 (en) * 2010-11-17 2013-07-09 Intel Corporation Processor core selection based at least in part upon at least one inter-dependency
US9116750B2 (en) * 2012-08-08 2015-08-25 International Business Machines Corporation Optimizing collective communications within a parallel computer
US9152467B2 (en) * 2013-01-18 2015-10-06 Nec Laboratories America, Inc. Method for simultaneous scheduling of processes and offloading computation on many-core coprocessors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469246A (en) * 2002-06-20 2004-01-21 �Ҵ���˾ Apparatus and method for conducting load balance to multi-processor system
CN1523498A (en) * 2003-02-20 2004-08-25 国际商业机器公司 Dynamic processor redistribution between partitions in a computing system
US7451183B2 (en) * 2003-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Assembly and method for balancing processors in a partitioned server
CN101464813A (en) * 2007-12-19 2009-06-24 国际商业机器公司 Automatic workload distribution system and method for multi-core processor
CN101227320A (en) * 2007-12-28 2008-07-23 中国移动通信集团浙江有限公司 Balanced configuration method of multiprocessor system charge

Also Published As

Publication number Publication date
DE112012002545T5 (en) 2014-06-18
GB2507229A (en) 2014-04-23
US9864641B2 (en) 2018-01-09
US20150242245A1 (en) 2015-08-27
WO2013014545A1 (en) 2013-01-31
GB201402519D0 (en) 2014-04-02
CN103649938A (en) 2014-03-19
GB2507229B (en) 2014-09-10
DE112012002545B4 (en) 2019-12-12
JP2014523598A (en) 2014-09-11

Similar Documents

Publication Publication Date Title
CN103649938B (en) Management work load in multiprocessing computer system
CN110519365B (en) Method for changing equipment service and service changing system
US9720941B2 (en) Fully automated SQL tuning
US20150134831A1 (en) Management method and apparatus
US7831695B1 (en) System and method for it system migration management
US20130198370A1 (en) Method for visualizing server reliability, computer system, and management server
US20190245756A1 (en) Performance adjustment method, apparatus for peformance adjustment, and non-transitory computer-readable storage medium for storing program
CN108763093A (en) A kind of automated testing method and system
CN101505243A (en) Performance exception detecting method for Web application
CN112162891B (en) Performance test method in server cluster and related equipment
US20210065083A1 (en) Method for changing device business and business change system
Xu et al. A heuristic virtual machine scheduling method for load balancing in fog-cloud computing
US20140325520A1 (en) Application thread to cache assignment
CN103150250A (en) Performance detecting system for application program and performance detecting method for application program
JP2021524966A (en) How to verify access to Level 2 cache for multi-core interconnects
CN115269108A (en) Data processing method, device and equipment
EP4113308A1 (en) Enhanced application performance framework
CN109992408B (en) Resource allocation method, device, electronic equipment and storage medium
CN101895426B (en) Data acquisition method and system in network resource evaluation
CN103336726A (en) Method and device detecting multitasking conflicts in Linux system
CN106294067B (en) A kind of virtualization system Self management method for inspecting based on P2P technology
US11960939B2 (en) Management computer, management system, and recording medium
CN109656796B (en) Task selection method and device
CN111506422B (en) Event analysis method and system
CN109992468B (en) Process performance analysis method, device and system and computer storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant