CN109426568A - 用于在加速架构中的自动迁移的技术 - Google Patents
用于在加速架构中的自动迁移的技术 Download PDFInfo
- Publication number
- CN109426568A CN109426568A CN201811004878.7A CN201811004878A CN109426568A CN 109426568 A CN109426568 A CN 109426568A CN 201811004878 A CN201811004878 A CN 201811004878A CN 109426568 A CN109426568 A CN 109426568A
- Authority
- CN
- China
- Prior art keywords
- skid
- calculating
- computing element
- hardware thread
- accelerator
- 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
Links
- 238000013508 migration Methods 0.000 title claims abstract description 78
- 230000005012 migration Effects 0.000 title claims abstract description 78
- 230000002567 autonomic effect Effects 0.000 title claims abstract description 23
- 238000005516 engineering process Methods 0.000 title abstract description 11
- 230000008859 change Effects 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 57
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 34
- 230000001133 acceleration Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 149
- 238000000034 method Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 33
- 230000005611 electricity Effects 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 abstract description 113
- 239000000758 substrate Substances 0.000 description 74
- 238000007726 management method Methods 0.000 description 38
- 238000004891 communication Methods 0.000 description 31
- 230000003287 optical effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 15
- 238000001816 cooling Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 10
- 239000007787 solid Substances 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 230000001737 promoting effect Effects 0.000 description 7
- 239000013307 optical fiber Substances 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000000151 deposition Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 229910052798 chalcogen Inorganic materials 0.000 description 3
- 150000001787 chalcogens Chemical class 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 229910044991 metal oxide Inorganic materials 0.000 description 3
- 150000004706 metal oxides Chemical class 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 229910052760 oxygen Inorganic materials 0.000 description 3
- 239000001301 oxygen Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- YIWGJFPJRAEKMK-UHFFFAOYSA-N 1-(2H-benzotriazol-5-yl)-3-methyl-8-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carbonyl]-1,3,8-triazaspiro[4.5]decane-2,4-dione Chemical compound CN1C(=O)N(c2ccc3n[nH]nc3c2)C2(CCN(CC2)C(=O)c2cnc(NCc3cccc(OC(F)(F)F)c3)nc2)C1=O YIWGJFPJRAEKMK-UHFFFAOYSA-N 0.000 description 1
- 239000004593 Epoxy Substances 0.000 description 1
- MKYBYDHXWVHEJW-UHFFFAOYSA-N N-[1-oxo-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propan-2-yl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(C(C)NC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 MKYBYDHXWVHEJW-UHFFFAOYSA-N 0.000 description 1
- NIPNSKYNPDTRPC-UHFFFAOYSA-N N-[2-oxo-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 NIPNSKYNPDTRPC-UHFFFAOYSA-N 0.000 description 1
- VCUFZILGIRCDQQ-KRWDZBQOSA-N N-[[(5S)-2-oxo-3-(2-oxo-3H-1,3-benzoxazol-6-yl)-1,3-oxazolidin-5-yl]methyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C1O[C@H](CN1C1=CC2=C(NC(O2)=O)C=C1)CNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F VCUFZILGIRCDQQ-KRWDZBQOSA-N 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- JAWMENYCRQKKJY-UHFFFAOYSA-N [3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-ylmethyl)-1-oxa-2,8-diazaspiro[4.5]dec-2-en-8-yl]-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]methanone Chemical compound N1N=NC=2CN(CCC=21)CC1=NOC2(C1)CCN(CC2)C(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F JAWMENYCRQKKJY-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000005621 ferroelectricity Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- SFMJNHNUOVADRW-UHFFFAOYSA-N n-[5-[9-[4-(methanesulfonamido)phenyl]-2-oxobenzo[h][1,6]naphthyridin-1-yl]-2-methylphenyl]prop-2-enamide Chemical compound C1=C(NC(=O)C=C)C(C)=CC=C1N1C(=O)C=CC2=C1C1=CC(C=3C=CC(NS(C)(=O)=O)=CC=3)=CC=C1N=C2 SFMJNHNUOVADRW-UHFFFAOYSA-N 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003696 structure analysis method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
- G06F1/183—Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/0014—Gripping heads and other end effectors having fork, comb or plate shaped means for engaging the lower surface on a object to be transported
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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 the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5025—Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/40—Constructional details, e.g. power supply, mechanical construction or backplane
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q1/00—Details of selecting apparatus or arrangements
- H04Q1/02—Constructional details
- H04Q1/10—Exchange station construction
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1485—Servers; Data center rooms, e.g. 19-inch computer racks
- H05K7/1488—Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
- H05K7/1489—Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures characterized by the mounting of blades therein, e.g. brackets, rails, trays
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1485—Servers; Data center rooms, e.g. 19-inch computer racks
- H05K7/1498—Resource management, Optimisation arrangements, e.g. configuration, identification, tracking, physical location
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/18—Construction of rack or frame
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/20—Modifications to facilitate cooling, ventilating, or heating
- H05K7/20009—Modifications to facilitate cooling, ventilating, or heating using a gaseous coolant in electronic enclosures
- H05K7/20209—Thermal management, e.g. fan control
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/20—Modifications to facilitate cooling, ventilating, or heating
- H05K7/20709—Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
- H05K7/20718—Forced ventilation of a gaseous coolant
- H05K7/20736—Forced ventilation of a gaseous coolant within cabinets for removing heat from server blades
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2200/00—Indexing scheme relating to G06F1/04 - G06F1/32
- G06F2200/20—Indexing scheme relating to G06F1/20
- G06F2200/201—Cooling arrangements using cooling fluid
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0283—Price estimation or determination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Thermal Sciences (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Environmental & Geological Engineering (AREA)
- Cooling Or The Like Of Electrical Apparatus (AREA)
- Multi Processors (AREA)
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Game Theory and Decision Science (AREA)
- Multimedia (AREA)
- Economics (AREA)
- Manufacturing & Machinery (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
Abstract
用于加速的架构中的自动迁移的技术包含多个计算滑撬、加速器滑撬和存储装置滑撬。每一个计算滑撬都包含用于以从目前正在计算滑撬上执行的应用接收指示与该应用关联的计算内核已经被卸载到加速器滑撬的现场可编程门阵列(FPGA)的指示的阶段检测逻辑。阶段检测逻辑进一步监视与应用关联的多个硬件线程,检测是否已经按监视的硬件线程的函数来检测到阶段改变,并且响应于已经检测到阶段改变而将硬件线程迁移到相对于应用目前正在其上执行的中央处理单元(CPU)具有较低性能CPU的另一计算元件。本文描述了其它实施例。
Description
相关申请的交叉参考
本申请要求2017年8月30日提交的印度临时专利申请No.201741030632和2017年11月10日提交的美国临时专利申请No.62/584,401的权益。
背景技术
网络运营商和服务提供商通常依赖于各种加速器技术来加速复杂、大规模计算环境(诸如高性能计算(HPC)和云计算环境)中的工作载荷。这些加速器能配置成以有效率的、并行的方式执行专用计算(例如搜索、模式匹配、信号和图像处理、加密等)。一种此类加速器技术是由能被硬件编程为履行特定任务的逻辑门的阵列构成的现场可编程门阵列(FPGA)。具体地说,FPGA的时钟周期与处理器时钟速率相比相对低,这意味着FPGA相对处理器核一般更功率有效。
相应地,在一些计算架构中,虽然应用的硬件线程正由处理器执行,但某些应用功能性(例如计算内核)可被卸载到FPGA。通常,应用的硬件线程在等待计算内核在FPGA中执行时被暂停。然而,因为硬件线程仅仅被暂停,因此要求软件堆栈对暂停/再继续进行判定,这在某些条件下可能是低效的解决方案。此外,暂停/再继续应用线程目前在毫秒数量级工作(例如通过软件交互来驱动),并且仅考虑二元的解决方案(即暂停/再继续),这在某些计算环境中可能是不灵活的解决方案。
附图说明
本文描述的概念在附图中作为示例而不作为限制被示出。为了示出的简洁和清晰,在图中示出的元件不一定按比例绘制。视情况而定,引用标记已经在图之间被重复以指示对应的或类似的元件。
图1是对于用解聚的资源(disaggregated resource)执行工作载荷的数据中心的至少一个实施例的简化框图;
图2是图1的数据中心的舱(pod)的至少一个实施例的简化框图;
图3是可被包含在图2的舱中的支架的至少一个实施例的透视图;
图4是图3的支架的侧平面正视图;
图5是其中安装了滑撬(sled)的图3支架的透视图;
图6是图5的滑撬的顶侧的至少一个实施例的简化框图;
图7是图6的滑撬的底侧的至少一个实施例的简化框图;
图8是可用在图1的数据中心中的计算滑撬的至少一个实施例的简化框图;
图9是图8的计算滑撬的至少一个实施例的顶透视图;
图10是可用在图1的数据中心中的加速器滑撬的至少一个实施例的简化框图;
图11是图10的加速器滑撬的至少一个实施例的顶透视图;
图12是可用在图1的数据中心中的存储装置滑撬的至少一个实施例的简化框图;
图13是图12的存储装置滑撬的至少一个实施例的顶透视图;
图14是可用在图1的数据中心中的存储器滑撬的至少一个实施例的简化框图;以及
图15是可在图1的数据中心内建立的用于用由解聚的资源构成的管理的节点来执行工作载荷的系统的简化框图。
图16是用于在加速架构中的自动迁移的系统的至少一个实施例的简化框图,所述加速架构包含多个计算滑撬、存储装置滑撬、多个加速器滑撬、网络交换机和资源管理器服务器;
图17是图16的系统的计算滑撬之一的至少一个实施例的简化框图;
图18是可由图16和17的计算滑撬之一建立的环境的至少一个实施例的简化框图;
图19是图16的系统的网络交换机的至少一个实施例的简化框图;
图20是用于将计算内核卸载到现场可编程门阵列(FPGA)的方法的至少一个实施例的简化流程图,所述计算内核可由目前在图16的系统的一个或更多个计算滑撬上执行的应用来执行;
图21A和21B是可由图16-18的计算滑撬之一执行的用于在加速架构中的自动迁移的方法的至少一个实施例的简化流程图;
图22A和22B是应用与具有高性能中央处理单元(CPU)的图16的系统的计算滑撬之一中的另一应用合并的自动迁移的至少一个实施例的简化框图;
图23A和23B是应用从图16的系统的计算滑撬之一的高性能CPU被迁移到具有低性能CPU的计算滑撬中的另一个的自动迁移的至少一个实施例的简化框图;以及
图24A和24B是应用和计算内核到图16的系统的加速器滑撬之一的自动迁移的至少一个实施例的简化框图。
具体实施方式
虽然本公开的概念易受各种修改和备选形式的影响,但其特定实施例已经在附图中作为示例被示出,并且将在本文中被详细描述。然而,应该理解到,没有意图将本公开的概念限制于所公开的具体形式,而是相反,本发明要涵盖与本公开和所附权利要求书一致的所有修改、等效和备选。
在说明书中对“一个实施例”、“一实施例”、“说明性实施例”等的引用指示所描述的实施例可包含具体特征、结构或特性,但每一个实施例可包含或者可能不一定包含该具体特征、结构或特性。而且,此类短语不一定指的是同一实施例。另外,当具体特征、结构或特性结合一实施例进行描述时,不管是否被明确描述,结合其它实施例来实现此类特征、结构或特性被认为在本领域技术人员的知识范围内。此外,应该认识到,以“至少一个A、B和C”形式的列表中包含的项能意味着(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。类似地,以“A、B或C中至少一个”形式的列表中包含的项可意味着(A);(B);(C);(A和B);(A和C);(B和C);或(A, B和C)。
所公开的实施例在一些情况下可以用硬件、固件、软件或它们的任何组合来实现。所公开的实施例也可实现为由易失性或非易失性机器可读(例如计算机可读)存储介质携带的或存储在所述易失性或非易失性机器可读存储介质上的指令,所述指令可由一个或更多个处理器读取和执行。机器可读存储介质可被实施为用于以由机器可读的形式对信息进行存储或传送的任何存储装置、机构或其它物理结构(例如易失性或非易失性存储器、媒体盘或其它媒体装置)。
在附图中,一些结构性或方法特征可在特定布置和/或排序中示出。然而,应该认识到,此类特定布置和/或排序可以不是必需的。而是,在一些实施例中,此类特征可按与说明性图中示出的不同的方式和/或次序来布置。此外,在具体图中包含结构性或方法特征不意图暗示此类特征在所有实施例中都是必需的,并且在一些实施例中,此类特征可能不被包含,或者可与其它特征组合。
现在参考图1,解聚的资源可在其中合作执行一个或更多个工作载荷(例如代表顾客的应用)的数据中心100包含多个舱110、120、130、140,其中的每个舱都包含一行或更多行支架。如本文更详细描述的,每个支架容纳多个滑撬,每个滑撬可被实施为主要配备有具体类型的资源(例如存储器装置、数据存储装置、加速器装置、通用处理器)的计算装置(诸如服务器)。在说明性实施例中,每个舱110、120、130、140中的滑撬连接到多个舱交换机(例如将数据通信路由往和来于舱内的滑撬的交换机)。舱交换机进而与脊柱交换机150连接,脊柱交换机150交换在数据中心100中的舱(例如舱110、120、130、140)之中的通信。在一些实施例中,滑撬可使用英特尔全路径技术与结构连接。如本文更详细描述的,数据中心100中的滑撬内的资源可被分配给含有来自要在工作载荷的执行中共同利用的一个或更多个其它滑撬的资源的组(在本文称为“管理的节点”)。工作载荷能好像属于管理的节点的资源位于同一滑撬上那样被执行。管理的节点中的资源甚至可归于属于不同支架并且甚至属于不同舱110、120、130、140的滑撬。单个滑撬的某些资源可被分配给一个管理的节点,而同一滑撬的其它资源被分配给不同管理的节点(例如一个处理器指配给一个管理的节点和同一滑撬的另一处理器指配给不同管理的节点)。通过将资源解聚的成主要由单个类型的资源构成的滑撬(例如主要包括计算资源的计算滑撬、主要含有存储器资源的存储器滑撬),并且选择性地分配和取消分配解聚的的资源以形成被指配用于执行工作载荷的管理的节点,数据中心100在由含有计算、存储器、存储装置可能还有附加资源的超会聚服务器构成的典型数据中心上提供更有效率的资源使用。因此,数据中心100可比具有相同数量资源的典型数据中心提供更好的性能(例如吞吐量、每秒的操作、时延等)。
现在参考图2,在说明性实施例中,舱110包含支架240的行200、210、220、230的集合。如本文更详细描述的,每个支架240可容纳多个滑撬(例如16个滑撬),并且向容纳的滑撬提供功率和数据连接。在说明性实施例中,每行200、210、220、230中的支架连接到多个舱交换机250、260。舱交换机250包含舱110的支架的滑撬连接到的一组端口252以及将舱110连接到脊柱交换机150以提供到数据中心100中其它舱的连接性的另一组端口254。类似地,舱交换机260包含舱110的支架的滑撬连接到的一组端口262以及将舱110连接到脊柱交换机150的另一组端口264。因此,该对交换机250、260的使用向舱110提供大量冗余。例如,如果交换机250、260中的任一个故障,则舱110中的滑撬仍可通过另一交换机250、260维持与数据中心100的剩余部分(例如其它舱的滑撬)的数据通信。另外,在说明性实施例中,交换机150、250、260可被实施为双模式光学交换机,能够经由光纤的光学信令介质将携带因特网协议(IP)分组的因特网协议通信和根据第二高性能链路层协议(例如英特尔的全路径架构,无限带)的通信两者进行路由。
应该认识到,其它舱120、130、140中的每个舱(以及数据中心100的任何附加舱)可类似地被结构化为在图2中示出的并且关于图2描述的舱110,并且具有类似于舱110的组件(例如每个舱可具有如上所述容纳多个滑撬的支架的行)。此外,虽然示出了两个舱交换机250、260,但应该理解到,在其它实施例中,每个舱110、120、130、140可连接到不同数量的舱交换机(例如提供甚至更多故障转移(failover)能力)。
现在参考图3-5,数据中心100的每个说明性支架240包含两个延长的支柱302、304,它们垂直布置。例如,延长的支柱302、304当部署时可从数据中心100的地板向上延伸。如下面所描述的,支架240还包含配置成支撑数据中心100滑撬的一对或更多对310水平延长的支臂312(在图3中经由虚线椭圆标识)。该对延长的支臂312的一个延长的支臂312从延长的支柱302向外延伸,并且另一延长的支臂312从延长的支柱304向外延伸。
在说明性实施例中,数据中心100的每个滑撬被示出为无底盘滑撬。也就是,每个滑撬具有其上安装了物理资源(例如处理器、存储器、加速器、存储装置等)的无底盘电路板衬底,如下面更详细论述的。因此,支架240配置成接收无底盘滑撬。例如,每对310延长的支臂312定义支架240的滑撬槽320,其配置成接收对应的无底盘滑撬。为了这么做,每个说明性延长的支臂312包含配置成接收滑撬的无底盘电路板衬底的电路板导轨330。每个电路板导轨330被固定到或以别的方式安装到对应延长的支臂312的顶侧332。例如,在说明性实施例中,每个电路板导轨330被安装在对应延长的支臂312的相对于对应延长的支柱302、304的远端。为了图的清晰起见,不是每一个电路板导轨330在每幅图中都可提及。
每个电路板导轨330包含内壁,其定义配置成当滑撬400在支架240的对应滑撬槽320中被接收时接收滑撬400的无底盘电路板衬底的电路板槽380。为了这么做,如图4中所示,用户(或机器人)将说明性无底盘滑撬400的无底盘电路板衬底与滑撬槽320对齐。用户或机器人然后可将无底盘电路板衬底向前滑进到滑撬槽320中,使得无底盘电路板衬底的每个侧边414被接收在定义对应滑撬槽320的该对310延长的支臂312的电路板导轨330的对应电路板槽380中,如图4中所示。通过具有包括解聚的资源的机器人可访问并且机器人可操纵的滑撬,每种类型的资源能独立于彼此并以它们自己的最优刷新率被升级。另外,滑撬配置成与每个支架240中的功率和数据通信线缆盲配对,增强它们的被快速移除、升级、重新安装和/或替代的能力。因此,在一些实施例中,数据中心100可在没有在数据中心层上的人工参与的情况下进行操作(例如执行工作载荷、经历维护和/或升级等)。在其它实施例中,人可以促进数据中心100中的一个或更多个维护或升级操作。
应该认识到,每个电路板导轨330是双侧的。也就是,每个电路板导轨330包含在电路板导轨330的每侧上定义电路板槽380的内壁。用这种方式,每个电路板导轨330能在每一侧上支撑无底盘电路板衬底。因此,可向支架240增加单个附加的延长的支柱,以将支架240变成双支架解决方案,其能容下的滑撬槽320是图3中所示的滑撬槽320两倍。说明性支架240包含七对310延长的支臂312,它们定义对应的七个滑撬槽320,每个滑撬槽配置成接收并支撑对应的滑撬400,如上面所论述的。当然,在其它实施例中,支架240可包含附加或更少对310延长的支臂312(即附加或更少滑撬槽320)。应该认识到,因为滑撬400是无底盘的,因此滑撬400可具有不同于典型服务器的总高度。因此,在一些实施例中,每个滑撬槽320的高度可短于典型服务器的高度(例如短于单个排单元“1U”)。也就是,在每对310延长的支臂312之间的垂直距离可小于标准支架单元“1U”。此外,由于滑撬槽320的高度中的相对减小,支架240的总高度在一些实施例中可比传统支架外壳的高度短。例如,在一些实施例中,每一个延长的支柱302、304可具有6英尺或更小的长度。再者,在其它实施例中,支架240可具有不同尺寸。另外,应该认识到,支架240不包含任何壁、外壳、或诸如此类。而且,支架240是对本地环境开放的无外壳支架。当然,在一些情况下,在支架240形成数据中心100中的行尾支架的那些情形下,端板可附连到延长的支柱302、304之一。
在一些实施例中,各种互连可通过延长的支柱302、304向上或向下路由。为了促进此类路由,每个延长的支柱302、304包含定义其中可定位互连的内部腔室的内壁。通过延长的支柱302、304路由的互连可被实施为任何类型的互连,包含但不限于向每个滑撬槽320提供通信连接的数据或通信互连、向每个滑撬槽320提供功率的功率互连和/或其它类型互连。
在说明性实施例中,支架240包含支撑平台,对应光学数据连接器(未示出)被安装所述支撑平台上。每个光学数据连接器与对应滑撬槽320关联,并且配置成当滑撬400被接收于对应滑撬槽320中时与对应滑撬400的光学数据连接器配对。在一些实施例中,数据中心100中的组件(例如滑撬、支架和交换机)之间的光学连接用盲配对光学连接进行。例如,每个线缆上的门可防止灰尘污染线缆内部的光纤。在连接到盲配对光学连接器机构的过程中,当线缆末端进入连接器机构时,门被推开。随后,线缆内部的光纤进入连接器机构内的凝胶,并且一个线缆的光纤开始与连接器机构内部的凝胶内的另一线缆的光纤接触。
说明性支架240还包含耦合到支架240的交叉支臂的风扇阵列370。风扇阵列370包含一行或更多行冷却风扇372,它们在延长的支柱302、304之间的水平线中对齐。在说明性实施例中,风扇阵列370对于支架240的每个滑撬槽320都包含一行冷却风扇372。如上面所论述的,在说明性实施例中,每个滑撬400都不包含任何板载的冷却系统,并且因此,风扇阵列370为在支架240中接收的每个滑撬400提供冷却。在说明性实施例中,每个支架240还包含与每个滑撬槽320关联的电源。每个电源被固定到定义对应滑撬槽320的该对310延长的支臂312的其中一个延长的支臂312。例如,支架240可包含耦合到或固定到从延长的支柱302延伸的每个延长的支臂312的电源。每个电源包含配置成当滑撬400被接收于对应滑撬槽320中时与滑撬400的功率连接器配对的功率连接器。在说明性实施例中,滑撬400不包含任何板载的电源,并且因此,支架240中提供的电源当对应滑撬400被安装到支架240时向对应滑撬400供电。
现在参考图6,在说明性实施例中,滑撬400配置成如上面所论述的被安装在数据中心100的对应支架240中。在一些实施例中,每个滑撬400可被优化或以别的方式配置用于执行具体任务,诸如计算任务、加速任务、数据存储任务等。例如,滑撬400可被实施为下面关于图8-9所论述的计算滑撬800、下面关于图10-11所论述的加速器滑撬1000、下面关于图12-13所论述的存储装置滑撬1200、或者被优化或以别的方式配置成执行其它专门任务的滑撬(诸如存储器滑撬1400)(下面关于图14被论述)。
如上面所论述的,说明性滑撬400包含无底盘电路板衬底602,其支撑安装在其上的各种物理资源(例如电气组件)。应该认识到,电路板衬底602是“无底盘的”,在于滑撬400不包含机壳或外壳。而是,无底盘电路板衬底602对本地环境开放。无底盘电路板衬底602可由能够支撑安装在其上的各种电气组件的任何材料形成。例如,在说明性实施例中,无底盘电路板衬底602由FR-4玻璃增强环氧树脂层压材料形成。当然,在其它实施例中,可使用其它材料形成无底盘电路板衬底602。
如下面更详细论述的,无底盘电路板衬底602包含改进安装在无底盘电路板衬底602上的各种电器组件的热冷却特性的多个部件。如所论述的,无底盘电路板衬底602不包含机壳或外壳,这可通过减少可能抑制空气流动的那些结构来改进滑撬400的电气组件上的空气流动。例如,因为无底盘电路板衬底602未定位在单独机壳或外壳中,所以没有到无底盘电路板衬底602的背板(例如底盘的背板),所述背板可能抑制电气组件上的空气流动。此外,无底盘电路板衬底602具有配置成减少跨安装到无底盘电路板衬底602的电气组件上的空气流动路径的长度的几何形状。例如,说明性无底盘电路板衬底602具有大于无底盘电路板衬底602的深度606的宽度604。在一个具体实施例中,例如,无底盘电路板衬底602具有大约21英寸的宽度和大约9英寸的深度,与具有大约17英寸的宽度和大约39英寸的深度的典型服务器形成对比。因此,从无底盘电路板衬底602的前缘610延伸向后缘612的空气流动路径608相对于典型服务器具有更短距离,这可改进滑撬400的热冷却特性。更进一步,尽管在图6中未示出,但安装到无底盘电路板衬底602的各种物理资源被安装在对应位置,使得没有两个实质上发热的电气组件彼此遮蔽(如下面更详细论述的)。也就是,没有两个在操作期间产生可观热量(即充分大于标称热量足以负面影响另一电气组件冷却)的电气组件沿气流流动路径608的方向(即沿从无底盘电路板衬底602的前缘610延伸向后缘612的方向)彼此线性成行地被安装到无底盘电路板衬底602。
如上面所论述的,说明性滑撬400包含安装到无底盘电路板衬底602的顶侧650的一个或更多个物理资源620。尽管在图6中示出了两个物理资源620,但应该认识到,在其它实施例中,滑撬400可包含一个、两个或更多个物理资源620。物理资源620可被实施为任何类型的处理器、控制器或能够执行各种任务(诸如计算功能和/或例如取决于滑撬400的类型或预计功能性来控制滑撬400的功能)的其它计算电路。例如,如下面更详细论述的,物理资源620在滑撬400被实施为计算滑撬的实施例中可被实施为高性能处理器,在滑撬400被实施为加速器滑撬的实施例中可被实施为加速器协处理器或电路,在滑撬400被实施为存储装置滑撬的实施例中被实施为存储装置控制器、或者在滑撬400被实施为存储器滑撬的实施例中被实施为存储器装置的集合。
滑撬400还包含安装到无底盘电路板衬底602的顶侧650的一个或更多个附加物理资源630。在说明性实施例中,附加物理资源包含如下面更详细论述的网络接口控制器(NIC)。当然,取决于滑撬400的类型和功能性,在其它实施例中,物理资源630可包含附加或其它电气组件、电路和/或装置。
物理资源620经由输入/输出(I/O)子系统622通信地耦合到物理资源630。I/O子系统622可被实施为用于促进与滑撬400的物理资源620、物理资源630和/或其它组件的输入/输出操作的电路和/或组件。例如,I/O子系统622可被实施为或以别的方式包含用于促进输入/输出操作的存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件装置、通信链路(例如点对点链路、总线链路、导线、线缆、光导、印刷电路板迹线等)、和/或其它组件和子系统。在说明性实施例中,I/O子系统622被示出为或以别的方式包含双倍数据率4(DDR4)数据总线或DDR5数据总线。
在一些实施例中,滑撬400还可包含资源对资源互连624。资源对资源互连624可被实施为能够促进资源对资源通信的任何类型的通信互连。在说明性实施例中,资源对资源互连624被实施为高速点对点互连(例如比I/O子系统622快)。例如,资源对资源互连624可被实施为快速路径互连(QPI)、超路径互连(UPI)或者专用于资源对资源通信的其它高速点对点互连。
滑撬400还包含配置成当滑撬400被安装在对应支架240中时与支架240的对应功率连接器配对的功率连接器640。滑撬400经由功率连接器640从支架240的电源接收功率以向滑撬400的各种电气组件供电。也就是,滑撬400不包含用于向滑撬400的电气组件提供功率的任何本地电源(即板载的电源)。本地或板载的电源的排除促进了无底盘电路板衬底602的总占用面积(footprint)的减少,这如上面所论述的可增加安装在无底盘电路板衬底602上的各种电气组件的热冷却特性。在一些实施例中,功率通过直接在处理器820下面的通孔(例如通过无底盘电路板衬底602的底侧750)被提供给处理器820,提供增加的热预算、附加的电流和/或电压、以及在典型电路板之上的更好的电压控制。
在一些实施例中,滑撬400还可包含配置成与机器人的安装臂或其它结构配对以促进机器人将滑撬600放置在支架240中的安装部件642。安装部件642可被实施为允许机器人抓住滑撬400而不破坏无底盘电路板衬底602或安装到其上的电气组件的任何类型的物理结构。例如,在一些实施例中,安装部件642可被实施为附连到无底盘电路板衬底602的不导电焊盘。在其它实施例中,安装部件可被实施为附连到无底盘电路板衬底602的托架、夹子或其它类似结构。安装部件642的具体数量、形状、大小、和/或组成可取决于配置成管理滑撬400的机器人的设计。
现在参考图7,除了安装在无底盘电路板衬底602的顶侧650上的物理资源630之外,滑撬400还包含安装到无底盘电路板衬底602的底侧750的一个或更多个存储器装置720。也就是,无底盘电路板衬底602被实施为双侧电路板。物理资源620经由I/O子系统622通信地耦合到存储器装置720。例如,物理资源620和存储器装置720可由延伸穿过无底盘电路板衬底602的一个或更多个通孔来通信地耦合。在一些实施例中,每个物理资源620可以通信地耦合到一个或更多个存储器装置720的不同集合。备选地,在其它实施例中,每个物理资源620可以通信地耦合到每个存储器装置720。
存储器装置720可被实施为能够在滑撬400的操作期间存储用于物理资源620的数据的任何类型的存储器装置,诸如任何类型的易失性存储器(例如动态随机存取存储器(DRAM)等)或非易失性存储器。易失性存储器可以是需要功率来维持由介质存储的数据的状态的存储介质。易失性存储器的非限制示例可包含各种类型的随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。可用在存储器模块中的一个具体类型的DRAM是同步动态随机存取存储器(SDRAM)。在具体实施例中,存储器组件的DRAM可符合由JEDEC颁布的标准,诸如对于DDR SDRAM的JESD79F、对于DDR2 SDRAM的JESD79-2F、对于DDR3 SDRAM的JESD79-3F、对于DDR4 SDRAM的JESD79-4A、对于低功率DDR(LPDDR)的JESD209、对于LPDDR2的JESD209-2、对于LPDDR3的JESD209-3、以及对于LPDDR4的JESD209-4(这些标准可在www.jedec.org得到)。此类标准(以及类似标准)可被称为基于DDR的标准,并且实现此类标准的存储装置的通信接口可被称为基于DDR的接口。
在一个实施例中,存储器装置是块可寻址存储器装置,诸如基于NAND或NOR技术的那些存储器装置。存储器装置还可包含下一代非易失性装置,诸如英特尔3D XPointTM存储器或其它字节可寻址原地写(write-in-place)的非易失性存储器装置。在一个实施例中,存储器装置可以是或者可包含使用硫属玻璃的存储器装置、多阈级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、阻性存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、结合了忆阻器技术的磁阻随机存取存储器(MRAM)存储器、包含金属氧化物基、氧空缺基和导电桥随机存取存储器(CB-RAM)的阻性存储器、或者自旋转移扭矩(STT)-MRAM、基于电子自旋磁结存储器的装置、基于磁遂穿结(MTJ)的装置、基于DW(畴壁)和SOT(自旋轨道转移)的装置、基于晶闸管的存储器装置、或者上面任何的组合、或者其它存储器。存储器装置可指的是管芯本身和/或指的是封装的存储器产品。在一些实施例中,存储器装置可包括无晶体管可堆叠交叉点架构,其中存储器单元位于字线和位线的交点处,并且是单独可寻址的,并且其中位存储基于体积电阻的改变。
现在参考图8,在一些实施例中,滑撬400可被实施为计算滑撬800。计算滑撬800被优化或以别的方式配置成执行计算任务。当然,如上面所论述的,计算滑撬800可依赖于其它滑撬(诸如加速滑撬和/或存储装置滑撬)来执行此类计算任务。计算滑撬800包含类似于滑撬400的物理资源的各种物理资源(例如电气组件),它们在图8中已经使用相同引用号码标识了。上面关于图6和图7提供的此类组件的描述适用于计算滑撬800的对应组件,并且为了计算滑撬800描述的清晰起见,在本文不被重复。
在说明性计算滑撬800中,物理资源620被实施为处理器820。尽管在图8中仅示出了两个处理器820,但应该认识到,在其它实施例中,计算滑撬800可包含附加处理器820。说明性地,处理器820被实施为高性能处理器820,并且可配置成以相对高的额定功率进行操作。尽管以比典型处理器(其以大约155-230W操作)大的额定功率进行操作的处理器820生成附加热量,但上面论述的无底盘电路板衬底602的增强热冷却特性促进较高功率操作。例如,在说明性实施例中,处理器820配置成以至少250W的额定功率进行操作。在一些实施例中,处理器820可配置成以至少350 W的额定功率进行操作。
在一些实施例中,计算滑撬800还可包含处理器对处理器互连842。类似于上面论述的滑撬400的资源对资源互连624,处理器对处理器互连842可被实施为能够促进处理器对处理器互连842通信的任何类型的通信互连。在说明性实施例中,处理器对处理器互连842被实施为高速点对点互连(例如比I/O子系统622快)。例如,处理器对处理器互连842可被实施为快速路径互连(QPI)、超路径互连(UPI)或者专用于处理器对处理器通信的其它高速点对点互连。
计算滑撬800还包含通信电路830。说明性通信电路830包含网络接口控制器(NIC)832,其也可被称为主机结构接口(HFI)。NIC 832可被实施为或者以别的方式包含任何类型的集成电路、离散电路、控制器芯片、芯片集、内插板、子卡、网络接口卡、可由计算滑撬800用于与另一计算装置(例如与其它滑撬400)连接的其它装置。在一些实施例中,NIC 832可被实施为包含一个或更多个处理器的片上系统(SoC)的一部分,或者包含在也含有一个或更多个处理器的多芯片封装上。在一些实施例中,NIC 832可包含本地处理器(未示出)和/或本地存储器(未示出),它们对NCI 832都是本地的。在此类实施例中,NIC 832的本地处理器可以能够执行处理器820的功能中的一个或更多个功能。附加地或备选地,在此类实施例中,NIC 832的本地存储器可在板级、插口(socket)级、芯片级和/或其它级集成到计算滑撬的一个或更多个组件中。
通信电路830通信地耦合到光学数据连接器834。光学数据连接器834配置成当计算滑撬800被安装在支架240中时与支架240的对应光学数据连接器配对。说明性地,光学数据连接器834包含多个光纤,其从光学数据连接器834的配对表面引到光学收发器836。光学收发器836配置成将来自支架侧光学数据连接器的传入的光学信号转换成电气信号,和将电气信号转换成向支架侧光学数据连接器的传出的光学信号。尽管在说明性实施例中示出为形成光学数据连接器834的一部分,但在其它实施例中光学收发器836可形成通信电路830的一部分。
在一些实施例中,计算滑撬800还可包含扩充连接器840。在此类实施例中,扩充连接器840配置成与扩充无底盘电路板衬底的对应连接器配对,以向计算滑撬800提供附加物理资源。附加物理资源可例如由处理器820在计算滑撬800操作期间使用。扩充无底盘电路板衬底可基本上类似于上面论述的无底盘电路板衬底602,并且可包含安装到其上的各种电气组件。安装到扩充无底盘电路板衬底的具体电气组件可取决于扩充无底盘电路板衬底的预计功能性。例如,扩充无底盘电路板衬底可提供附加计算资源、存储器资源、和/或存储装置资源。因此,扩充无底盘电路板衬底的附加物理资源可包含但不限于处理器、存储器装置、存储装置、和/或加速器电路,包含例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、安全性协处理器、图形处理单元(GPU)、机器学习电路、或者其它专门处理器、控制器、装置、和/或电路。
现在参考图9,示出了计算滑撬800的说明性实施例。如所示,处理器820、通信电路830和光学数据连接器834被安装到无底盘电路板衬底602的顶侧650。可使用任何适合的附连或安装技术将计算滑撬800的物理资源安装到无底盘电路板衬底602。例如,各种物理资源可被安装在对应插口(例如处理器插口)、支托或托架中。在一些情况下,其中一些电气组件可经由焊接或类似技术直接安装到无底盘电路板衬底602。
如上面所论述的,各个处理器820和通信电路830被安装到无底盘电路板衬底602的顶侧650,使得没有两个发热的电气组件彼此遮蔽。在说明性实施例中,处理器820和通信电路830被安装在无底盘电路板衬底602的顶侧650上的对应位置,使得那些物理资源中的没有两个沿空气流动路径608的方向与其它的物理资源线性成行。应该认识到,尽管光学数据连接器834与通信电路830成行,但光学数据连接器834在操作期间不产生热量或者产生标称热量。
计算滑撬800的存储器装置720被安装到上面关于滑撬400所论述的无底盘电路板衬底602的底侧750。尽管安装到底侧750,但存储器装置720经由I/O子系统622通信地耦合到位于顶侧650上的处理器820。因为无底盘电路板衬底602被实施为双侧电路板,因此存储器装置720和处理器820可以通信地由一个或更多个通孔、连接器或延伸穿过无底盘电路板衬底602的其它机构耦合。当然,在一些实施例中,每个处理器820可以通信地耦合到一个或更多个存储器装置720的不同集合。备选地,在其它实施例中,每个处理器820可以通信地耦合到每个存储器装置720。在一些实施例中,存储器装置720可被安装到无底盘电路板衬底602的底侧上的一个或更多个存储器夹层,并且可通过球栅阵列与对应处理器820互连。
每一个处理器820都包含固定到其上的散热器(heatsink)850。由于存储器装置720安装到无底盘电路板衬底602的底侧750(以及对应支架240中的滑撬400的垂直间距),无底盘电路板衬底602的顶侧650包含促进相对典型服务器中使用的传统散热器具有较大大小的散热器850的使用的附加“自由”区域或空间。此外,由于无底盘电路板衬底602的改进的热冷却特性,处理器散热器850都不包含附连到其上的冷却风扇。也就是,每一个散热器850都被实施为无风扇散热器。
现在参考图10,在一些实施例中,滑撬400可被实施为加速器滑撬1000。加速器滑撬1000被优化或以别的方式配置成执行专门计算任务,诸如机器学习、加密、散列或其它计算密集任务。在一些实施例中,例如,计算滑撬800可在操作期间将任务卸载到加速器滑撬1000。加速器滑撬1000包含类似于滑撬400和/或计算滑撬800的各种组件,它们在图10中已经使用相同引用号码标识了。上面关于图6、7和8提供的此类组件的描述适用于加速器滑撬1000的对应组件,并且为了加速器滑撬1000描述的清晰起见,在本文不被重复。
在说明性加速器滑撬1000中,物理资源620被实施为加速器电路1020。尽管在图10中仅示出了两个加速器电路1020,但应该认识到,在其它实施例中,加速器滑撬1000可包含附加加速器电路1020。例如,如图11中所示,在一些实施例中,加速器滑撬1000可包含4个加速器电路1020。加速器电路1020可被实施为任何类型的处理器、协处理器、计算电路、或能够执行计算或处理操作的其它装置。例如,加速器电路1020可被实施为例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、安全性协处理器、图形处理单元(GPU)、机器学习电路、或者其它专门处理器、控制器、装置、和/或电路。
在一些实施例中,加速器滑撬1000还可包含加速器对加速器互连1042。类似于上面论述的滑撬600的资源对资源互连624,加速器对加速器互连1042可被实施为能够促进加速器对加速器通信的任何类型的通信互连。在说明性实施例中,加速器对加速器互连1042被实施为高速点对点互连(例如比I/O子系统622快)。例如,加速器对加速器互连1042可被实施为快速路径互连(QPI)、超路径互连(UPI)或者专用于处理器对处理器通信的其它高速点对点互连。在一些实施例中,加速器电路1020可与通过I/O子系统622连接到NIC 832和存储器720的初级加速器电路1020和通过初级加速器电路1020连接到NIC 832和存储器720的次级加速器电路1020菊花式链接。
现在参考图11,示出了加速器滑撬1000的说明性实施例。如上面所论述的,加速器电路1020、通信电路830和光学数据连接器834被安装到无底盘电路板衬底602的顶侧650。再者,各个加速器电路1020和通信电路830被安装到无底盘电路板衬底602的顶侧650,使得没有两个发热的电气组件彼此遮蔽,如上面所论述的。加速器滑撬1000的存储器装置720如上面关于滑撬600所论述的被安装到无底盘电路板衬底602的底侧750。尽管安装到底侧750,但存储器装置720经由I/O子系统622(例如通过通孔)通信地耦合到位于顶侧650上的加速器电路1020。另外,每一个加速器电路1020可包含比在服务器中使用的传统散热器大的散热器1070。如上面参考散热器870所论述的,散热器1070可比传统散热器大,因为由存储器装置750提供的“自由”区域位于无底盘电路板衬底602的底侧750上,而不是顶侧650上。
现在参考图12,在一些实施例中,滑撬400可被实施为存储装置滑撬1200。存储装置滑撬1200被优化或以别的方式配置成将数据存储在对存储装置滑撬1200本地的数据存储装置1250中。例如,在操作期间,计算滑撬800或加速器滑撬1000可存储数据,和从存储装置滑撬1200的数据存储装置1250中检索数据。存储装置滑撬1200包含类似于滑撬400和/或计算滑撬800的各种组件,它们在图12中已经使用相同引用号码标识了。上面关于图6、7和8提供的此类组件的描述适用于存储装置滑撬1200的对应组件,并且为了存储装置滑撬1200描述的清晰起见,在本文不被重复。
在说明性存储装置滑撬1200中,物理资源620被实施为存储装置控制器1220。尽管在图12中仅示出两个存储装置控制器1220,但应该认识到,在其它实施例中,存储装置滑撬1200可包含附加存储装置控制器1220。存储装置控制器1220可被实施为任何类型的处理器、控制器或能够基于经由通信电路830接收的请求来控制到数据存储装置1250中的数据存储和检索的控制电路。在说明性实施例中,存储装置控制器1220被实施为相对低功率的处理器或控制器。例如,在一些实施例中,存储装置控制器1220可配置成以大约75瓦特的额定功率进行操作。
在一些实施例中,存储装置滑撬1200还可包含控制器对控制器互连1242。类似于上面论述的滑撬400的资源对资源互连624,控制器对控制器互连1242可被实施为能够促进控制器对控制器通信的任何类型的通信互连。在说明性实施例中,控制器对控制器互连1242被实施为高速点对点互连(例如比I/O子系统622快)。例如,控制器对控制器互连1242可被实施为快速路径互连(QPI)、超路径互连(UPI)或者专用于处理器对处理器通信的其它高速点对点互连。
现在参考图13,示出了存储装置滑撬1200的说明性实施例。在说明性实施例中,数据存储装置1250被实施为或以别的方式包含配置成容纳一个或更多个固态驱动器(SSD)1254的存储装置笼1252。为了这么做,存储装置笼1252包含若干安装槽1256,每一个安装槽配置成接收对应固态驱动器1254。每一个安装槽1256包含合作以定义对应安装槽1256的接入开口1260的多个驱动器导轨1258。存储装置笼1252被固定到无底盘电路板衬底602,使得接入开口面向远离无底盘电路板衬底602(即朝无底盘电路板衬底602的前面)。因此,当存储装置滑撬1200被安装在对应支架204中时,固态驱动器1254是可接入的。例如,当存储装置滑撬1200保持安装在对应支架240中时,固态驱动器1254可从支架240被换掉(例如经由机器人)。
存储装置笼1252说明性地包含16个安装槽1256,并且能够安装并存储16个固态驱动器1254。当然,在其它实施例中,存储装置笼1252可配置成存储附加或更少的固态驱动器1254。此外,在说明性实施例中,固态驱动器被垂直安装在存储装置笼1252中,但在其它实施例中可能以不同方位安装在存储装置笼1252中。每个固态驱动器1254可被实施为能够存储长期数据的任何类型的数据存储装置。为了这么做,固态驱动器1254可包含上面论述的易失性和非易失性存储器装置。
如图13中所示,存储装置控制器1220、通信电路830和光学数据连接器834说明性地安装到无底盘电路板衬底602的顶侧650。再者,如上面所论述的,可使用任何适合的附连或安装技术将存储装置滑撬1200的电气组件安装到无底盘电路板衬底602,包含例如插口(例如处理器插口)、支托、托架、焊接连接和/或其它安装或固定技术。
如上面所论述的,各个存储装置控制器1220和通信电路830被安装到无底盘电路板衬底602的顶侧650,使得没有两个发热的电气组件彼此遮蔽。例如,存储装置控制器1220和通信电路830被安装在无底盘电路板衬底602的顶侧650上的对应位置,使得那些电气组件中的没有两个电气组件沿空气流动路径608的方向与其它的线性成行。
存储装置滑撬1200的存储器装置720如上面关于滑撬400所论述的被安装到无底盘电路板衬底602的底侧750。尽管安装到底侧750,但存储器装置720经由I/O子系统622通信地耦合到位于顶侧650上的存储装置控制器1220。再者,因为无底盘电路板衬底602被实施为双侧电路板,因此存储器装置720和存储装置控制器1220可以通信地由一个或更多个通孔、连接器或延伸穿过无底盘电路板衬底602的其它机构耦合。每一个存储装置控制器1220都包含固定到其上的散热器1270。如上面所论述的,由于存储装置滑撬1200的无底盘电路板衬底602的改进的热冷却特性,没有散热器1270包含附连到其上的冷却风扇。也就是,每一个散热器1270都被实施为无风扇散热器。
现在参考图14,在一些实施例中,滑撬400可被实施为存储器滑撬1400。存储装置滑撬1400被优化或以别的方式配置成给其它滑撬400(例如计算滑撬800、加速器滑撬1000等)提供到对存储器滑撬1200本地的存储器池(例如存储器装置720的两个或更多个集合1430、1432中)的访问。例如,在操作期间,计算滑撬800和加速器滑撬1000可使用映射到存储器集合1430、1432中的物理地址的逻辑地址空间来远程写入到和/或读取自存储器滑撬1200的存储器集合1430、1432中的一个或更多个集合。存储器滑撬1400包含类似于滑撬400和/或计算滑撬800的各种组件,它们在图14中已经使用相同引用号码标识了。上面关于图6、7和8提供的此类组件的描述适用于存储器滑撬1400的对应组件,并且为了存储器滑撬1400描述的清晰起见,在本文不被重复。
在说明性存储器滑撬1400中,物理资源620被实施为存储器控制器1420。尽管在图14中仅示出两个存储器控制器1420,但应该认识到,在其它实施例中,存储器滑撬1400可包含附加存储器控制器1420。存储器控制器1420可被实施为任何类型的处理器、控制器或能够基于经由通信电路830接收的请求来控制存储器集合1430、1432中的数据读取和写入的控制电路。在说明性实施例中,每个存储装置控制器1220连接到对应存储器集合1430、1432以写入到和读取自对应存储器集合1430、1432内的存储器装置720,并且强制执行与已经向存储器滑撬1400发送请求以执行存储器访问操作(例如读取或写入)的滑撬400关联的任何准许(例如读取、写入等)。
在一些实施例中,存储器滑撬1400还可包含控制器对控制器互连1442。类似于上面论述的滑撬400的资源对资源互连624,控制器对控制器互连1442可被实施为能够促进控制器对控制器通信的任何类型的通信互连。在说明性实施例中,控制器对控制器互连1442被实施为高速点对点互连(例如比I/O子系统622快)。例如,控制器对控制器互连1442可被实施为快速路径互连(QPI)、超路径互连(UPI)或者专用于处理器对处理器通信的其它高速点对点互连。因此,在一些实施例中,存储器控制器1420可通过控制器对控制器互连1442访问在与另一存储器控制器1420关联的存储器集合1432内的存储器。在一些实施例中,可缩放存储器控制器由存储器滑撬(例如存储器滑撬1400)上的多个较小存储器控制器(本文中称为“小芯片(chiplet)”)构成。小芯片可被互连(例如使用EMIB(嵌入式多管芯互连桥))。组合的小芯片存储器控制器可放大到相当大数量的存储器控制器和I/O端口(例如高达16个存储器信道)。在一些实施例中,存储器控制器1420可实现存储器交织(例如,一个存储器地址被映射到存储器集合1430,下一存储器地址被映射到存储器集合1432,并且第三地址被映射到存储器集合1430等)。交织可在存储器控制器1420内或者从CPU插口(例如计算滑撬800的)跨到存储器集合1430、1432的网络链路被管理,并且与从同一存储器装置访问毗连的存储器地址相比较,可改进与执行存储器访问操作关联的时延。
另外,在一些实施例中,存储器滑撬1400可使用波导连接器1480通过波导连接到一个或更多个其它滑撬400(例如相同支架240或邻近支架240中的)。在说明性实施例中,波导是提供16个Rx(即接收)道和16个Rt(即传送)道的64毫米波导。在说明性实施例中,每条道都是16 Ghz或32 Ghz。在其它实施例中,频率可以不同。使用波导可向另一滑撬(例如在与存储器滑撬1400相同的支架240或邻近支架240中的滑撬400)提供对存储器池(例如存储器集合1430、1432)的高吞吐量访问,而不在光学数据连接器834上增加载荷。
现在参考图15,可按照数据中心100实现用于执行一个或更多个工作载荷(例如应用)的系统。在说明性实施例中,系统1510包含编排器(orchestrator)服务器1520,其可被实施为管理的节点,管理的节点包括执行管理软件(例如云操作环境,诸如OpenStack)的计算装置(例如计算滑撬800),其通信地耦合到多个滑撬400,包含大量计算滑撬1530(例如每个类似于计算滑撬800)、存储器滑撬1540(例如每个类似于存储器滑撬1400)、加速器滑撬1550(例如每个类似于存储器滑撬1000)以及存储装置滑撬1560(例如每个类似于存储装置滑撬1200)。滑撬1520、1540、1550、1560中的一个或更多个滑撬诸如可由编排器服务器1520分组成管理的节点1570,以共同执行工作载荷(例如在虚拟机中或容器中执行的应用1232)。管理的节点1570可被实施为来自相同或不同滑撬400的物理资源620的装配,物理资源620诸如处理器820、存储器资源720、加速器电路1020或数据存储装置1250。另外,管理的节点可在工作载荷被指配给管理的节点的时候或者在任何其它时间由编排器服务器1520建立、定义或“纺成(spin up)”,并且可以不管目前是否有任何工作载荷被指配给管理的节点而存在。在说明性实施例中,编排器服务器1520可按与对于工作载荷(例如应用1532)的服务级协定关联的服务质量(QoS)目标(例如与吞吐量、时延、每秒指令等关联的性能目标)的函数,从滑撬400有选择地分配和/或取消分配物理资源620和/或从管理的节点1570添加和/或移除一个或更多个滑撬400。在这么做时,编排器服务器1520可接收指示管理的节点1570的每个滑撬400中的性能条件(例如吞吐量、时延、每秒指令等)的遥测数据,并将遥测数据与服务质量目标相比较以确定是否服务质量目标正被满足。如果满足,则编排器服务器1520可以附加地确定是否可从管理的节点1570取消分配一个或更多个物理资源,同时仍满足QoS目标,由此释放那些物理资源以便用于另一管理的节点(例如执行不同的工作载荷)。备选地,如果QoS目标目前未被满足,则编排器服务器1520可以确定动态分配附加物理资源以在工作载荷正在执行时辅助工作载荷(例如应用1532)的执行。
此外,在一些实施例中,编排器服务器1520可标识工作载荷(例如应用1532)的资源利用中的趋势,诸如通过标识工作载荷(例如应用1532)的执行阶段(例如执行不同操作的时间段,每个操作具有不同的资源利用特性),并且抢先标识数据中心100中的可用资源,并将它们分配给管理的节点1570(例如在关联的阶段开始的预定时间段内)。在一些实施例中,编排器服务器1520可基于各种时延和分布方案对性能建模,以将工作载荷放置在数据中心100中的计算滑撬和其它资源(例如加速器滑撬、存储器滑撬、存储装置滑撬)之中。例如,编排器服务器1520可利用考虑到滑撬400上的资源性能(例如FPGA性能、存储器访问时延等)和通过网络到资源(例如FPGA)的路径的性能(例如拥塞、时延、带宽)的模型。因此,编排器服务器1520可基于与在数据中心100中可用的每个潜在资源关联的总时延(例如与资源本身的性能关联的时延,还有与通过网络的在执行工作载荷的计算滑撬与资源位于其上的滑撬400之间的路径关联的时延)来确定哪个(哪些)资源应被用于哪些工作载荷。
在一些实施例中,编排器服务器1520可使用从滑撬400报告的遥测数据(例如温度、风扇速度等)生成数据中心100中的热生成图,并按热生成图和与不同工作载荷关联的预测的热生成的函数向管理的节点分配资源,以维持数据中心100中的目标温度和热分布。附加地或备选地,在一些实施例中,编排器服务器1520可将接收的遥测数据组织成层级模型,其指示管理的节点之间的关系(例如空间关系,诸如数据中心100内的管理的节点的资源的物理位置,和/或功能关系,诸如由管理的节点为其提供服务的顾客对管理的节点的分组、通常由管理的节点执行的功能类型、通常在彼此之间共享或交换工作载荷的管理的节点等)。基于管理的节点中的物理位置和资源的差异,给定工作载荷可跨不同管理的节点的资源来建立不同的资源利用(例如,引起不同内部温度,使用不同百分比的处理器或存储器容量)。编排器服务器1520可基于存储在层级模型中的遥测数据来确定差异,并将差异表示为预测工作载荷的未来资源利用的因子(如果工作载荷从一个管理的节点重新指配给另一管理的节点)以准确地平衡数据中心100中的资源利用。
为了减少编排器服务器1520上的计算载荷和网络上的数据转移载荷,在一些实施例中,编排器服务器1520可向滑撬400发送自测试信息,以使每个滑撬400能够在本地(例如在滑撬400上)确定由滑撬400生成的遥测数据是否满足一个或更多个条件(例如,满足预先定义的阈值的可用容量、满足预先定义的阈值的温度等)。每个滑撬400然后可将简化的结果(例如是或否)报告回编排器服务器1520,编排器服务器1520可利用该结果确定到管理的节点的资源分配。
现在参考图16,可按照上面参考图1所描述的数据中心100实现用于在加速架构中的自动迁移的系统1600。说明性系统1600包含经由网络交换机1612通信地耦合到多个计算滑撬、存储装置滑撬1614和多个加速器滑撬1618的资源硬件管理器1608。在使用时,各种软件应用在计算滑撬1602上执行以对数据执行所要求的计算。为了加速某些计算(例如减少计算功率的量、计算时间等),至少部分应用工作载荷(例如计算上密集的计算内核)能被卸载到加速器滑撬1618的现场可编程门阵列(FPGA)(参见例如FPGA 1622(a)和1622(b))。因此,在主机(例如计算滑撬1602之一、加速器滑撬1618之一等)中执行的应用能在等待计算内核(即,为高吞吐量加速器编译的例程)完成时减少所要求的每周期指令(IPC)的量。
另外,当正在相应滑撬上执行应用工作载荷时,每个计算滑撬1602的阶段检测逻辑单元1610收集指示相应滑撬的资源使用和/或性能条件的遥测数据(例如自上而下微架构分析方法(TMAM)度量)。阶段检测逻辑单元1610(其将在下面进一步详细描述)配置成分析所收集的数据以标识在计算滑撬1602或加速器滑撬1618的中央处理单元(CPU)上执行硬件线程的集合的给定应用何时改变到不同阶段,诸如计算界限阶段、FPGA界限阶段、存储器界限阶段等中的一个阶段。
此外,阶段检测逻辑单元1610配置成确定给定应用是否需要被迁移到应用目前正在其上执行的计算滑撬1602或加速器滑撬1618的另一CPU,或者被迁移到不同计算滑撬1602或加速器滑撬1618的另一CPU。为了这么做,阶段检测逻辑单元1610进一步配置成确定停留在新的目前阶段的可能性是否高到足以将硬件线程和/或关联的计算内核迁移到另一滑撬或多个滑撬。此类确定可取决于目前阶段的预期持续时间或其它预测算法。如果阶段检测逻辑单元1610确定硬件线程和/或计算内核要被迁移,则阶段检测逻辑单元1610编排迁移过程,并且或者使先前使用的CPU离线,或者将先前使用的CPU返回给可应用滑撬的操作系统。应该认识到,如说明性示出的,阶段检测逻辑单元1610或者其至少一部分可取决于实施例而驻留在计算滑撬1602中的每个计算滑撬、网络交换机1612和/或资源硬件管理器1608上。应该进一步认识到,虽然说明性示出了在解聚(disaggregate)的架构中,但在其它实施例中,本文描述的功能可在本地多处理器计算装置或可配置平台(例如Intel®离散可配置平台)上执行。
每一个计算装置1602可被实施为能够执行本文描述的功能的任何类型的计算装置。如图17中所示,说明性网络交换机1612包含计算引擎1702、输入/输出(I/O)子系统1710、一个或更多个数据存储装置1710、通信电路1712和一个或更多个外围装置1716。在一些实施例中,计算滑撬1602可包含其它或附加组件,诸如通常在计算装置中发现的那些组件。此外,在一些实施例中,说明性组件中的一个或更多个组件可被结合在另一组件中,或以别的方式形成另一组件的一部分。
计算引擎1702可被实施为能够执行本文所描述的各种计算功能的任何类型的装置或装置集合。在一些实施例中,计算引擎1702可被实施为单个装置,诸如集成电路、嵌入式系统、FPGA、片上系统(SOC)、专用集成电路(ASIC)、可重配置硬件或硬件电路、或者用于促进本文描述的功能的执行的其它专门硬件。此外,在一些实施例中,计算引擎1702可包含或可被实施为处理器1704(即中央处理单元(CPU))和存储器1706。
处理器1704可被实施为能够执行本文描述的功能的任何类型的处理器。例如,处理器1704可被实施为一个或更多个单核处理器、多核处理器、数字信号处理器、微控制器或其它处理器或处理/控制电路。在一些实施例中,处理器1704可被实施为、包含或以别的方式耦合到现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可重配置硬件或硬件电路、或者用于促进本文描述的功能的执行的其它专门硬件。
如说明性示出的,处理器1704可包含参考图16描述的阶段检测逻辑单元1610。阶段检测逻辑单元1610可被实施为用于执行本文描述的自动迁移操作(例如,当工作载荷正在其上执行时,收集和分析指示滑撬的性能条件的遥测数据,并且分析遥测数据以确定是否要由于检测的阶段改变而执行自动迁移)的专门装置,诸如协处理器、FPGA或ASIC。
存储器1706可被实施为能够执行本文描述的功能的任何类型的易失性(例如动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储装置。应该认识到,存储器1706可包含主存储器(即初级存储器)和/或高速缓冲存储器(即能比主存储器更快速地存取的存储器)。易失性存储器可以是需要电力来维持由介质存储的数据的状态的存储介质。易失性存储器的非限制示例可包含各种类型的随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
可用在存储器模块中的一个具体类型的DRAM是同步动态随机存取存储器(SDRAM)。在具体实施例中,存储器组件的DRAM可符合由JEDEC颁布的标准,诸如对于DDRSDRAM的JESD79F、对于DDR2 SDRAM的JESD79-2F、对于DDR3 SDRAM的JESD79-3F、对于DDR4SDRAM的JESD79-4A、对于低功率DDR(LPDDR)的JESD209、对于LPDDR2的JESD209-2、对于LPDDR3的JESD209-3以及对于LPDDR4的JESD209-4(这些标准可在www.jedec.org得到)。此类标准(以及类似标准)可被称为基于DDR的标准,并且实现此类标准的存储装置的通信接口可被称为基于DDR的接口。
在一个实施例中,存储器装置是块可寻址存储器装置,诸如基于NAND或NOR技术的那些存储器装置。存储器装置还可包含未来世代的非易失性装置,诸如三维交叉点存储器装置(例如英特尔3D XPointTM存储器)或其它字节可寻址原地写的非易失性存储器装置。在一个实施例中,存储器装置可以是或者可包含使用硫属玻璃的存储器装置、多阈级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、阻性存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、结合了忆阻器技术的磁阻随机存取存储器(MRAM)存储器、包含金属氧化物基、氧空缺基和导电桥随机存取存储器(CB-RAM)的阻性存储器或者自旋转移扭矩(STT)-MRAM、基于电子自旋磁结存储器的装置、基于磁遂穿结(MTJ)的装置、基于DW(畴壁)和SOT(自旋轨道转移)的装置、基于晶闸管的存储器装置、或者上面的任何装置的组合、或者其它存储器。存储器装置可指的是管芯本身和/或封装的存储器产品。
在一些实施例中,3D交叉点存储器(例如英特尔3D XPointTM存储器)可包括无晶体管可堆叠交叉点架构,其中存储器单元位于字线和位线的交点处,并且单独可寻址,并且其中位存储基于体电阻的改变。在一些实施例中,所有或部分存储器1706可被集成到处理器1704中。在操作中,存储器1706可存储在操作期间使用的各种软件和数据,诸如工作请求数据、内核图数据、遥测数据、应用、程序、库和驱动程序。
计算引擎1702经由I/O子系统1708通信地耦合到网络交换机1612的其它组件,I/O子系统1708可被实施为促进与处理器1704、存储器1706和网络交换机1612的其它组件的输入/输出操作的电路和/或组件。例如,I/O子系统1708可被实施为或以别的方式包含存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件装置、通信链路(例如点对点链路、总线链路、导线、电缆、光导、印刷电路板迹线等)和/或其它组件和子系统以促进输入/输出操作。在一些实施例中,I/O子系统1708可形成片上系统(SoC)的一部分,并与以下的一项或更多项一起结合在单个集成电路芯片上:处理器1704、存储器1706和网络交换机1612的其它组件。
一个或更多个数据存储装置1710可被实施为配置用于数据的短期存储或长期存储的任何类型的存储装置,诸如例如存储器装置和电路、存储卡、硬盘驱动器、固态驱动器或者其它数据存储装置。每个数据存储装置1710都可包含存储用于数据存储装置1710的数据和固件代码的系统分区。每个数据存储装置1710还可包含存储数据文件并对于操作系统可执行的操作系统分区。
通信电路1712可被实施为能够实现网络交换机1612与其它计算装置(例如计算滑撬1602、存储装置滑撬1614、加速器滑撬1618、资源硬件管理器1608等)之间的通信的任何通信电路、装置或它们的集合。相应地,通信电路1712可配置成使用任一种或更多种通信技术(例如有线或无线通信)以及关联的协议(例如以太网、Bluetooth®、Wi-Fi®、WiMAX等)来实现此类通信。
说明性通信电路1712包含网络接口控制器(NIC)1714,其也可被称为主机结构接口(HFI)。NIC 1714可被实施为一个或更多个内插板、子卡、网络接口卡、控制器芯片、芯片集或可由网络交换机1612用于与另一计算装置(例如图16的计算滑撬1602之一)连接的其它装置。在一些实施例中,NIC 1714可被实施为包含一个或更多个处理器的片上系统(SoC)的一部分,或者被包含在也含有一个或更多个处理器的多芯片封装上。在一些实施例中,NIC 1714可包含本地处理器(未示出)和/或本地存储器(未示出),它们对NCI 1714都是本地的。在此类实施例中,NIC 1714的本地处理器可能能够执行本文描述的处理器1704的功能中的一个或更多个。附加地或备选地,在此类实施例中,NIC 1714的本地存储器可在板级、插座级、芯片级和/或其它级集成到网络交换机1612的一个或更多个组件中。
一个或更多个外围装置1716可包含可用于将信息输入到网络交换机1612、1606中和/或从网络交换机1612接收信息的任何类型的装置。外围装置1716可被实施为可用于将信息输入到网络交换机1612的任何辅助装置(诸如键盘、鼠标、麦克风、条码读取器、图像扫描仪等)或从网络交换机1612输出信息的任何辅助装置(诸如显示器、扬声器、图形电路、打印机、投影仪等)。应该认识到,在一些实施例中,外围装置1716中的一个或更多个外围装置可充当输入装置和输出装置两者(例如触摸显示器、显示屏顶上的数字化器等)。应该进一步认识到,连接到网络交换机1612的外围装置1716的类型可取决于例如网络交换机1612的类型和/或预计使用。附加地或备选地,在一些实施例中,外围装置1716可包含例如用于将外部外围装置连接到网络交换机1612的一个或更多个端口,诸如USB端口。
现在参考图18,计算滑撬1602可在操作期间建立环境1800。说明性环境1800包含网络连接管理器1810和图16的阶段检测逻辑单元1610。环境1800的每一个组件可被实施为硬件、固件、软件或它们的组合。因此,在一些实施例中,环境1800的组件中的一个或更多个组件可被实施为电气装置的集合或电路(例如网络连接管理电路1810、阶段检测逻辑电路1610等)。应该认识到,在此类实施例中,网络连接管理电路1810和阶段检测逻辑电路1610中的一个或二者可形成以下的一项或更多像的一部分:计算引擎1702、一个或更多个数据存储装置1710、通信电路1712、和/或网络交换机1612的任何其它组件。
在说明性实施例中,环境1800此外包含遥测数据1802、阶段改变数据1804和迁移策略数据1806,其每个可被实施为由网络交换机1612建立的任何数据。遥测数据1802可包含可用于计算滑撬1602或加速器滑撬1618的计算元件(例如CPU)的资源使用和/或性能的任何数据。在一些实施例中,遥测数据1802还可包含有关通过网络交换机1612的网络业务的信息,包含往来于计算滑撬1602、加速器滑撬1618、存储装置滑撬1614等的数据存取请求和响应的频率和网络拥塞信息。阶段改变数据1804可包含可用于标识各种应用的阶段改变的任何数据(例如阈限、期望持续时间、历史信息等)。迁移策略数据1806可包含可用于指令网络交换机1612如何迁移硬件线程和/或计算内核/将迁移硬件线程和/或计算内核到哪里(例如在某些条件下)的任何数据(例如规则或策略)。
网络连接管理器1810(其可被实施为硬件、固件、软件、虚拟化硬件、仿真架构和/或它们的组合,如上面所论述的)配置成分别促进往和来于网络交换机1612的入站和出站网络通信(例如网络业务、网络分组、网络流等)。为了这么做,网络连接管理器1810配置成接收和处理来自一个系统或计算装置(例如计算滑撬1602之一、资源硬件管理器1608、存储装置滑撬1614、加速器滑撬1618之一,等)的数据分组,并且准备数据分组和将数据分组发送到另一计算装置或系统(例如计算滑撬1602之一、资源硬件管理器1608、存储装置滑撬1614、加速器滑撬1618之一,等)。相应地,在一些实施例中,网络连接管理器1810的至少部分功能性可由通信电路1712执行,或者更具体地由NIC 1714执行。
如之前所描述的,阶段检测逻辑单元1610配置成分析所收集的遥测数据以确定阶段改变,并编排应用(即应用的硬件线程)的迁移以及在某些条件下编排与迁移的应用关联的计算内核(即,为高吞吐量加速器编译的例程)。为了这么做,说明性阶段检测逻辑单元1610包含遥测数据收集器1812、阶段改变检测器1814和迁移管理器1816。遥测数据收集器1812(其可被实施为硬件、固件、软件、虚拟化硬件、仿真架构和/或它们的组合)配置成收集由工作载荷在其上执行并且计算滑撬已经从中卸载的计算滑撬1602和加速器滑撬1618报告的遥测数据(例如遥测数据1802)。
如之前所描述的,阶段检测逻辑单元1610的至少部分可由网络交换机1612和/或资源硬件管理器1608执行。在由资源硬件管理器1608执行遥测数据收集的此类实施例中,例如,遥测数据可被送往资源硬件管理器1608并且在接收到时被收集。在由网络交换机1612收集遥测数据的此类实施例中,例如,当包含遥测数据的网络分组通过网络交换机1612(例如通过网络连接管理器1810)时,遥测数据标识那些网络分组,并将遥测数据本地存储在网络交换机1612中。应该认识到,在任一实施例中,与对应滑撬或者更具体地说该滑撬的对应计算元件(即CPU、FPGA等)的标识符的关联与遥测数据一起被存储。
阶段改变检测器1814(其可被实施为硬件、固件、软件、虚拟化硬件、仿真架构和/或它们的组合)配置成在已经执行了计算内核之后检测应用的阶段改变。如之前所描述的,阶段包含但不限于CPU界限阶段、FPGA界限阶段和存储器界限阶段。例如,阶段改变检测器1814配置成:在计算内核执行已经开始之后,检测应用何时将其行为从CPU界限阶段改变成不同阶段。为了这么做,阶段改变检测器1814配置成所分析收集的遥测数据(例如遥测数据1802)以确定是否存在指示阶段改变的某一条件或某些条件。例如,阶段改变检测器1814可配置成将IPC值与阈限峰值IPC值相比较。在另一示例中,阶段改变检测器1814可配置成标识具体阶段在历史上已经花费的时间量来确定是否能通过将应用的硬件线程迁移到另一计算元件来实现效率。
迁移管理器1816(其可被实施为硬件、固件、软件、虚拟化硬件、仿真架构和/或它们的组合)配置成将与应用关联的硬件线程迁移到另一计算元件。为了这么做,迁移管理器1816配置成(例如从阶段改变检测器1814)接收指示应用要被迁移的检测的阶段改变的指示。迁移管理器1816此外配置成通过向资源硬件管理器1608传送计算元件标识请求来标识应用要被迁移到的另一计算元件,所述计算元件标识请求可由资源硬件管理器1608用于标识另一计算元件(例如基于与硬件线程关联的工作载荷的要求)。另外,迁移管理器1816配置成暂停正运行的硬件线程,将它们的状况迁移到所标识的其它计算元件,并且再继续硬件线程。此外,迁移管理器1816配置成向适当的操作系统和/或资源管理器服务器1808通知完成的硬件线程迁移。
应该认识到,遥测数据收集器1812、阶段改变检测器1814和迁移管理器1816中的每个都可单独实施为硬件、固件、软件、虚拟化硬件、仿真架构和/或它们的组合。例如,遥测数据收集器1812可被实施为硬件组件,而阶段改变检测器1814和/或迁移管理器1816可被实施为虚拟化硬件组件,或者实施为硬件、固件、软件、虚拟化硬件、仿真架构和/或它们的组合的某种其它组合。另外,应该认识到,在其它实施例中,计算滑撬1602和/或资源硬件管理器1608可包含阶段检测逻辑单元1610的至少部分,并且因此可建立类似于本文描述的环境1800的环境。
回头参考图16,资源硬件管理器1608可被实施为能够监视和管理计算滑撬1602的资源以及执行本文描述的其它功能的任何类型的计算装置。例如,资源硬件管理器1608可被实施为计算机、分布式计算系统、一个或更多个滑撬(例如滑撬204-1、204-2、204-3、204-4等)、服务器(例如独立式、支架安装式、刀片等)、多处理器系统、网络设施(例如物理的或虚拟的)、桌上型计算机、工作站、膝上型计算机、笔记本计算机、基于处理器的系统或网络设施。如图19所示,说明性资源硬件管理器1608具有与图17的网络交换机1612的组件类似的组件,包含具有处理器1904和存储器1906的计算引擎1902、I/O子系统1908、具有NIC1914的通信电路1912,以及在一些实施例中还有一个或更多个数据存储装置1910和/或一个或更多个外围装置1916。相应地,类似的或相似的组件在本文未描述以保持描述的清晰性。在一些实施例中,计算滑撬1602可包含其它或附加组件,诸如通常在计算装置中发现的那些组件。此外,在一些实施例中,说明性组件中的一个或更多个组件可被结合在另一组件中,或以别的方式形成另一组件的一部分。
网络交换机1612可被实施为能够执行本文描述的功能(包含在计算滑撬1602、资源硬件管理器1608、存储装置滑撬1614和加速器滑撬1618以及通信地耦合到网络交换机1612的任何其它计算装置之间交换网络分组)的任何类型的连网装置。取决于部署环境,网络交换机1612可被实施为架顶式(top-of-rack)交换机、架中式(middle-of-rack)交换机或其它以太网交换机。应该认识到,网络交换机1612可包含类似于在图16的说明性计算滑撬1602中描述的那些组件的组件(例如具有一个或更多个处理器1904、存储器1906的计算引擎1902、I/O子系统1908、一个或更多个数据存储装置1910、具有NIC 1914的通信电路1912、一个或更多个外围装置1916等)。相应地,类似的或相似的组件在本文未描述以保持描述的清晰性。应该进一步认识到,网络交换机1612可包含备选和/或附加组件,诸如通常在分组交换网络装置中发现的那些组件(例如各种输入/输出装置和/或其它组件)。
存储装置滑撬1614可被实施为能够执行本文描述的功能(诸如管理存储装置1616池(例如物理存储资源205-1))的任何类型的存储装置。为了这么做,存储装置滑撬1614可以是实施为虚拟和/或物理硬件、固件、软件或它们的组合的存储器池控制器(未示出),其配置成管理进和出存储装置1616的数据。应该认识到,虽然仅示出了单个存储装置滑撬1614,但其它实施例可包含多于一个存储装置滑撬1614。
存储装置1616可被实施为能够执行本文描述的功能的任何类型的易失性(例如动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储装置。易失性存储器可以是需要电力来维持由介质存储的数据的状态的存储介质。易失性存储器的非限制示例可包含各种类型的随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
可用在存储器模块中的一个具体类型的DRAM是同步动态随机存取存储器(SDRAM)。在具体实施例中,存储器组件的DRAM可符合由JEDEC颁布的标准,诸如对于DDRSDRAM的JESD79F、对于DDR2 SDRAM的JESD79-2F、对于DDR3 SDRAM的JESD79-3F、对于DDR4SDRAM的JESD79-4A、对于低功率DDR(LPDDR)的JESD209、对于LPDDR2的JESD209-2、对于LPDDR3的JESD209-3以及对于LPDDR4的JESD209-4(这些标准可在www.jedec.org得到)。此类标准(以及类似标准)可被称为基于DDR的标准,并且实现此类标准的存储装置的通信接口可被称为基于DDR的接口。
在一个实施例中,存储装置1616可被实施为块可寻址存储器装置,诸如基于NAND或NOR技术的那些。存储器装置还可包含未来世代的非易失性装置,诸如三维(3D)交叉点存储器装置(例如英特尔3D XPointTM存储器)或其它字节可寻址原地写的非易失性存储器装置。在一些实施例中,3D交叉点存储器(例如英特尔3D XPointTM存储器)可包括无晶体管可堆叠交叉点架构,其中存储器单元位于字线和位线的交点处,并且单独可寻址,并且其中位存储基于体电阻的改变。
在另一实施例中,存储装置1616可以是或者可包含使用硫属玻璃的存储器装置、多阈级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、阻性存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、结合了忆阻器技术的磁阻随机存取存储器(MRAM)存储器、包含金属氧化物基、氧空缺基和导电桥随机存取存储器(CB-RAM)的阻性存储器或者自旋转移扭矩(STT)-MRAM、基于电子自旋磁结存储器的装置、基于磁遂穿结(MTJ)的装置、基于DW(畴壁)和SOT(自旋轨道转移)的装置、基于晶闸管的存储器装置、或者上面任何的组合、或者其它存储器。存储器装置可指的是管芯本身和/或封装的存储器产品。
如之前所描述的,计算滑撬1602可被池化,如在图11的高性能处理滑撬1134中说明性示出的。说明性计算滑撬1602包含第一计算滑撬(标示为计算滑撬(1) 1602a)、第二计算滑撬(标示为计算滑撬(2) 1602b)和第三计算滑撬(标示为计算滑撬(N) 1602c)(例如,其中计算滑撬(N) 1602c表示“第N个”计算滑撬1602,并且“N”是正整数)。说明性计算滑撬(1) 1602a包含一个或更多个高性能CPU 1604。说明性计算滑撬(2) 1602b包含一个或更多个低性能CPU 1606。应该认识到,高性能CPU 1604相对于低性能CPU 1606的特征的可比较的基准测试结果是“高性能的”。例如,高性能CPU可被定义为具有在阈值以上的时钟频率的CPU、在阈值以上的核数、在阈值以上的总额定功率和/或在对应参考阈值以上的其它CPU性能度量。在说明性示例中,高性能CPU 1604可被实施为高性能Intel ® Xeon ®处理器,而低性能CPU 1606可被实施为低性能Intel ® Xeon ®处理器。
如之前所描述的,加速器滑撬1618可被池化,如在图11的池化的加速器滑撬1130中说明性示出的。如在说明性系统1600中所示出的,加速器滑撬1618包含第一加速器滑撬(标示为加速器滑撬(1) 1618a)、第二加速器滑撬(标示为加速器滑撬(2) 1618b)和第三加速器滑撬(标示为加速器滑撬(N) 1618c)(例如,其中加速器滑撬(N) 1618c表示“第N个”加速器滑撬1602,并且“N”是正整数)。说明性加速器滑撬(1) 1602a包含FPGA 1622(标示为FPGA 1622a)。说明性加速器滑撬(2) 1618b包含另一FPGA 1622(标示为FPGA 1022b)以及低性能CPU 1620。应该认识到,说明性加速器滑撬(2) 1618b的低性能CPU 1620可以是与说明性计算滑撬(2) 1602b的低性能CPU 1606相同或类似的“低性能”CPU。
应该认识到,在一些实施例中,计算滑撬1602和/或加速器滑撬1618中的一个或更多个可诸如由资源硬件管理器1608来分组成管理的节点,以共同执行工作载荷(例如应用)。管理的节点可被实施为来自相同或不同滑撬或支架的资源的装配,诸如计算资源、存储器资源、存储装置资源或者其它资源。
另外,管理的节点可在工作载荷被指配给管理的节点的时间或者在任何其它时间由资源硬件管理器1608建立、定义或“纺成”,并且可不管目前是否有任何工作载荷被指配给管理的节点而存在。资源硬件管理器1608在一些实施例中可执行支持云操作环境(诸如OpenStack)的一个或更多个编排操作,并且由资源硬件管理器1608建立的管理的节点可代表通信地耦合到资源硬件管理器1608(例如经由网络)的客户端装置(未示出)的用户诸如在VM或容器中执行一个或更多个应用或过程(即工作载荷)。
现在参考图20,在使用时,计算滑撬1602之一可执行用于由目前正在计算滑撬1602上执行的应用(参见例如图22A-24B的应用2202、2302和2402)将计算内核(参见例如图22A-B的计算内核2204、图23A-B的2304和图24A-B的2404)卸载到加速器滑撬1618之一的FPGA 1622的方法2000。方法2000开始于框2002,其中应用确定是否要卸载计算内核(即,为高吞吐量加速器编译的例程)。如果是,则方法2000前进到框2004,其中应用标识加速器滑撬1618之一的FPGA以将计算内核(例如加速器功能单元)卸载到该FPGA。应该认识到,在一些实施例中,为了标识FPGA,该应用可将FPGA标识请求传送到资源硬件管理器1608,其可执行FPGA的实际标识,并向计算滑撬1602通知所标识的FPGA。在框2006中,应用在所标识的FPGA上执行计算内核。在框2008中,应用向阶段检测逻辑单元通知计算内核的执行。
现在参考图21A和21B,在使用时,计算滑撬(例如图16的计算滑撬1602之一)、或者更具体地说是计算滑撬1602的阶段检测逻辑单元1610,可执行用于在加速架构中的自动迁移的方法2100。方法2100开始于框2102,其中计算滑撬1602确定是否监视应用(即,与应用关联的硬件线程)。例如,计算滑撬1602可从应用接收指示已由应用卸载到FPGA 1622的计算内核的执行的指示。如果计算滑撬1602确定应用要被监视,则方法2100前进到框2104,其中计算滑撬1602监视与要被监视的应用关联的硬件线程。为了这么做,在框2106中,计算滑撬1602收集与要被监视的硬件线程对应的遥测数据。例如,在框2108中,计算滑撬1602收集资源使用信息。此外,在框2110中,计算滑撬1602收集CPU核性能数据,诸如在给定时间点正被执行的每周期指令的数量以及与应用的性能是CPU界限、存储器界限还是加速界限的相关的其它度量。
在框2112中,计算滑撬1602分析所收集的遥测以标阶段改变。为了这么做,在框2114中,计算滑撬1602将遥测数据的至少一部分与一个或更多个对应阈限相比较。例如,计算滑撬1602可将IPC值与对于具体计算元件(例如CPU)的峰值IPC阈限相比较。在框2116中,计算滑撬1602作为在框2112中执行的分析结果来确定是否已经检测到阶段改变。如之前所描述的,阶段包含但不限于CPU界限阶段、FPGA界限阶段和存储器界限阶段。如果否,则方法2100返回到框2104以继续监视硬件线程;否则,如果已经检测到阶段改变(例如从CPU界限阶段变到另一阶段),则方法2100前进到框2118。在框2118中,计算滑撬1602标识要将硬件线程迁移到的新计算元件。
应该认识到,在一些实施例中,计算滑撬1602可能不能够标识新计算元件(例如由于计算滑撬1602没有必要资源信息可用于这么做)。相应地,在此类实施例中,计算滑撬1602可向资源硬件管理器1608传送请求资源硬件管理器1608标识新计算元件并返回所标识的计算元件的请求(例如计算元件标识请求)。应该认识到,在此类实施例中,资源硬件管理器1608可配置成基于硬件线程目前正在其上执行的计算滑撬1602的可用资源、其它计算滑撬1602的可用资源和与硬件线程关联的工作载荷的资源要求来标识新计算元件。
在框2120中,计算滑撬1602将硬件线程迁移到所标识的新计算元件。为了这么做,在框2122中,计算滑撬1602暂停在目前计算元件上运行的硬件线程。此外,在框2124中,计算滑撬1602将硬件线程状态迁移到另一新计算元件。另外,在框2126中,计算滑撬1602再继续迁移的硬件线程。最后,在框2128中,计算滑撬1602使之前使用的计算元件离线。在框2130中,计算滑撬1602向与应用关联的相应操作系统通知该迁移。在一些实施例中,计算滑撬1602可将离线的计算元件返回到相应操作系统。
在框2132中,计算滑撬1602确定是否还将与迁移的应用关联的计算内核从计算内核目前正在其上执行的FPGA 1622迁移到不同FPGA 1622(例如加速器滑撬1618中的不同加速器滑撬的FPGA )。如果否,则方法2100分支到图21B的框2144,其在下面描述;否则,如果计算滑撬1602确定迁移计算内核,则方法2100分支到图21B的框2134。在框2134中,计算滑撬1602确定要将计算内核迁移到的另一FPGA。类似于标识要将硬件线程迁移到的新计算元件,在一些实施例中,计算滑撬1602可能不能够确定FPGA。相应地,在此类实施例中,计算滑撬1602可向资源硬件管理器1608传送请求资源硬件管理器1608标识新FPGA并返回所标识的FPGA的请求(例如FPGA标识请求)。应该认识到,在此类实施例中,资源硬件管理器1608可配置成基于计算内核目前正在其上执行的加速器滑撬1618的可用资源、其它加速器滑撬1618的可用资源和计算内核的资源要求来标识新FPGA。
在框2136中,计算滑撬1602将计算内核迁移到所确定的新FPGA。在框2138中,计算滑撬1602向与计算内核关联的应用通知计算内核到新FPGA的迁移。在框2140中,计算滑撬1602监视计算内核的完成状况。在框2142中,计算滑撬1602监视对应应用的阶段。在框2144中,计算滑撬1602确定是否从在框2120硬件线程被迁移到的新计算元件迁移该应用。为了这么做,例如,计算滑撬1602可响应于已经确定计算内核操作已经完成或者即将完成而确定要迁移该应用。附加地或备选地,计算滑撬1602可响应于已经检测到阶段已经改变回CPU界限阶段而确定要迁移该应用。
如果计算滑撬1602确定不迁移该应用,则方法2100返回到框2140以继续监视计算内核的完成状况,以及在框2142中继续监视对应应用的阶段。否则,如果计算滑撬1602确定迁移该应用,则方法2100前进到框2146,其中计算滑撬1602标识要将硬件线程迁移到的另一新计算元件。如之前所指出的,计算滑撬1602可依赖于资源硬件管理器1608来标识另一新计算元件,并向计算滑撬1602通知所标识的另一新计算元件。在框2148中,计算滑撬1602将硬件线程迁移到所标识的另一新计算元件。为了这么做,在框2150中,计算滑撬1602暂停在目前计算元件上运行的硬件线程。此外,在框2152中,计算滑撬1602将硬件线程状态迁移到另一新计算元件。另外,在框2154中,计算滑撬1602再继续迁移的硬件线程。最后,在框2156中,计算滑撬1602使之前使用的计算元件离线。在框2158中,计算滑撬1602向相应操作系统和关联的应用通知成功迁移。相应地,如由于迁移而可能要求的,应用能对应用的软件/网络参数进行任何重新配置改变。
如之前所指出的,在其它实施例中,阶段检测逻辑单元1610的至少一部分可在计算滑撬1602、资源硬件管理器1608和网络交换机1612中的一个或更多个中。相应地,应该认识到,在此类实施例中,除了如本文所描述的计算滑撬1602之外或对其的备选,方法2100的至少一部分还可由网络交换机1612和/或资源硬件管理器1608执行。应该进一步认识到,虽然方法2100已经被说明性描述为由解聚的架构执行,但本文描述的功能在其它实施例中可由包含本地多处理器计算装置和至少一个FPGA的平台或者具有多个处理器和至少一个FPGA的可配置平台(例如Intel®离散可配置平台)执行。
如针对图20的方法2000所描述的,目前正在计算元件(例如高性能CPU 1604)上执行的应用可将计算内核卸载到加速器滑撬128的FPGA 1622(例如,加速器滑撬(1)1618a的FPGA 1622a、加速器滑撬(2)1618b的FPGA 1622b等)。另外,应用可向阶段检测逻辑单元1620通知该卸载,使得如在图21的方法2100中所描述的,阶段检测逻辑单元1610能经由与该应用正在使用的资源关联的遥测数据的收集/分析来监视应用的阶段。此外,在检测到阶段改变时,阶段检测逻辑单元1610可以确定迁移该应用以及在某些条件下迁移关联的计算内核。相应地,图22A和22B、23A和23B以及24A和24B中的每个图都示出非限制示例应用/计算内核迁移。
现在参考图22A和22B,示出了用于应用的自动迁移的说明性示例,其中应用在一个计算滑撬1602之一中与另一应用合并。如在图22A的预迁移中说明性示出的,计算滑撬(1)1602a包含第一高性能CPU 1604(标示为高性能CPU 1604a)和第二高性能CPU 1604(标示为高性能CPU 1604b)。说明性地示出了正运行应用2202的高性能CPU 1604a和1604b中的每个高性能CPU。第一应用2202(标示为应用(1) 2202a)目前正在高性能CPU 1604a上执行。第二应用2202(标示为应用(2) 2202b)目前正在高性能CPU 1604b上执行。此外,示出了加速器滑撬(1) 1618a,具有目前正在加速器滑撬(1) 1618a的FPGA 1622a中执行的计算内核2204。为了说明性示例的目的,应该认识到,计算内核2204与应用(1) 2202a关联(即由其卸载)。
如在图22B的后迁移中说明性示出的,应用(1) 2202已经从高性能CPU(1) 1604a被迁移到高性能CPU(2) 1604b(即,与应用(2) 2202b合并)。此外,计算内核从加速器滑撬(a)1618a的FPGA 1622a被迁移到加速器滑撬(2)1618b的FPGA 1622b。如之前所描述的,在确定是否要将应用(2) 2202b迁移到高性能CPU(2) 1604b和是否要迁移计算内核2204时,阶段检测逻辑单元1610配置成当计算内核2204正在执行时标识应用(2) 2202b的工作载荷的资源使用/性能,并且将所标识的资源使用与对应的使用/性能阈限以及应用的阶段相比较。例如,如之前所描述的,阶段检测逻辑单元1610可配置成标识目前IPC值,并将所标识的目前IPC值与IPC峰值阈值相比较,以及标识目前阶段(例如图22A中的FPGA界限和图22B中的CPU界限)。
现在参考图23A和23B,示出了用于应用的自动迁移的说明性示例,其包含应用从计算滑撬1602a的高性能CPU 1604被迁移到计算滑撬1602b的低性能CPU 1606。如在图23A的预迁移中说明性示出的,应用2302目前由计算滑撬(1)1602a的高性能CPU 1604执行。此外,计算内核2304目前正在加速器滑撬(1)1618a的FPGA 1622a上执行。如在图23B的后迁移中说明性示出的,应用2302已经被迁移到计算滑撬(2)1602b的低性能CPU 1606,并且计算内核尚未被迁移。
现在参考图24A和24B,在对于自动迁移应用和计算内核的说明性示例中,二者都被迁移到同一加速器滑撬(例如加速器滑撬1618之一)。如在图24A的预迁移中说明性示出的,应用2402目前由计算滑撬(1) 1602a的高性能CPU 1604执行,并且计算内核2404目前正在加速器滑撬(1) 1618a的FPGA 1622a上执行。如在图24B的后迁移中说明性示出的,应用2402已经被迁移到加速器滑撬(2)1618b的低性能CPU 1620,并且计算内核2404已经从加速器滑撬(1) 1618a的FPGA 1622a被迁移到加速器滑撬(2) 1618b的FPGA 1622b。
示例
下面提供了本文所公开的技术的说明性示例。技术的实施例可包含下面描述的示例中的任一个或更多个以及它们的任何组合。
示例1包含一种用于在加速架构中的自动迁移的计算滑撬,所述计算滑撬包括:计算引擎,用于从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到计算滑撬;监视与所述应用关联的多个硬件线程;检测按监视的硬件线程的功能是否已经检测到阶段改变;以及响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件。
示例2包含示例1的主题,并且其中监视所述多个硬件线程包括收集与由所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据。
示例3包含示例1和2中任一示例的主题,并且其中收集遥测数据包含收集第一计算元件的每周期指令(IPC)值。
示例4包含示例1-3中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将所述第一计算元件的所述IPC值与峰值IPC阈值相比较。
示例5包含示例1-4中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段。
示例6包含示例1-5中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为存储器界限阶段。
示例7包含示例1-6中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述计算滑撬的另一高性能CPU。
示例8包含示例1-7中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU。
示例9包含示例1-8中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU。
示例10包含示例1-9中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述加速器滑撬的低性能CPU。
示例11包含示例1-10中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
示例12包含示例1-11中任一示例的主题,并且其中将所述硬件线程迁移到所述第二计算元件包括:在所述第一计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件,在所述第二计算元件再继续迁移的硬件线程,并且使所述第一计算元件离线。
示例13包含示例1-12中任一示例的主题,并且其中所述计算引擎进一步将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA。
示例14包含示例1-13中任一示例的主题,并且其中计算引擎进一步接收指示计算内核已经完成的指示;以及响应于已经接收到所述指示而将应用迁移到第三计算元件。
示例15包含示例1-14中任一示例的主题,并且其中将应用迁移到第三计算元件包括将所述应用迁移到所述多个计算滑撬之一的高性能CPU。
示例16包含示例1-15中任一示例的主题,并且其中将所述硬件线程迁移到所述第三计算元件包括:在所述第二计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第二计算元件迁移到所述第三计算元件,在所述第三计算元件再继续迁移的硬件线程,并且使所述第二计算元件离线。
示例17包含一种用于在加速架构中的自动迁移的方法,所述方法包括:由计算滑撬从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到计算滑撬;由计算滑撬监视与所述应用关联的多个硬件线程;由计算滑撬检测按监视的硬件线程的功能是否已经检测到阶段改变;以及由计算滑撬并响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件。
示例18包含示例17的主题,并且其中监视多个硬件线程包括收集与由所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据。
示例19包含示例17和18中任一示例的主题,并且其中收集遥测数据包含收集第一计算元件的每周期指令(IPC)值。
示例20包含示例17-19中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将所述第一计算元件的所述IPC值与峰值IPC阈值相比较。
示例21包含示例17-20中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段。
示例22包含示例17-21中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为存储器界限阶段。
示例23包含示例17-22中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述计算滑撬的另一高性能CPU。
示例24包含示例17-23中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU。
示例25包含示例17-24中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU。
示例26包含示例17-25中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述加速器滑撬的低性能CPU。
示例27包含示例17-26中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
示例28包含示例17-27中任一示例的主题,并且其中将所述硬件线程迁移到所述第二计算元件包括:在所述第一计算元件暂停所述硬件线程;将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件;在所述第二计算元件再继续迁移的硬件线程;以及使所述第一计算元件离线。
示例29包含示例17-28中任一示例的主题,并且进一步包含:由计算滑撬将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA。
示例30包含示例17-29中任一示例的主题,并且进一步包含:由计算滑撬接收指示计算内核已经完成的指示;以及由计算滑撬并响应于已经接收到所述指示而将应用迁移到第三计算元件。
示例31包含示例17-30中任一示例的主题,并且其中将应用迁移到第三计算元件包括将所述应用迁移到所述多个计算滑撬之一的高性能CPU。
示例32包含示例17-31中任一示例的主题,并且其中将所述硬件线程迁移到所述第三计算元件包括:在所述第二计算元件暂停所述硬件线程;将所述硬件线程的状态从所述第二计算元件迁移到所述第三计算元件;在所述第三计算元件再继续迁移的硬件线程;以及使所述第二计算元件离线。
示例33包含一个或更多个机器可读存储介质,其包括其上存储的多个指令,所述指令响应于被执行而促使计算滑撬执行示例17-32中任一示例的方法。
示例34包含一种用于改进网络中的吞吐量的计算滑撬,计算滑撬包括:一个或更多个处理器;一个或更多个存储器装置,其中存储有多个指令,所述指令当由所述一个或更多个处理器执行时促使计算滑撬执行示例17-32中任一示例的方法。
示例35包含一种用于在加速架构中的自动迁移的计算滑撬,所述计算滑撬包括:阶段检测逻辑电路,所述阶段检测逻辑电路用于从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到计算滑撬;监视与所述应用关联的多个硬件线程;检测按监视的硬件线程的功能是否已经检测到阶段改变;以及响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件。
示例36包含示例35的主题,并且其中监视多个硬件线程包括收集与由所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据。
示例37包含示例35和36中任一示例的主题,并且其中收集遥测数据包含收集第一计算元件的每周期指令(IPC)值。
示例38包含示例35-37中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将所述第一计算元件的所述IPC值与峰值IPC阈值相比较。
示例39包含示例35-38中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段。
示例40包含示例35-39中任一示例的主题,并且其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为存储器界限阶段。
示例41包含示例35-40中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述计算滑撬的另一高性能CPU。
示例42包含示例35-41中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU。
示例43包含示例35-42中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU。
示例44包含示例35-43中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述加速器滑撬的低性能CPU。
示例45包含示例35-44中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
示例46包含示例35-45中任一示例的主题,并且其中将所述硬件线程迁移到所述第二计算元件包括:在所述第一计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件,在所述第二计算元件再继续迁移的硬件线程,并且使所述第一计算元件离线。
示例47包含示例35-46中任一示例的主题,并且其中阶段检测逻辑电路进一步将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA。
示例48包含示例35-47中任一示例的主题,并且其中计算引擎进一步接收指示计算内核已经完成的指示;以及响应于已经接收到所述指示而将应用迁移到第三计算元件。
示例49包含示例35-48中任一示例的主题,并且其中将应用迁移到第三计算元件包括将所述应用迁移到所述多个计算滑撬之一的高性能CPU。
示例50包含示例35-49中任一示例的主题,并且其中将所述硬件线程迁移到所述第三计算元件包括:在所述第二计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第二计算元件迁移到所述第三计算元件,在所述第三计算元件再继续迁移的硬件线程,并且使所述第二计算元件离线。
示例35包含一种用于在加速架构中的自动迁移的计算滑撬,所述计算滑撬包括:用于从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示的电路,其中所述多个加速器滑撬和所述多个计算滑撬中的每个通信地耦合到计算滑撬;用于监视与所述应用关联的多个硬件线程的部件;用于检测是否作为监视的硬件线程的函数已经检测到阶段改变的部件;以及用于响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件的电路。
示例36包含示例35的主题,并且其中用于监视多个硬件线程的部件包括用于收集与所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据的部件。
示例37包含示例35和36中任一示例的主题,并且其中用于收集遥测数据的部件包含用于收集第一计算元件的每周期指令(IPC)值的部件。
示例38包含示例35-37中任一示例的主题,并且其中用于检测是否已经检测到所述阶段改变的部件包括用于将所述第一计算元件的所述IPC值与峰值IPC阈值相比较的部件。
示例39包含示例35-38中任一示例的主题,并且其中用于检测是否已经检测到所述阶段改变的部件包括用于将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段的部件。
示例40包含示例35-39中任一示例的主题,并且其中用于检测是否已经检测到所述阶段改变的部件包括用于将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为存储器界限阶段的部件。
示例41包含示例35-40中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述计算滑撬的另一高性能CPU。
示例42包含示例35-41中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU。
示例43包含示例35-42中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU。
示例44包含示例35-43中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述加速器滑撬的低性能CPU。
示例45包含示例35-44中任一示例的主题,并且其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
示例46包含示例35-45中任一示例的主题,并且其中用于将所述硬件线程迁移到所述第二计算元件的电路包括:用于在所述第一计算元件暂停所述硬件线程的电路;用于将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件的电路;用于在所述第二计算元件再继续迁移的硬件线程的电路;以及用于使所述第一计算元件离线的电路。
示例47包含示例35-46中任一示例的主题,并且进一步包含:用于由计算滑撬将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA的电路。
示例48包含示例35-47中任一示例的主题,并且进一步包含:用于由计算滑撬接收指示计算内核已经完成的指示的电路;以及用于由计算滑撬并响应于已经接收到所述指示而将应用迁移到第三计算元件的电路。
示例49包含示例35-48中任一示例的主题,并且其中用于将应用迁移到第三计算元件的电路包括用于将所述应用迁移到所述多个计算滑撬之一的高性能CPU的电路。
示例50包含示例35-49中任一示例的主题,并且其中用于将所述硬件线程迁移到所述第三计算元件的电路包括:用于在所述第二计算元件暂停所述硬件线程的电路;用于将所述硬件线程的状态从所述第二计算元件迁移到所述第三计算元件的电路;用于在所述第三计算元件再继续迁移的硬件线程的电路;以及用于使所述第第二计算元件离线的电路。
本发明还提供如下的技术方案:
1. 一种用于在加速架构中的自动迁移的计算滑撬,所述计算滑撬包括:
通信电路;以及
计算引擎,所述计算引擎用于:
从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到所述计算滑撬;
监视与所述应用关联的多个硬件线程;
检测按监视的硬件线程的功能是否已经检测到阶段改变;以及
响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件。
如技术方案1所述的计算滑撬,其中监视所述多个硬件线程包括收集与由所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据,其中收集所述遥测数据包含收集所述第一计算元件的每周期指令(IPC)值,并且其中检测是否已经检测到所述阶段改变包括将所述第一计算元件的所述IPC值与峰值IPC阈值相比较。
如技术方案1所述的计算滑撬,其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段或存储器界限阶段之一。
如技术方案1所述的计算滑撬,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述计算滑撬的另一高性能CPU。
如技术方案1所述的计算滑撬,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU。
如技术方案1所述的计算滑撬,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU。
如技术方案1所述的计算滑撬,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述加速器滑撬的低性能CPU。
如技术方案1所述的计算滑撬,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
如技术方案1所述的计算滑撬,其中将所述硬件线程迁移到所述第二计算元件包括:在所述第一计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件,在所述第二计算元件再继续迁移的硬件线程,并且使所述第一计算元件离线。
如技术方案1所述的计算滑撬,其中所述计算引擎进一步将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA。
如技术方案1所述的计算滑撬,其中所述计算引擎进一步:
接收指示所述计算内核已经完成的指示;以及
响应于已经接收到所述指示而将所述应用迁移到所述多个计算滑撬之一的高性能CPU。
一个或更多个机器可读存储介质,包括存储在所述一个或更多个机器可读存储介质上多个指令,所述指令响应于被执行而促使计算滑撬:
从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到所述计算滑撬;
监视与所述应用关联的多个硬件线程;
检测按监视的硬件线程的功能是否已经检测到阶段改变;以及
响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件。
如技术方案12所述的一个或更多个机器可读存储介质,其中监视所述多个硬件线程包括收集与所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据,其中收集所述遥测数据包含收集所述第一计算元件的每周期指令(IPC)值,并且其中检测是否已经检测到所述阶段改变包括将所述第一计算元件的所述IPC值与峰值IPC阈值相比较。
如技术方案12所述的一个或更多个机器可读存储介质,其中检测是否已经检测到所述阶段改变包括将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段或存储器界限阶段之一。
如技术方案12所述的一个或更多个机器可读存储介质,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述计算滑撬的另一高性能CPU。
如技术方案12所述的一个或更多个机器可读存储介质,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU。
如技术方案12所述的一个或更多个机器可读存储介质,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU。
如技术方案12所述的一个或更多个机器可读存储介质,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述加速器滑撬的低性能CPU。
如技术方案12所述的一个或更多个机器可读存储介质,其中所述应用目前正在执行所在的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到第二计算元件包括将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
如技术方案12所述的一个或更多个机器可读存储介质,其中将所述硬件线程迁移到所述第二计算元件包括:在所述第一计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件,在所述第二计算元件再继续迁移的硬件线程,并且使所述第一计算元件离线。
如技术方案12所述的一个或更多个机器可读存储介质,其中所述多个指令进一步促使所述计算滑撬将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA。
如技术方案12所述的一个或更多个机器可读存储介质,其中所述多个指令进一步促使所述计算滑撬:
接收指示所述计算内核已经完成的指示;以及
响应于已经接收到所述指示而将所述应用迁移到所述多个计算滑撬之一的高性能CPU。
一种用于在加速架构中的自动迁移的计算滑撬,所述计算滑撬包括:
用于从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示的电路,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到所述计算滑撬;
用于监视与所述应用关联的多个硬件线程的部件;
用于检测按监视的硬件线程的功能是否已经检测到阶段改变的部件;以及
用于响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件的电路。
如技术方案23所述的计算滑撬,其中用于监视所述多个硬件线程的部件包括用于收集与所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据的部件,其中用于收集所述遥测数据的部件包含用于收集所述第一计算元件的每周期指令(IPC)值的部件,并且其中用于检测是否已经检测到所述阶段改变的部件包括用于将所述第一计算元件的所述IPC值与峰值IPC阈值相比较的部件。
如技术方案23所述的计算滑撬,其中用于检测是否已经检测到所述阶段改变的部件包括用于将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为存储器界限阶段的部件。
Claims (25)
1.一种用于在加速架构中的自动迁移的计算滑撬,所述计算滑撬包括:
计算引擎,所述计算引擎用于:
从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到所述计算滑撬;
监视与所述应用关联的多个硬件线程;
检测按监视的硬件线程的功能是否已经检测到阶段改变;以及
响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件。
2.如权利要求1所述的计算滑撬,其中监视多个硬件线程包括收集与所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据。
3.如权利要求2所述的计算滑撬,其中收集遥测数据包含收集第一计算元件的每周期指令(IPC)值。
4.如权利要求3所述的计算滑撬,其中检测是否已经检测到所述阶段改变包括如下其中一项:将所述第一计算元件的所述IPC值与峰值IPC阈值相比较,将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段,或者将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为存储器界限阶段。
5.如权利要求1所述的计算滑撬,其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到所述第二计算元件包括如下一项:将所述硬件线程迁移到所述计算滑撬的另一高性能CPU、所述多个计算滑撬中的另一计算滑撬的高性能CPU、所述多个计算滑撬中的另一计算滑撬的低性能CPU、所述加速器滑撬的低性能CPU或者所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
6.如权利要求1所述的计算滑撬,其中将所述硬件线程迁移到所述第二计算元件包括:在所述第一计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件,在所述第二计算元件再继续迁移的硬件线程,并且使所述第一计算元件离线。
7.如权利要求1所述的计算滑撬,其中所述计算引擎进一步将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA。
8.如权利要求1所述的计算滑撬,其中所述计算滑撬进一步:
接收指示所述计算内核已经完成的指示;以及
响应于已经接收到所述指示而将所述应用迁移到第三计算元件。
9.如权利要求8所述的计算滑撬,其中将应用迁移到所述第三计算元件包括将所述应用迁移到所述多个计算滑撬之一的高性能CPU。
10.如权利要求8所述的计算滑撬,其中将所述硬件线程迁移到所述第三计算元件包括:在所述第二计算元件暂停所述硬件线程,将所述硬件线程的状态从所述第二计算元件迁移到所述第三计算元件,在所述第三计算元件再继续迁移的硬件线程,并且使所述第二计算元件离线。
11.一种用于在加速架构中的自动迁移的计算滑撬,所述计算滑撬包括:
用于从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示的电路,其中所述多个加速器滑撬和所述多个计算滑撬中的每个滑撬通信地耦合到所述计算滑撬;
用于监视与所述应用关联的多个硬件线程的部件;
用于检测按监视的硬件线程的功能是否已经检测到阶段改变的部件;以及
用于响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件的电路。
12.如权利要求11所述的计算滑撬,其中用于监视多个硬件线程的部件包括用于收集与所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据的部件。
13.如权利要求12所述的计算滑撬,其中用于收集遥测数据的部件包含用于收集第一计算元件的每周期指令(IPC)值的部件。
14.如权利要求13所述的计算滑撬,其中用于检测是否已经检测到所述阶段改变的部件包括用于如下其中一项的部件:(i)将所述第一计算元件的所述IPC值与峰值IPC阈值相比较,(ii)将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段,或者(iii)将先前阶段标识为CPU界限阶段并将目前阶段标识为存储器界限阶段。
15.如权利要求11所述的计算滑撬,其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到所述第二计算元件包括如下一项:将所述硬件线程迁移到所述计算滑撬的另一高性能CPU、将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU、将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU、将所述硬件线程迁移到所述加速器滑撬的低性能CPU或者将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
16.如权利要求11所述的计算滑撬,其中用于将所述硬件线程迁移到所述第二计算元件的电路包括:
用于暂停在所述第一计算元件的所述硬件线程的电路;
用于将所述硬件线程的状态从所述第一计算元件迁移到所述第二计算元件的电路;
用于在所述第二计算元件再继续所述迁移的硬件线程的电路;以及
用于使所述第一计算元件离线的电路。
17.如权利要求11所述的计算滑撬,进一步包括用于由计算滑撬将所述计算内核迁移到所述多个加速器滑撬中的另一加速器滑撬的另一FPGA的电路。
18.如权利要求11所述的计算滑撬,进一步包括:
用于由所述计算滑撬接收指示所述计算内核已经完成的指示的电路;以及
用于由所述计算滑撬并响应于已经接收到所述指示而将所述应用迁移到第三计算元件的电路。
19.如权利要求18所述的计算滑撬,其中用于将所述应用迁移到所述第三计算元件的电路包括用于将所述应用迁移到所述多个计算滑撬之一的高性能CPU的电路。
20.如权利要求18所述的计算滑撬,其中用于将所述硬件线程迁移到所述第三计算元件的电路包括:
用于暂停在所述第二计算元件的所述硬件线程的电路;
用于将所述硬件线程的状态从所述第二计算元件迁移到所述第三计算元件的电路;
用于在所述第三计算元件再继续所述迁移的硬件线程的电路;以及
用于使所述第二计算元件离线的电路。
21.一种用于在加速架构中的自动迁移的方法,所述方法包括:
由计算滑撬从在多个计算滑撬中的计算滑撬的第一计算元件上执行的应用接收与所述应用关联的计算内核已经被卸载到多个加速器滑撬中的加速器滑撬的现场可编程门阵列(FPGA)的指示,其中所述多个加速器滑撬和所述多个计算滑撬中的每个通信地耦合到所述计算滑撬;
由所述计算滑撬监视与所述应用关联的多个硬件线程;
由所述计算滑撬检测按监视的硬件线程的功能是否已经检测到阶段改变;以及
由所述计算滑撬并且响应于检测到所述阶段改变的检测而将所述硬件线程迁移到第二计算元件。
22.如权利要求21所述的方法,其中监视多个硬件线程包括收集与所述硬件线程在执行期间使用的一个或更多个硬件资源对应的遥测数据。
23.如权利要求22所述的方法,其中收集所述遥测数据包含收集所述第一计算元件的每周期指令(IPC)值,并且其中检测是否已经检测到所述阶段改变包括将所述第一计算元件的所述IPC值与峰值IPC阈值相比较。
24.如权利要求21所述的方法,其中检测是否已经检测到所述阶段改变包括如下其中一项:将先前阶段标识为中央处理单元(CPU)界限阶段并将目前阶段标识为FPGA界限阶段;或者将先前阶段标识为CPU界限阶段并将目前阶段标识为存储器界限阶段。
25.如权利要求21所述的方法,其中所述应用目前正在其上执行的所述第一计算元件包括高性能中央处理单元(CPU),并且其中响应于已经检测到所述阶段改变而将所述硬件线程迁移到所述第二计算元件包括如下一项:将所述硬件线程迁移到所述计算滑撬的另一高性能CPU、将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的高性能CPU、将所述硬件线程迁移到所述多个计算滑撬中的另一计算滑撬的低性能CPU、将所述硬件线程迁移到所述加速器滑撬的低性能CPU或者将所述硬件线程迁移到所述多个加速器滑撬中的另一加速器滑撬的低性能CPU。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201741030632 | 2017-08-30 | ||
IN201741030632 | 2017-08-30 | ||
US201762584401P | 2017-11-10 | 2017-11-10 | |
US62/584401 | 2017-11-10 | ||
US15/859,385 US20190065281A1 (en) | 2017-08-30 | 2017-12-30 | Technologies for auto-migration in accelerated architectures |
US15/859385 | 2017-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109426568A true CN109426568A (zh) | 2019-03-05 |
Family
ID=65434219
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810845565.8A Pending CN109426316A (zh) | 2017-08-30 | 2018-07-27 | 用于提供针对超融合基础结构的高效池化的技术 |
CN201810843475.5A Pending CN109428841A (zh) | 2017-08-30 | 2018-07-27 | 针对自动化网络拥塞管理的技术 |
CN201811001590.4A Pending CN109428889A (zh) | 2017-08-30 | 2018-08-30 | 用于自适应连接与连接优化之间的动态切换中的机器学习方案的技术 |
CN201811004878.7A Pending CN109426568A (zh) | 2017-08-30 | 2018-08-30 | 用于在加速架构中的自动迁移的技术 |
CN201811004869.8A Pending CN109426633A (zh) | 2017-08-30 | 2018-08-30 | 用于管理网络接口控制器的灵活主机接口的技术 |
CN201811002563.9A Pending CN109428843A (zh) | 2017-08-30 | 2018-08-30 | 从解聚架构中的加速器装置提供有效率的结果转移的技术 |
CN201811005041.4A Pending CN109426646A (zh) | 2017-08-30 | 2018-08-30 | 用于基于遥测数据来组成受管理节点的技术 |
CN201811004916.9A Pending CN109426630A (zh) | 2017-08-30 | 2018-08-30 | 用于提供对池化式加速器装置的有效访问的技术 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810845565.8A Pending CN109426316A (zh) | 2017-08-30 | 2018-07-27 | 用于提供针对超融合基础结构的高效池化的技术 |
CN201810843475.5A Pending CN109428841A (zh) | 2017-08-30 | 2018-07-27 | 针对自动化网络拥塞管理的技术 |
CN201811001590.4A Pending CN109428889A (zh) | 2017-08-30 | 2018-08-30 | 用于自适应连接与连接优化之间的动态切换中的机器学习方案的技术 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811004869.8A Pending CN109426633A (zh) | 2017-08-30 | 2018-08-30 | 用于管理网络接口控制器的灵活主机接口的技术 |
CN201811002563.9A Pending CN109428843A (zh) | 2017-08-30 | 2018-08-30 | 从解聚架构中的加速器装置提供有效率的结果转移的技术 |
CN201811005041.4A Pending CN109426646A (zh) | 2017-08-30 | 2018-08-30 | 用于基于遥测数据来组成受管理节点的技术 |
CN201811004916.9A Pending CN109426630A (zh) | 2017-08-30 | 2018-08-30 | 用于提供对池化式加速器装置的有效访问的技术 |
Country Status (5)
Country | Link |
---|---|
US (24) | US20190068466A1 (zh) |
EP (1) | EP3676708A4 (zh) |
CN (8) | CN109426316A (zh) |
DE (1) | DE112018004798T5 (zh) |
WO (5) | WO2019045930A1 (zh) |
Families Citing this family (128)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10693977B2 (en) * | 2017-01-30 | 2020-06-23 | Centurylink Intellectual Property Llc | Method and system for implementing dual network telemetry application programming interface (API) framework |
US9948724B2 (en) * | 2015-09-10 | 2018-04-17 | International Business Machines Corporation | Handling multi-pipe connections |
US10390114B2 (en) | 2016-07-22 | 2019-08-20 | Intel Corporation | Memory sharing for physical accelerator resources in a data center |
US20180150256A1 (en) | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US11016832B2 (en) * | 2016-11-29 | 2021-05-25 | Intel Corporation | Cloud-based scale-up system composition |
US10346315B2 (en) | 2017-05-26 | 2019-07-09 | Oracle International Corporation | Latchless, non-blocking dynamically resizable segmented hash index |
US10574580B2 (en) | 2017-07-04 | 2020-02-25 | Vmware, Inc. | Network resource management for hyper-converged infrastructures |
US11119835B2 (en) | 2017-08-30 | 2021-09-14 | Intel Corporation | Technologies for providing efficient reprovisioning in an accelerator device |
US11106427B2 (en) * | 2017-09-29 | 2021-08-31 | Intel Corporation | Memory filtering for disaggregate memory architectures |
US11650598B2 (en) * | 2017-12-30 | 2023-05-16 | Telescent Inc. | Automated physical network management system utilizing high resolution RFID, optical scans and mobile robotic actuator |
US10511690B1 (en) * | 2018-02-20 | 2019-12-17 | Intuit, Inc. | Method and apparatus for predicting experience degradation events in microservice-based applications |
WO2019190449A1 (en) * | 2018-03-26 | 2019-10-03 | Hewlett-Packard Development Company, L.P. | Generation of kernels based on physical states |
US10761726B2 (en) * | 2018-04-16 | 2020-09-01 | VWware, Inc. | Resource fairness control in distributed storage systems using congestion data |
US11315013B2 (en) * | 2018-04-23 | 2022-04-26 | EMC IP Holding Company LLC | Implementing parameter server in networking infrastructure for high-performance computing |
US10599553B2 (en) | 2018-04-27 | 2020-03-24 | International Business Machines Corporation | Managing cloud-based hardware accelerators |
US10936374B2 (en) | 2018-05-17 | 2021-03-02 | International Business Machines Corporation | Optimizing dynamic resource allocations for memory-dependent workloads in disaggregated data centers |
US10977085B2 (en) | 2018-05-17 | 2021-04-13 | International Business Machines Corporation | Optimizing dynamical resource allocations in disaggregated data centers |
US10893096B2 (en) | 2018-05-17 | 2021-01-12 | International Business Machines Corporation | Optimizing dynamical resource allocations using a data heat map in disaggregated data centers |
US11221886B2 (en) | 2018-05-17 | 2022-01-11 | International Business Machines Corporation | Optimizing dynamical resource allocations for cache-friendly workloads in disaggregated data centers |
US10841367B2 (en) | 2018-05-17 | 2020-11-17 | International Business Machines Corporation | Optimizing dynamical resource allocations for cache-dependent workloads in disaggregated data centers |
US11330042B2 (en) * | 2018-05-17 | 2022-05-10 | International Business Machines Corporation | Optimizing dynamic resource allocations for storage-dependent workloads in disaggregated data centers |
US10601903B2 (en) | 2018-05-17 | 2020-03-24 | International Business Machines Corporation | Optimizing dynamical resource allocations based on locality of resources in disaggregated data centers |
US10795713B2 (en) | 2018-05-25 | 2020-10-06 | Vmware, Inc. | Live migration of a virtualized compute accelerator workload |
US10684887B2 (en) * | 2018-05-25 | 2020-06-16 | Vmware, Inc. | Live migration of a virtualized compute accelerator workload |
US11042406B2 (en) | 2018-06-05 | 2021-06-22 | Intel Corporation | Technologies for providing predictive thermal management |
US11431648B2 (en) | 2018-06-11 | 2022-08-30 | Intel Corporation | Technologies for providing adaptive utilization of different interconnects for workloads |
US20190384376A1 (en) * | 2018-06-18 | 2019-12-19 | American Megatrends, Inc. | Intelligent allocation of scalable rack resources |
US11388835B1 (en) * | 2018-06-27 | 2022-07-12 | Amazon Technologies, Inc. | Placement of custom servers |
US11436113B2 (en) * | 2018-06-28 | 2022-09-06 | Twitter, Inc. | Method and system for maintaining storage device failure tolerance in a composable infrastructure |
US10977193B2 (en) | 2018-08-17 | 2021-04-13 | Oracle International Corporation | Remote direct memory operations (RDMOs) for transactional processing systems |
US11347678B2 (en) * | 2018-08-06 | 2022-05-31 | Oracle International Corporation | One-sided reliable remote direct memory operations |
US11188348B2 (en) * | 2018-08-31 | 2021-11-30 | International Business Machines Corporation | Hybrid computing device selection analysis |
US11182322B2 (en) | 2018-09-25 | 2021-11-23 | International Business Machines Corporation | Efficient component communication through resource rewiring in disaggregated datacenters |
US11012423B2 (en) | 2018-09-25 | 2021-05-18 | International Business Machines Corporation | Maximizing resource utilization through efficient component communication in disaggregated datacenters |
US11650849B2 (en) * | 2018-09-25 | 2023-05-16 | International Business Machines Corporation | Efficient component communication through accelerator switching in disaggregated datacenters |
US11163713B2 (en) | 2018-09-25 | 2021-11-02 | International Business Machines Corporation | Efficient component communication through protocol switching in disaggregated datacenters |
US11138044B2 (en) * | 2018-09-26 | 2021-10-05 | Micron Technology, Inc. | Memory pooling between selected memory resources |
US10901893B2 (en) * | 2018-09-28 | 2021-01-26 | International Business Machines Corporation | Memory bandwidth management for performance-sensitive IaaS |
EP3861489A4 (en) * | 2018-10-03 | 2022-07-06 | Rigetti & Co, LLC | QUANTUM RESOURCES DIVIDED IN LOTS |
US10962389B2 (en) * | 2018-10-03 | 2021-03-30 | International Business Machines Corporation | Machine status detection |
US10768990B2 (en) * | 2018-11-01 | 2020-09-08 | International Business Machines Corporation | Protecting an application by autonomously limiting processing to a determined hardware capacity |
US11055186B2 (en) * | 2018-11-27 | 2021-07-06 | Red Hat, Inc. | Managing related devices for virtual machines using robust passthrough device enumeration |
US10831975B2 (en) | 2018-11-29 | 2020-11-10 | International Business Machines Corporation | Debug boundaries in a hardware accelerator |
US11275622B2 (en) * | 2018-11-29 | 2022-03-15 | International Business Machines Corporation | Utilizing accelerators to accelerate data analytic workloads in disaggregated systems |
US10901918B2 (en) * | 2018-11-29 | 2021-01-26 | International Business Machines Corporation | Constructing flexibly-secure systems in a disaggregated environment |
US11048318B2 (en) * | 2018-12-06 | 2021-06-29 | Intel Corporation | Reducing microprocessor power with minimal performance impact by dynamically adapting runtime operating configurations using machine learning |
US10970107B2 (en) * | 2018-12-21 | 2021-04-06 | Servicenow, Inc. | Discovery of hyper-converged infrastructure |
US10771344B2 (en) * | 2018-12-21 | 2020-09-08 | Servicenow, Inc. | Discovery of hyper-converged infrastructure devices |
US11269593B2 (en) * | 2019-01-23 | 2022-03-08 | Sap Se | Global number range generation |
US11271804B2 (en) * | 2019-01-25 | 2022-03-08 | Dell Products L.P. | Hyper-converged infrastructure component expansion/replacement system |
US11429440B2 (en) * | 2019-02-04 | 2022-08-30 | Hewlett Packard Enterprise Development Lp | Intelligent orchestration of disaggregated applications based on class of service |
US10817221B2 (en) * | 2019-02-12 | 2020-10-27 | International Business Machines Corporation | Storage device with mandatory atomic-only access |
US10949101B2 (en) * | 2019-02-25 | 2021-03-16 | Micron Technology, Inc. | Storage device operation orchestration |
US11443018B2 (en) * | 2019-03-12 | 2022-09-13 | Xilinx, Inc. | Locking execution of cores to licensed programmable devices in a data center |
US11294992B2 (en) * | 2019-03-12 | 2022-04-05 | Xilinx, Inc. | Locking execution of cores to licensed programmable devices in a data center |
US11531869B1 (en) * | 2019-03-28 | 2022-12-20 | Xilinx, Inc. | Neural-network pooling |
JP7176455B2 (ja) * | 2019-03-28 | 2022-11-22 | オムロン株式会社 | 監視システム、設定装置および監視方法 |
US11243817B2 (en) * | 2019-03-29 | 2022-02-08 | Intel Corporation | Technologies for data migration between edge accelerators hosted on different edge locations |
US11055256B2 (en) * | 2019-04-02 | 2021-07-06 | Intel Corporation | Edge component computing system having integrated FaaS call handling capability |
US11089137B2 (en) * | 2019-04-02 | 2021-08-10 | International Business Machines Corporation | Dynamic data transmission |
WO2020206370A1 (en) | 2019-04-05 | 2020-10-08 | Cisco Technology, Inc. | Discovering trustworthy devices using attestation and mutual attestation |
US11263122B2 (en) * | 2019-04-09 | 2022-03-01 | Vmware, Inc. | Implementing fine grain data coherency of a shared memory region |
US11416294B1 (en) * | 2019-04-17 | 2022-08-16 | Juniper Networks, Inc. | Task processing for management of data center resources |
US11003479B2 (en) * | 2019-04-29 | 2021-05-11 | Intel Corporation | Device, system and method to communicate a kernel binary via a network |
CN110053650B (zh) * | 2019-05-06 | 2022-06-07 | 湖南中车时代通信信号有限公司 | 一种列车自动运行系统、列车自动运行系统架构及列车自动运行系统的模块管理方法 |
CN110203600A (zh) * | 2019-06-06 | 2019-09-06 | 北京卫星环境工程研究所 | 适用于航天器总装物料的自动存储及拣选系统 |
US11481117B2 (en) * | 2019-06-17 | 2022-10-25 | Hewlett Packard Enterprise Development Lp | Storage volume clustering based on workload fingerprints |
US10949362B2 (en) * | 2019-06-28 | 2021-03-16 | Intel Corporation | Technologies for facilitating remote memory requests in accelerator devices |
US10877817B1 (en) * | 2019-06-28 | 2020-12-29 | Intel Corporation | Technologies for providing inter-kernel application programming interfaces for an accelerated architecture |
US20200409748A1 (en) * | 2019-06-28 | 2020-12-31 | Intel Corporation | Technologies for managing accelerator resources |
US11514017B2 (en) | 2019-08-02 | 2022-11-29 | Jpmorgan Chase Bank, N.A. | Systems and methods for provisioning a new secondary IdentityIQ instance to an existing IdentityIQ instance |
US11082411B2 (en) * | 2019-08-06 | 2021-08-03 | Advanced New Technologies Co., Ltd. | RDMA-based data transmission method, network interface card, server and medium |
US10925166B1 (en) * | 2019-08-07 | 2021-02-16 | Quanta Computer Inc. | Protection fixture |
EP4019206A4 (en) * | 2019-08-22 | 2022-08-17 | NEC Corporation | ROBOT CONTROL SYSTEM, ROBOT CONTROL METHOD AND RECORDING MEDIA |
US10999403B2 (en) | 2019-09-27 | 2021-05-04 | Red Hat, Inc. | Composable infrastructure provisioning and balancing |
CN110650609B (zh) * | 2019-10-10 | 2020-12-01 | 珠海与非科技有限公司 | 一种分布式储存的云服务器 |
WO2021072236A2 (en) * | 2019-10-10 | 2021-04-15 | Channel One Holdings Inc. | Methods and systems for time-bounding execution of computing workflows |
US11200046B2 (en) * | 2019-10-22 | 2021-12-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing composable compute system infrastructure with support for decoupled firmware updates |
DE102020127704A1 (de) | 2019-10-29 | 2021-04-29 | Nvidia Corporation | Techniken zum effizienten transferieren von daten an einem prozessor |
US11803380B2 (en) | 2019-10-29 | 2023-10-31 | Nvidia Corporation | High performance synchronization mechanisms for coordinating operations on a computer system |
CN112749121A (zh) * | 2019-10-31 | 2021-05-04 | 中兴通讯股份有限公司 | 基于pcie总线的多芯片互联系统 |
US11342004B2 (en) * | 2019-11-07 | 2022-05-24 | Quantum Corporation | System and method for rapid replacement of robotic media mover in automated media library |
US10747281B1 (en) * | 2019-11-19 | 2020-08-18 | International Business Machines Corporation | Mobile thermal balancing of data centers |
US11782810B2 (en) * | 2019-11-22 | 2023-10-10 | Dell Products, L.P. | Systems and methods for automated field replacement component configuration |
US11263105B2 (en) | 2019-11-26 | 2022-03-01 | Lucid Software, Inc. | Visualization tool for components within a cloud infrastructure |
US11861219B2 (en) | 2019-12-12 | 2024-01-02 | Intel Corporation | Buffer to reduce write amplification of misaligned write operations |
US11789878B2 (en) * | 2019-12-19 | 2023-10-17 | Intel Corporation | Adaptive fabric allocation for local and remote emerging memories based prediction schemes |
US11321259B2 (en) * | 2020-02-14 | 2022-05-03 | Sony Interactive Entertainment Inc. | Network architecture providing high speed storage access through a PCI express fabric between a compute node and a storage server |
US11636503B2 (en) | 2020-02-26 | 2023-04-25 | At&T Intellectual Property I, L.P. | System and method for offering network slice as a service |
US11122123B1 (en) | 2020-03-09 | 2021-09-14 | International Business Machines Corporation | Method for a network of storage devices |
US11121941B1 (en) | 2020-03-12 | 2021-09-14 | Cisco Technology, Inc. | Monitoring communications to identify performance degradation |
US20210304025A1 (en) * | 2020-03-24 | 2021-09-30 | Facebook, Inc. | Dynamic quality of service management for deep learning training communication |
US11115497B2 (en) * | 2020-03-25 | 2021-09-07 | Intel Corporation | Technologies for providing advanced resource management in a disaggregated environment |
US11630696B2 (en) | 2020-03-30 | 2023-04-18 | International Business Machines Corporation | Messaging for a hardware acceleration system |
US11509079B2 (en) * | 2020-04-06 | 2022-11-22 | Hewlett Packard Enterprise Development Lp | Blind mate connections with different sets of datums |
US11177618B1 (en) * | 2020-05-14 | 2021-11-16 | Dell Products L.P. | Server blind-mate power and signal connector dock |
US11374808B2 (en) * | 2020-05-29 | 2022-06-28 | Corning Research & Development Corporation | Automated logging of patching operations via mixed reality based labeling |
US11295135B2 (en) * | 2020-05-29 | 2022-04-05 | Corning Research & Development Corporation | Asset tracking of communication equipment via mixed reality based labeling |
US11947971B2 (en) * | 2020-06-11 | 2024-04-02 | Hewlett Packard Enterprise Development Lp | Remote resource configuration mechanism |
US11687629B2 (en) * | 2020-06-12 | 2023-06-27 | Baidu Usa Llc | Method for data protection in a data processing cluster with authentication |
US11360789B2 (en) | 2020-07-06 | 2022-06-14 | International Business Machines Corporation | Configuration of hardware devices |
CN111824668B (zh) * | 2020-07-08 | 2022-07-19 | 北京极智嘉科技股份有限公司 | 机器人以及基于机器人的容器存入、取出方法 |
US11681557B2 (en) * | 2020-07-31 | 2023-06-20 | International Business Machines Corporation | Systems and methods for managing resources in a hyperconverged infrastructure cluster |
EP4193302A1 (en) | 2020-08-05 | 2023-06-14 | Avesha, Inc. | Performing load balancing self adjustment within an application environment |
US11314687B2 (en) * | 2020-09-24 | 2022-04-26 | Commvault Systems, Inc. | Container data mover for migrating data between distributed data storage systems integrated with application orchestrators |
US20210011787A1 (en) * | 2020-09-25 | 2021-01-14 | Francesc Guim Bernat | Technologies for scaling inter-kernel technologies for accelerator device kernels |
US11405451B2 (en) * | 2020-09-30 | 2022-08-02 | Jpmorgan Chase Bank, N.A. | Data pipeline architecture |
US11379402B2 (en) * | 2020-10-20 | 2022-07-05 | Micron Technology, Inc. | Secondary device detection using a synchronous interface |
US20220129601A1 (en) * | 2020-10-26 | 2022-04-28 | Oracle International Corporation | Techniques for generating a configuration for electrically isolating fault domains in a data center |
US11803493B2 (en) * | 2020-11-30 | 2023-10-31 | Dell Products L.P. | Systems and methods for management controller co-processor host to variable subsystem proxy |
US20210092069A1 (en) * | 2020-12-10 | 2021-03-25 | Intel Corporation | Accelerating multi-node performance of machine learning workloads |
US11662934B2 (en) * | 2020-12-15 | 2023-05-30 | International Business Machines Corporation | Migration of a logical partition between mutually non-coherent host data processing systems |
US11948014B2 (en) * | 2020-12-15 | 2024-04-02 | Google Llc | Multi-tenant control plane management on computing platform |
US11645104B2 (en) * | 2020-12-22 | 2023-05-09 | Reliance Jio Infocomm Usa, Inc. | Intelligent data plane acceleration by offloading to distributed smart network interfaces |
US11994997B2 (en) | 2020-12-23 | 2024-05-28 | Intel Corporation | Memory controller to manage quality of service enforcement and migration between local and pooled memory |
US11445028B2 (en) | 2020-12-30 | 2022-09-13 | Dell Products L.P. | System and method for providing secure console access with multiple smart NICs using NC-SL and SPDM |
US11803216B2 (en) | 2021-02-03 | 2023-10-31 | Hewlett Packard Enterprise Development Lp | Contiguous plane infrastructure for computing systems |
US11785735B2 (en) * | 2021-02-19 | 2023-10-10 | CyberSecure IPS, LLC | Intelligent cable patching of racks to facilitate cable installation |
US11503743B2 (en) * | 2021-03-12 | 2022-11-15 | Baidu Usa Llc | High availability fluid connector for liquid cooling |
US11470015B1 (en) * | 2021-03-22 | 2022-10-11 | Amazon Technologies, Inc. | Allocating workloads to heterogenous worker fleets |
US20220321403A1 (en) * | 2021-04-02 | 2022-10-06 | Nokia Solutions And Networks Oy | Programmable network segmentation for multi-tenant fpgas in cloud infrastructures |
US20220342688A1 (en) * | 2021-04-26 | 2022-10-27 | Dell Products L.P. | Systems and methods for migration of virtual computing resources using smart network interface controller acceleration |
US11805073B2 (en) | 2021-05-03 | 2023-10-31 | Avesha, Inc. | Controlling placement of workloads of an application within an application environment |
US11714775B2 (en) | 2021-05-10 | 2023-08-01 | Zenlayer Innovation LLC | Peripheral component interconnect (PCI) hosting device |
IT202100017564A1 (it) * | 2021-07-02 | 2023-01-02 | Fastweb S P A | Apparato robotico per eseguire operazioni di manutenzione su un componente elettronico |
US11863385B2 (en) * | 2022-01-21 | 2024-01-02 | International Business Machines Corporation | Optimizing container executions with network-attached hardware components of a composable disaggregated infrastructure |
US11921582B2 (en) | 2022-04-29 | 2024-03-05 | Microsoft Technology Licensing, Llc | Out of band method to change boot firmware configuration |
CN115052055B (zh) * | 2022-08-17 | 2022-11-11 | 北京左江科技股份有限公司 | 一种基于FPGA的网络报文的checksum卸载方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060149883A1 (en) * | 2005-01-05 | 2006-07-06 | Benbow James B | Systems and methods for providing co-processors to computing systems |
US20090089564A1 (en) * | 2006-12-06 | 2009-04-02 | Brickell Ernie F | Protecting a Branch Instruction from Side Channel Vulnerabilities |
US20110055838A1 (en) * | 2009-08-28 | 2011-03-03 | Moyes William A | Optimized thread scheduling via hardware performance monitoring |
CN102163072A (zh) * | 2008-12-09 | 2011-08-24 | 英特尔公司 | 用于节能的基于软件的线程重映射 |
US20120054771A1 (en) * | 2010-08-31 | 2012-03-01 | International Business Machines Corporation | Rescheduling workload in a hybrid computing environment |
US20120116590A1 (en) * | 2010-11-04 | 2012-05-10 | Dell Products L.P. | Rack-level modular server and storage framework |
US20160239074A1 (en) * | 2015-02-13 | 2016-08-18 | Victor W. Lee | Performing power management in a multicore processor |
Family Cites Families (185)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2704350B1 (fr) * | 1993-04-22 | 1995-06-02 | Bull Sa | Structure physique d'un sous système de mémoire de masse. |
JP3320344B2 (ja) * | 1997-09-19 | 2002-09-03 | 富士通株式会社 | ライブラリ装置用カートリッジ移送ロボットおよびライブラリ装置 |
US6158000A (en) * | 1998-09-18 | 2000-12-05 | Compaq Computer Corporation | Shared memory initialization method for system having multiple processor capability |
US6230265B1 (en) * | 1998-09-30 | 2001-05-08 | International Business Machines Corporation | Method and system for configuring resources in a data processing system utilizing system power control information |
US7287096B2 (en) * | 2001-05-19 | 2007-10-23 | Texas Instruments Incorporated | Method for robust, flexible reconfiguration of transceive parameters for communication systems |
US7536715B2 (en) * | 2001-05-25 | 2009-05-19 | Secure Computing Corporation | Distributed firewall system and method |
US6901580B2 (en) * | 2001-06-22 | 2005-05-31 | Intel Corporation | Configuration parameter sequencing and sequencer |
US7415723B2 (en) * | 2002-06-11 | 2008-08-19 | Pandya Ashish A | Distributed network security system and a hardware processor therefor |
US7408876B1 (en) * | 2002-07-02 | 2008-08-05 | Extreme Networks | Method and apparatus for providing quality of service across a switched backplane between egress queue managers |
US20040073834A1 (en) * | 2002-10-10 | 2004-04-15 | Kermaani Kaamel M. | System and method for expanding the management redundancy of computer systems |
US7386889B2 (en) * | 2002-11-18 | 2008-06-10 | Trusted Network Technologies, Inc. | System and method for intrusion prevention in a communications network |
US7031154B2 (en) * | 2003-04-30 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Louvered rack |
US7238104B1 (en) * | 2003-05-02 | 2007-07-03 | Foundry Networks, Inc. | System and method for venting air from a computer casing |
US7146511B2 (en) * | 2003-10-07 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Rack equipment application performance modification system and method |
US20050132084A1 (en) * | 2003-12-10 | 2005-06-16 | Heung-For Cheng | Method and apparatus for providing server local SMBIOS table through out-of-band communication |
US7809836B2 (en) | 2004-04-07 | 2010-10-05 | Intel Corporation | System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system |
US7552217B2 (en) | 2004-04-07 | 2009-06-23 | Intel Corporation | System and method for Automatic firmware image recovery for server management operational code |
US7421535B2 (en) * | 2004-05-10 | 2008-09-02 | International Business Machines Corporation | Method for demoting tracks from cache |
JP4335760B2 (ja) * | 2004-07-08 | 2009-09-30 | 富士通株式会社 | ラックマウント型収納ユニットおよびラックマウント型ディスクアレイ装置 |
US7685319B2 (en) * | 2004-09-28 | 2010-03-23 | Cray Canada Corporation | Low latency communication via memory windows |
US20110016214A1 (en) * | 2009-07-15 | 2011-01-20 | Cluster Resources, Inc. | System and method of brokering cloud computing resources |
US7634584B2 (en) * | 2005-04-27 | 2009-12-15 | Solarflare Communications, Inc. | Packet validation in virtual network interface architecture |
US9135074B2 (en) * | 2005-05-19 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | Evaluating performance of workload manager based on QoS to representative workload and usage efficiency of shared resource for plurality of minCPU and maxCPU allocation values |
US8799980B2 (en) * | 2005-11-16 | 2014-08-05 | Juniper Networks, Inc. | Enforcement of network device configuration policies within a computing environment |
TW200720941A (en) * | 2005-11-18 | 2007-06-01 | Inventec Corp | Host computer memory configuration data remote access method and system |
US7493419B2 (en) * | 2005-12-13 | 2009-02-17 | International Business Machines Corporation | Input/output workload fingerprinting for input/output schedulers |
US8713551B2 (en) * | 2006-01-03 | 2014-04-29 | International Business Machines Corporation | Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US7472211B2 (en) * | 2006-07-28 | 2008-12-30 | International Business Machines Corporation | Blade server switch module using out-of-band signaling to detect the physical location of an active drive enclosure device |
US8098658B1 (en) * | 2006-08-01 | 2012-01-17 | Hewett-Packard Development Company, L.P. | Power-based networking resource allocation |
US8010565B2 (en) * | 2006-10-16 | 2011-08-30 | Dell Products L.P. | Enterprise rack management method, apparatus and media |
US8068351B2 (en) * | 2006-11-10 | 2011-11-29 | Oracle America, Inc. | Cable management system |
US8112524B2 (en) * | 2007-01-15 | 2012-02-07 | International Business Machines Corporation | Recommending moving resources in a partitioned computer |
US7738900B1 (en) | 2007-02-15 | 2010-06-15 | Nextel Communications Inc. | Systems and methods of group distribution for latency sensitive applications |
US8140719B2 (en) * | 2007-06-21 | 2012-03-20 | Sea Micro, Inc. | Dis-aggregated and distributed data-center architecture using a direct interconnect fabric |
CN101431432A (zh) * | 2007-11-06 | 2009-05-13 | 联想(北京)有限公司 | 刀片服务器 |
US8078865B2 (en) * | 2007-11-20 | 2011-12-13 | Dell Products L.P. | Systems and methods for configuring out-of-band bios settings |
US8214467B2 (en) * | 2007-12-14 | 2012-07-03 | International Business Machines Corporation | Migrating port-specific operating parameters during blade server failover |
EP2223211A4 (en) * | 2007-12-17 | 2011-08-17 | Nokia Corp | CONFIGURATION AND ACCESSORY MANAGEMENT |
US8645965B2 (en) * | 2007-12-31 | 2014-02-04 | Intel Corporation | Supporting metered clients with manycore through time-limited partitioning |
US8225159B1 (en) * | 2008-04-25 | 2012-07-17 | Netapp, Inc. | Method and system for implementing power savings features on storage devices within a storage subsystem |
US8166263B2 (en) * | 2008-07-03 | 2012-04-24 | Commvault Systems, Inc. | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices |
US20100125695A1 (en) * | 2008-11-15 | 2010-05-20 | Nanostar Corporation | Non-volatile memory storage system |
US20100091458A1 (en) * | 2008-10-15 | 2010-04-15 | Mosier Jr David W | Electronics chassis with angled card cage |
US8798045B1 (en) * | 2008-12-29 | 2014-08-05 | Juniper Networks, Inc. | Control plane architecture for switch fabrics |
US20100229175A1 (en) * | 2009-03-05 | 2010-09-09 | International Business Machines Corporation | Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems |
WO2010108165A1 (en) * | 2009-03-20 | 2010-09-23 | The Trustees Of Princeton University | Systems and methods for network acceleration and efficient indexing for caching file systems |
US8321870B2 (en) * | 2009-08-14 | 2012-11-27 | General Electric Company | Method and system for distributed computation having sub-task processing and sub-solution redistribution |
EP2490517A1 (en) * | 2009-10-16 | 2012-08-22 | Fujitsu Limited | Electronic device and casing for electronic device |
CN101706802B (zh) * | 2009-11-24 | 2013-06-05 | 成都市华为赛门铁克科技有限公司 | 一种数据写入、修改及恢复的方法、装置及服务器 |
US9129052B2 (en) * | 2009-12-03 | 2015-09-08 | International Business Machines Corporation | Metering resource usage in a cloud computing environment |
CN102135923A (zh) * | 2010-01-21 | 2011-07-27 | 鸿富锦精密工业(深圳)有限公司 | 将操作系统集成到bios芯片的方法及启动该操作系统的方法 |
US8638553B1 (en) * | 2010-03-31 | 2014-01-28 | Amazon Technologies, Inc. | Rack system cooling with inclined computing devices |
US8601297B1 (en) * | 2010-06-18 | 2013-12-03 | Google Inc. | Systems and methods for energy proportional multiprocessor networks |
US8171142B2 (en) * | 2010-06-30 | 2012-05-01 | Vmware, Inc. | Data center inventory management using smart racks |
IT1401647B1 (it) * | 2010-07-09 | 2013-08-02 | Campatents B V | Metodo per monitorare cambi di configurazione di un dispostivo di controllo di una macchina automatica |
US8259450B2 (en) * | 2010-07-21 | 2012-09-04 | Birchbridge Incorporated | Mobile universal hardware platform |
WO2012016031A1 (en) * | 2010-07-28 | 2012-02-02 | Par Systems, Inc. | Robotic storage and retrieval systems |
US8824222B2 (en) * | 2010-08-13 | 2014-09-02 | Rambus Inc. | Fast-wake memory |
US8489939B2 (en) * | 2010-10-25 | 2013-07-16 | At&T Intellectual Property I, L.P. | Dynamically allocating multitier applications based upon application requirements and performance and reliability of resources |
WO2012057546A2 (ko) * | 2010-10-28 | 2012-05-03 | 엘지전자 주식회사 | 무선랜 시스템에서 데이터 프레임 송수신 방법 및 장치 |
US8762668B2 (en) * | 2010-11-18 | 2014-06-24 | Hitachi, Ltd. | Multipath switching over multiple storage systems |
US9563479B2 (en) * | 2010-11-30 | 2017-02-07 | Red Hat, Inc. | Brokering optimized resource supply costs in host cloud-based network using predictive workloads |
CN102693181A (zh) * | 2011-03-25 | 2012-09-26 | 鸿富锦精密工业(深圳)有限公司 | 分位刷写系统及方法 |
US9405550B2 (en) * | 2011-03-31 | 2016-08-02 | International Business Machines Corporation | Methods for the transmission of accelerator commands and corresponding command structure to remote hardware accelerator engines over an interconnect link |
US20120303322A1 (en) * | 2011-05-23 | 2012-11-29 | Rego Charles W | Incorporating memory and io cycle information into compute usage determinations |
WO2013006157A1 (en) * | 2011-07-01 | 2013-01-10 | Hewlett-Packard Development Company, L.P. | Method of and system for managing computing resources |
US9317336B2 (en) * | 2011-07-27 | 2016-04-19 | Alcatel Lucent | Method and apparatus for assignment of virtual resources within a cloud environment |
US8713257B2 (en) * | 2011-08-26 | 2014-04-29 | Lsi Corporation | Method and system for shared high speed cache in SAS switches |
US8755176B2 (en) * | 2011-10-12 | 2014-06-17 | Xyratex Technology Limited | Data storage system, an energy module and a method of providing back-up power to a data storage system |
US9237107B2 (en) * | 2011-11-15 | 2016-01-12 | New Jersey Institute Of Technology | Fair quantized congestion notification (FQCN) to mitigate transport control protocol (TCP) throughput collapse in data center networks |
EP2783287A4 (en) * | 2011-11-23 | 2014-12-03 | Ericsson Telefon Ab L M | METHOD AND DEVICE FOR DISTRIBUTED PROCESSING TASKS |
DE102011119693A1 (de) * | 2011-11-29 | 2013-05-29 | Universität Heidelberg | System, Computer-implementiertes Verfahren und Computerprogrammprodukt zur direkten Kommunikation zwischen Hardwarebeschleunigern in einem Computercluster |
US8732291B2 (en) * | 2012-01-13 | 2014-05-20 | Accenture Global Services Limited | Performance interference model for managing consolidated workloads in QOS-aware clouds |
US20130185729A1 (en) | 2012-01-13 | 2013-07-18 | Rutgers, The State University Of New Jersey | Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures |
US9336061B2 (en) * | 2012-01-14 | 2016-05-10 | International Business Machines Corporation | Integrated metering of service usage for hybrid clouds |
US9367360B2 (en) * | 2012-01-30 | 2016-06-14 | Microsoft Technology Licensing, Llc | Deploying a hardware inventory as a cloud-computing stamp |
TWI462017B (zh) * | 2012-02-24 | 2014-11-21 | Wistron Corp | 伺服器部署系統及資料更新的方法 |
WO2013180691A1 (en) * | 2012-05-29 | 2013-12-05 | Intel Corporation | Peer-to-peer interrupt signaling between devices coupled via interconnects |
CN102694863B (zh) * | 2012-05-30 | 2015-08-26 | 电子科技大学 | 基于负载调整和系统容错的分布式存储系统的实现方法 |
JP5983045B2 (ja) * | 2012-05-30 | 2016-08-31 | 富士通株式会社 | ライブラリ装置 |
US8832268B1 (en) * | 2012-08-16 | 2014-09-09 | Amazon Technologies, Inc. | Notification and resolution of infrastructure issues |
DE112013004915T8 (de) * | 2012-10-08 | 2015-07-23 | Fisher-Rosemount Systems, Inc. | Konfigurierbare User-Displays in einem Prozessleitsystem |
US9202040B2 (en) | 2012-10-10 | 2015-12-01 | Globalfoundries Inc. | Chip authentication using multi-domain intrinsic identifiers |
US9047417B2 (en) * | 2012-10-29 | 2015-06-02 | Intel Corporation | NUMA aware network interface |
US20140185225A1 (en) * | 2012-12-28 | 2014-07-03 | Joel Wineland | Advanced Datacenter Designs |
US9367419B2 (en) | 2013-01-08 | 2016-06-14 | American Megatrends, Inc. | Implementation on baseboard management controller of single out-of-band communication access to multiple managed computer nodes |
US9609782B2 (en) * | 2013-01-15 | 2017-03-28 | Intel Corporation | Rack assembly structure |
US9201837B2 (en) * | 2013-03-13 | 2015-12-01 | Futurewei Technologies, Inc. | Disaggregated server architecture for data centers |
US9582010B2 (en) * | 2013-03-14 | 2017-02-28 | Rackspace Us, Inc. | System and method of rack management |
US9634958B2 (en) * | 2013-04-02 | 2017-04-25 | Amazon Technologies, Inc. | Burst capacity for user-defined pools |
US9104562B2 (en) * | 2013-04-05 | 2015-08-11 | International Business Machines Corporation | Enabling communication over cross-coupled links between independently managed compute and storage networks |
CN103281351B (zh) * | 2013-04-19 | 2016-12-28 | 武汉方寸科技有限公司 | 一种高效能遥感数据处理与分析的云服务平台 |
US20140317267A1 (en) * | 2013-04-22 | 2014-10-23 | Advanced Micro Devices, Inc. | High-Density Server Management Controller |
US20140337496A1 (en) * | 2013-05-13 | 2014-11-13 | Advanced Micro Devices, Inc. | Embedded Management Controller for High-Density Servers |
CN103294521B (zh) * | 2013-05-30 | 2016-08-10 | 天津大学 | 一种降低数据中心通信负载及能耗的方法 |
US9436600B2 (en) * | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US20150033222A1 (en) | 2013-07-25 | 2015-01-29 | Cavium, Inc. | Network Interface Card with Virtual Switch and Traffic Flow Policy Enforcement |
US10069686B2 (en) * | 2013-09-05 | 2018-09-04 | Pismo Labs Technology Limited | Methods and systems for managing a device through a manual information input module |
US9306861B2 (en) * | 2013-09-26 | 2016-04-05 | Red Hat Israel, Ltd. | Automatic promiscuous forwarding for a bridge |
US9413713B2 (en) * | 2013-12-05 | 2016-08-09 | Cisco Technology, Inc. | Detection of a misconfigured duplicate IP address in a distributed data center network fabric |
US9792243B2 (en) * | 2013-12-26 | 2017-10-17 | Intel Corporation | Computer architecture to provide flexibility and/or scalability |
US9705798B1 (en) * | 2014-01-07 | 2017-07-11 | Google Inc. | Systems and methods for routing data through data centers using an indirect generalized hypercube network |
US9444695B2 (en) * | 2014-01-30 | 2016-09-13 | Xerox Corporation | Methods and systems for scheduling a task |
CN105940378B (zh) * | 2014-02-27 | 2019-08-13 | 英特尔公司 | 用于分配可配置计算资源的技术 |
JP6438035B2 (ja) * | 2014-02-27 | 2018-12-12 | インテル・コーポレーション | ラックスケールアーキテクチャコンピューティングシステムのためのワークロード最適化、スケジューリング及び配置 |
US9363926B1 (en) * | 2014-03-17 | 2016-06-07 | Amazon Technologies, Inc. | Modular mass storage system with staggered backplanes |
US9561469B2 (en) * | 2014-03-24 | 2017-02-07 | Johnson Matthey Public Limited Company | Catalyst for treating exhaust gas |
US10218645B2 (en) * | 2014-04-08 | 2019-02-26 | Mellanox Technologies, Ltd. | Low-latency processing in a network node |
US9503391B2 (en) * | 2014-04-11 | 2016-11-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for network function placement |
US9544233B2 (en) * | 2014-04-28 | 2017-01-10 | New Jersey Institute Of Technology | Congestion management for datacenter network |
US9081828B1 (en) * | 2014-04-30 | 2015-07-14 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
TWI510933B (zh) * | 2014-05-13 | 2015-12-01 | Acer Inc | 遠端存取資料的方法以及本地端裝置 |
EP3244592B1 (en) * | 2014-05-22 | 2019-07-24 | Huawei Technologies Co., Ltd. | Node interconnection apparatus, resource control node, and server system |
US9477279B1 (en) * | 2014-06-02 | 2016-10-25 | Datadirect Networks, Inc. | Data storage system with active power management and method for monitoring and dynamical control of power sharing between devices in data storage system |
US9602351B2 (en) * | 2014-06-06 | 2017-03-21 | Microsoft Technology Licensing, Llc | Proactive handling of network faults |
US9798636B2 (en) * | 2014-06-23 | 2017-10-24 | Liqid Inc. | Front end traffic handling in modular switched fabric based data storage systems |
US10382279B2 (en) * | 2014-06-30 | 2019-08-13 | Emc Corporation | Dynamically composed compute nodes comprising disaggregated components |
US10122605B2 (en) * | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
US9892079B2 (en) * | 2014-07-25 | 2018-02-13 | Rajiv Ganth | Unified converged network, storage and compute system |
US9262144B1 (en) * | 2014-08-20 | 2016-02-16 | International Business Machines Corporation | Deploying virtual machine instances of a pattern to regions of a hierarchical tier using placement policies and constraints |
US9684531B2 (en) * | 2014-08-21 | 2017-06-20 | International Business Machines Corporation | Combining blade servers based on workload characteristics |
CN104168332A (zh) * | 2014-09-01 | 2014-11-26 | 广东电网公司信息中心 | 高性能计算中负载均衡与节点状态监控方法 |
US9858104B2 (en) * | 2014-09-24 | 2018-01-02 | Pluribus Networks, Inc. | Connecting fabrics via switch-to-switch tunneling transparent to network servers |
US10630767B1 (en) * | 2014-09-30 | 2020-04-21 | Amazon Technologies, Inc. | Hardware grouping based computing resource allocation |
US10061599B1 (en) * | 2014-10-16 | 2018-08-28 | American Megatrends, Inc. | Bus enumeration acceleration |
US9098451B1 (en) * | 2014-11-21 | 2015-08-04 | Igneous Systems, Inc. | Shingled repair set for writing data |
US9886306B2 (en) * | 2014-11-21 | 2018-02-06 | International Business Machines Corporation | Cross-platform scheduling with long-term fairness and platform-specific optimization |
CA2969863A1 (en) * | 2014-12-09 | 2016-06-16 | Cirba Ip Inc. | System and method for routing computing workloads based on proximity |
US20160173600A1 (en) | 2014-12-15 | 2016-06-16 | Cisco Technology, Inc. | Programmable processing engine for a virtual interface controller |
US10057186B2 (en) * | 2015-01-09 | 2018-08-21 | International Business Machines Corporation | Service broker for computational offloading and improved resource utilization |
EP3046028B1 (en) * | 2015-01-15 | 2020-02-19 | Alcatel Lucent | Load-balancing and scaling of cloud resources by migrating a data session |
US9965351B2 (en) * | 2015-01-27 | 2018-05-08 | Quantum Corporation | Power savings in cold storage |
JP2016167143A (ja) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | 情報処理システムおよび情報処理システムの制御方法 |
US9276900B1 (en) * | 2015-03-19 | 2016-03-01 | Igneous Systems, Inc. | Network bootstrapping for a distributed storage system |
US10848408B2 (en) * | 2015-03-26 | 2020-11-24 | Vmware, Inc. | Methods and apparatus to control computing resource utilization of monitoring agents |
US10606651B2 (en) * | 2015-04-17 | 2020-03-31 | Microsoft Technology Licensing, Llc | Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit |
US10019388B2 (en) * | 2015-04-28 | 2018-07-10 | Liqid Inc. | Enhanced initialization for data storage assemblies |
US9910664B2 (en) * | 2015-05-04 | 2018-03-06 | American Megatrends, Inc. | System and method of online firmware update for baseboard management controller (BMC) devices |
US20160335209A1 (en) * | 2015-05-11 | 2016-11-17 | Quanta Computer Inc. | High-speed data transmission using pcie protocol |
US9696781B2 (en) * | 2015-05-28 | 2017-07-04 | Cisco Technology, Inc. | Automated power control for reducing power usage in communications networks |
US11203486B2 (en) * | 2015-06-02 | 2021-12-21 | Alert Innovation Inc. | Order fulfillment system |
US9792248B2 (en) * | 2015-06-02 | 2017-10-17 | Microsoft Technology Licensing, Llc | Fast read/write between networked computers via RDMA-based RPC requests |
US9606836B2 (en) * | 2015-06-09 | 2017-03-28 | Microsoft Technology Licensing, Llc | Independently networkable hardware accelerators for increased workflow optimization |
CN204887839U (zh) * | 2015-07-23 | 2015-12-16 | 中兴通讯股份有限公司 | 一种单板模块级水冷系统 |
US10055218B2 (en) * | 2015-08-11 | 2018-08-21 | Quanta Computer Inc. | System and method for adding and storing groups of firmware default settings |
US10348574B2 (en) * | 2015-08-17 | 2019-07-09 | Vmware, Inc. | Hardware management systems for disaggregated rack architectures in virtual server rack deployments |
US10736239B2 (en) * | 2015-09-22 | 2020-08-04 | Z-Impact, Inc. | High performance computing rack and storage system with forced cooling |
US10387209B2 (en) * | 2015-09-28 | 2019-08-20 | International Business Machines Corporation | Dynamic transparent provisioning of resources for application specific resources |
US10162793B1 (en) * | 2015-09-29 | 2018-12-25 | Amazon Technologies, Inc. | Storage adapter device for communicating with network storage |
US9888607B2 (en) * | 2015-09-30 | 2018-02-06 | Seagate Technology Llc | Self-biasing storage device sled |
US10216643B2 (en) * | 2015-11-23 | 2019-02-26 | International Business Machines Corporation | Optimizing page table manipulations |
US9811347B2 (en) * | 2015-12-14 | 2017-11-07 | Dell Products, L.P. | Managing dependencies for human interface infrastructure (HII) devices |
US10028401B2 (en) * | 2015-12-18 | 2018-07-17 | Microsoft Technology Licensing, Llc | Sidewall-accessible dense storage rack |
US20170180220A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements |
US10452467B2 (en) * | 2016-01-28 | 2019-10-22 | Intel Corporation | Automatic model-based computing environment performance monitoring |
US10581711B2 (en) * | 2016-01-28 | 2020-03-03 | Oracle International Corporation | System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment |
EP3420450A1 (en) * | 2016-02-23 | 2019-01-02 | Telefonaktiebolaget LM Ericsson (publ) | Methods and modules relating to allocation of host machines |
US20170257970A1 (en) * | 2016-03-04 | 2017-09-07 | Radisys Corporation | Rack having uniform bays and an optical interconnect system for shelf-level, modular deployment of sleds enclosing information technology equipment |
US9811281B2 (en) * | 2016-04-07 | 2017-11-07 | International Business Machines Corporation | Multi-tenant memory service for memory pool architectures |
US10701141B2 (en) * | 2016-06-30 | 2020-06-30 | International Business Machines Corporation | Managing software licenses in a disaggregated environment |
US11706895B2 (en) * | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US10390114B2 (en) | 2016-07-22 | 2019-08-20 | Intel Corporation | Memory sharing for physical accelerator resources in a data center |
US10234833B2 (en) * | 2016-07-22 | 2019-03-19 | Intel Corporation | Technologies for predicting power usage of a data center |
US20180034908A1 (en) * | 2016-07-27 | 2018-02-01 | Alibaba Group Holding Limited | Disaggregated storage and computation system |
US10365852B2 (en) * | 2016-07-29 | 2019-07-30 | Vmware, Inc. | Resumable replica resynchronization |
US10193997B2 (en) | 2016-08-05 | 2019-01-29 | Dell Products L.P. | Encoded URI references in restful requests to facilitate proxy aggregation |
US10127107B2 (en) * | 2016-08-14 | 2018-11-13 | Nxp Usa, Inc. | Method for performing data transaction that selectively enables memory bank cuts and memory device therefor |
US10108560B1 (en) * | 2016-09-14 | 2018-10-23 | Evol1-Ip, Llc | Ethernet-leveraged hyper-converged infrastructure |
US10303458B2 (en) * | 2016-09-29 | 2019-05-28 | Hewlett Packard Enterprise Development Lp | Multi-platform installer |
US10776342B2 (en) * | 2016-11-18 | 2020-09-15 | Tuxena, Inc. | Systems and methods for recovering lost clusters from a mounted volume |
US10726131B2 (en) * | 2016-11-21 | 2020-07-28 | Facebook, Inc. | Systems and methods for mitigation of permanent denial of service attacks |
US11016832B2 (en) * | 2016-11-29 | 2021-05-25 | Intel Corporation | Cloud-based scale-up system composition |
US20180150256A1 (en) * | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US10503671B2 (en) * | 2016-12-29 | 2019-12-10 | Oath Inc. | Controlling access to a shared resource |
US10282549B2 (en) * | 2017-03-07 | 2019-05-07 | Hewlett Packard Enterprise Development Lp | Modifying service operating system of baseboard management controller |
US10967465B2 (en) * | 2017-03-08 | 2021-04-06 | Bwxt Nuclear Energy, Inc. | Apparatus and method for baffle bolt repair |
US20180288152A1 (en) * | 2017-04-01 | 2018-10-04 | Anjaneya R. Chagam Reddy | Storage dynamic accessibility mechanism method and apparatus |
US10331581B2 (en) * | 2017-04-10 | 2019-06-25 | Hewlett Packard Enterprise Development Lp | Virtual channel and resource assignment |
US10355939B2 (en) * | 2017-04-13 | 2019-07-16 | International Business Machines Corporation | Scalable data center network topology on distributed switch |
US10467052B2 (en) * | 2017-05-01 | 2019-11-05 | Red Hat, Inc. | Cluster topology aware container scheduling for efficient data transfer |
US10303615B2 (en) * | 2017-06-16 | 2019-05-28 | Hewlett Packard Enterprise Development Lp | Matching pointers across levels of a memory hierarchy |
US20190166032A1 (en) * | 2017-11-30 | 2019-05-30 | American Megatrends, Inc. | Utilization based dynamic provisioning of rack computing resources |
US10447273B1 (en) * | 2018-09-11 | 2019-10-15 | Advanced Micro Devices, Inc. | Dynamic virtualized field-programmable gate array resource control for performance and reliability |
US11201818B2 (en) * | 2019-04-04 | 2021-12-14 | Cisco Technology, Inc. | System and method of providing policy selection in a network |
-
2017
- 2017-12-21 US US15/850,325 patent/US20190068466A1/en not_active Abandoned
- 2017-12-29 US US15/858,288 patent/US20190068521A1/en not_active Abandoned
- 2017-12-29 US US15/858,542 patent/US11748172B2/en active Active
- 2017-12-29 US US15/858,549 patent/US20190065401A1/en not_active Abandoned
- 2017-12-29 US US15/858,748 patent/US11614979B2/en active Active
- 2017-12-29 US US15/858,316 patent/US20190065260A1/en not_active Abandoned
- 2017-12-29 US US15/858,286 patent/US20190068523A1/en not_active Abandoned
- 2017-12-29 US US15/858,557 patent/US20190065083A1/en not_active Abandoned
- 2017-12-29 US US15/858,305 patent/US20190068464A1/en not_active Abandoned
- 2017-12-30 US US15/859,364 patent/US11392425B2/en active Active
- 2017-12-30 US US15/859,368 patent/US11422867B2/en active Active
- 2017-12-30 US US15/859,363 patent/US20190068444A1/en not_active Abandoned
- 2017-12-30 US US15/859,388 patent/US20190065231A1/en not_active Abandoned
- 2017-12-30 US US15/859,385 patent/US20190065281A1/en not_active Abandoned
- 2017-12-30 US US15/859,394 patent/US11467885B2/en active Active
- 2017-12-30 US US15/859,366 patent/US20190065261A1/en not_active Abandoned
-
2018
- 2018-03-09 US US15/916,394 patent/US20190065415A1/en not_active Abandoned
- 2018-03-23 US US15/933,855 patent/US11030017B2/en active Active
- 2018-03-30 US US15/942,101 patent/US11416309B2/en active Active
- 2018-03-30 US US15/942,108 patent/US20190067848A1/en not_active Abandoned
- 2018-06-29 US US16/022,962 patent/US11055149B2/en active Active
- 2018-06-29 US US16/023,803 patent/US10888016B2/en active Active
- 2018-07-27 CN CN201810845565.8A patent/CN109426316A/zh active Pending
- 2018-07-27 CN CN201810843475.5A patent/CN109428841A/zh active Pending
- 2018-07-30 WO PCT/US2018/044366 patent/WO2019045930A1/en unknown
- 2018-07-30 WO PCT/US2018/044363 patent/WO2019045928A1/en active Application Filing
- 2018-07-30 WO PCT/US2018/044365 patent/WO2019045929A1/en active Application Filing
- 2018-07-30 DE DE112018004798.9T patent/DE112018004798T5/de active Pending
- 2018-07-30 EP EP18852427.6A patent/EP3676708A4/en active Pending
- 2018-08-30 CN CN201811001590.4A patent/CN109428889A/zh active Pending
- 2018-08-30 CN CN201811004878.7A patent/CN109426568A/zh active Pending
- 2018-08-30 US US16/642,520 patent/US20200192710A1/en not_active Abandoned
- 2018-08-30 CN CN201811004869.8A patent/CN109426633A/zh active Pending
- 2018-08-30 WO PCT/US2018/048946 patent/WO2019046639A1/en active Application Filing
- 2018-08-30 US US16/642,523 patent/US20200257566A1/en not_active Abandoned
- 2018-08-30 CN CN201811002563.9A patent/CN109428843A/zh active Pending
- 2018-08-30 CN CN201811005041.4A patent/CN109426646A/zh active Pending
- 2018-08-30 WO PCT/US2018/048917 patent/WO2019046620A1/en active Application Filing
- 2018-08-30 CN CN201811004916.9A patent/CN109426630A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060149883A1 (en) * | 2005-01-05 | 2006-07-06 | Benbow James B | Systems and methods for providing co-processors to computing systems |
US20090089564A1 (en) * | 2006-12-06 | 2009-04-02 | Brickell Ernie F | Protecting a Branch Instruction from Side Channel Vulnerabilities |
CN102163072A (zh) * | 2008-12-09 | 2011-08-24 | 英特尔公司 | 用于节能的基于软件的线程重映射 |
CN104699225A (zh) * | 2008-12-09 | 2015-06-10 | 英特尔公司 | 用于节能的基于软件的线程重映射 |
US20110055838A1 (en) * | 2009-08-28 | 2011-03-03 | Moyes William A | Optimized thread scheduling via hardware performance monitoring |
US20120054771A1 (en) * | 2010-08-31 | 2012-03-01 | International Business Machines Corporation | Rescheduling workload in a hybrid computing environment |
US20120116590A1 (en) * | 2010-11-04 | 2012-05-10 | Dell Products L.P. | Rack-level modular server and storage framework |
US20160239074A1 (en) * | 2015-02-13 | 2016-08-18 | Victor W. Lee | Performing power management in a multicore processor |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109426568A (zh) | 用于在加速架构中的自动迁移的技术 | |
US11888967B2 (en) | Technologies for dynamic accelerator selection | |
US11467873B2 (en) | Technologies for RDMA queue pair QOS management | |
US20200241999A1 (en) | Performance monitoring for short-lived functions | |
US20210019069A1 (en) | Memory and storage pool interfaces | |
EP3731090A1 (en) | Technologies for providing resource health based node composition and management | |
CN110659128A (zh) | 使用区块链证明部署的工作负载的技术 | |
EP3731063B1 (en) | Technologies for providing adaptive power management in an accelerator sled | |
US20210334138A1 (en) | Technologies for pre-configuring accelerators by predicting bit-streams | |
US11228539B2 (en) | Technologies for managing disaggregated accelerator networks based on remote direct memory access | |
EP3731091A1 (en) | Technologies for providing an accelerator device discovery service | |
CN112181068A (zh) | 用于在分解式架构中提供延时感知共识管理的技术 | |
CN115136565A (zh) | 用于在分解环境中提供先进资源管理的技术 | |
CN114253899A (zh) | 用于缩放用于加速器设备内核的内核间技术的技术 | |
EP3739448B1 (en) | Technologies for compressing communication for accelerator devices | |
US20200409877A1 (en) | Technologies for facilitating remote memory requests in accelerator devices | |
CN111492348A (zh) | 用于利用硬件加速来实现保证的网络质量的技术 | |
CN114691315A (zh) | 存储器池数据放置技术 | |
CN109426629A (zh) | 用于通过预测位流来预配置加速器的技术 | |
EP4198728A1 (en) | Method and apparatus to perform workload management in a disaggregated computing system | |
US20200341824A1 (en) | Technologies for providing inter-kernel communication abstraction to support scale-up and scale-out | |
CN109426452A (zh) | 用于在加速器设备中提供高效内核供应的技术 |
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 |