CN109426633A - 用于管理网络接口控制器的灵活主机接口的技术 - Google Patents

用于管理网络接口控制器的灵活主机接口的技术 Download PDF

Info

Publication number
CN109426633A
CN109426633A CN201811004869.8A CN201811004869A CN109426633A CN 109426633 A CN109426633 A CN 109426633A CN 201811004869 A CN201811004869 A CN 201811004869A CN 109426633 A CN109426633 A CN 109426633A
Authority
CN
China
Prior art keywords
message
descriptor
dma
computing device
processor core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811004869.8A
Other languages
English (en)
Inventor
T.E.威利斯
B.伯雷斯
A.库马尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/833,523 external-priority patent/US20190044809A1/en
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN202110870167.3A priority Critical patent/CN113806260B/zh
Priority to CN202311445788.2A priority patent/CN117725004A/zh
Publication of CN109426633A publication Critical patent/CN109426633A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/183Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0014Gripping heads and other end effectors having fork, comb or plate shaped means for engaging the lower surface on a object to be transported
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3442Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission 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/762Admission 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/02Constructional details
    • H04Q1/10Exchange station construction
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1488Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
    • H05K7/1489Cabinets 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1498Resource management, Optimisation arrangements, e.g. configuration, identification, tracking, physical location
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/18Construction of rack or frame
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20009Modifications to facilitate cooling, ventilating, or heating using a gaseous coolant in electronic enclosures
    • H05K7/20209Thermal management, e.g. fan control
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20718Forced ventilation of a gaseous coolant
    • H05K7/20736Forced ventilation of a gaseous coolant within cabinets for removing heat from server blades
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/20Indexing scheme relating to G06F1/20
    • G06F2200/201Cooling arrangements using cooling fluid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing 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)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Data Mining & Analysis (AREA)
  • Manufacturing & Machinery (AREA)
  • Technology Law (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Small-Scale Networks (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)

Abstract

一种用于通过计算装置的网络接口控制器(NIC)的主机接口来处理网络分组的技术。主机接口被配置为由主机接口的对称多用途(SMP)阵列来检索来自主机接口的消息队列的消息,并由SMP阵列的多个处理器核中的处理器核来处理该消息以识别要对与该消息相关联的网络分组的至少一部分所执行的长时延操作。主机接口还被配置为生成另一消息,该消息包括所识别的长时延操作和在完成时要执行的下一步骤的指示。另外,主机接口被配置为根据要执行的后续长时延操作而将另一消息传送到对应的硬件单元调度器。本文描述了其它实施例。

Description

用于管理网络接口控制器的灵活主机接口的技术
相关申请的交叉引用
本申请要求2017年8月30日提交的印度临时专利申请No.201741030632和2017年11月10日提交的美国临时专利申请No.62/584,401的权益。
背景技术
在当前的分组交换网络架构中,数据以快速速度在计算装置和/或装置组件之间以网络分组的形式来传送。在高级别,数据被分组成网络分组,该网络分组由一个网络计算装置的网络接口控制器(NIC)来传送并由另一个网络计算装置的NIC来接收。一旦接收,通常对网络分组进行处理、分类等,并且通常将有效载荷写入到存储器(例如,高速缓存、主存储器等)。在已将网络分组数据写入到存储器时,接收NIC然后可以向主机中央处理单元(CPU)通知该数据可用于进一步处理。
通常,NIC包括被配置为管理主机CPU和NIC之间的通信(例如,经由外围组件互连快速(PCI-e))的接口。因此,NIC可以支持各种特征(诸如中断、到主机处理器的直接存储器访问(DMA)接口),支持多个接收和传送队列、分区到多个逻辑接口中、网络业务处理、卸载等。为了这么做,接口依赖于用于主机软件和NIC硬件集成的一个或多个协议(例如,用于管理主机虚拟机(VM)和物理NIC功能之间的消息/通信)。但是,在某些状况下,诸如可能基于NIC的供应商、型号等,特定NIC可能不支持某些软件接口语言。
附图说明
本文描述的概念通过示例方式而不是通过限制方式而在附图中示出。为了说明的简单性和清楚性,附图中示出的元件不一定按比例绘制。在认为适当的情况下,在附图间重复参考标记以指示对应或类似的元件。
图1是其中可以根据各种实施例实现本文描述的一种或多种技术的数据中心的概念性概述的图;
图2是图1的数据中心的机架(rack)的逻辑配置的示例实施例的图;
图3是根据各种实施例的其中可以实现本文描述的一种或多种技术的另一数据中心的示例实施例的图;
图4是根据各种实施例的其中可以实现本文描述的一种或多种技术的数据中心的另一示例实施例的图;
图5是表示可以在图1、3和4的数据中心的各种滑板(sled)之间建立的链路层连接性的连接性方案的图;
图6是根据一些实施例的可以表示图1-4中描绘机架的任何具体一个的架构的机架架构的图;
图7是可以与图6的机架架构一起使用的滑板的示例实施例的图;
图8是为以扩展能力为特征的滑板提供支持的机架架构的示例实施例的图;
图9是根据图8的机架架构实现的机架的示例实施例的图。;
图10是设计用于与图9的机架结合使用的滑板的示例实施例的图;
图11是根据各种实施例的其中可以实现本文描述的一种或多种技术的数据中心的示例实施例的图;
图12是用于管理计算装置的网络接口控制器(NIC)的灵活主机接口的计算装置的至少一个实施例的简化框图;
图13是可以由图12的NIC所建立的环境的至少一个实施例的简化框图;
图14是可以由图13的NIC的灵活主机接口所建立的环境的至少一个实施例的简化框图;
图15是用于生成网络分组的(一个或多个)描述符的方法的至少一个实施例的简化流程图,该方法可以由图12的计算装置的主机CPU来执行;
图16是用于向图13的NIC的业务管理器通知(一个或多个)描述符的接收的方法的至少一个实施例的简化流程图,该方法可以由图13和图14的灵活主机接口来执行;
图17是用于处理消息的方法的至少一个实施例的简化流程图,该方法可以由图14的灵活主机接口的对称多处理阵列来执行;
图18A和图18B是用于处理网络分组的至少一个实施例的简化通信流程图,所述至少一个实施例可以由图14的灵活主机接口来执行;以及
图19是用于节流出站网络分组的处理的至少一个实施例的简化通信流程图,所述至少一个实施例可以由图14的作业管理器来执行。
具体实施方式
虽然本公开的概念容许各种修改和备选形式,其特定实施例已通过示例方式在附图中示出并且将在本文中详细描述。然而,应该理解的是,不存在将本公开的概念限制于所公开的具体形式的意图,而是相反,意图是要覆盖与本公开和所附权利要求一致的所有修改、等效和备选方案。
在说明书中引用“一个实施例”、“实施例”、“说明性实施例”等指示所描述的实施例可包括具体特征、结构或特性,但每一个实施例可以或者可以不必要地包括该具体特征、结构或特性。此外,此类短语不一定是指相同实施例。此外,当具体特征、结构或特性联系实施例进行描述时,认为它在本领域技术人员的知识范围内,以便联系其它实施例实施此类特征、结构或特性(不管是否明确描述)。此外,应该意识到,包含在以“至少一个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的概念性概述,所述数据中心100通常可以表示数据中心或其它类型的计算网络,在其中/针对其可以实现本文描述的一种或多种技术。如图1中所示的,数据中心100通常可以包含多个机架,每个机架可以容纳包括相应的物理资源集合的计算装备。在图1中描绘的具体非限制性示例中,数据中心100包含四个机架102A至102D,其容纳包括物理资源(PCR)105A至105D的相应集合的计算装备。根据此示例,数据中心100的物理资源106的共同集合包括分布在机架102A至102D之间的物理资源105A至105D的各种集合。物理资源106可以包括多种类型的资源,诸如-例如-处理器、协处理器、加速器、现场可编程门阵列(FPGA)、存储器和存储装置。实施例不限于这些示例。
说明性数据中心100在许多方面不同于典型的数据中心。例如,在说明性实施例中,其上放置诸如CPU、存储器和其它组件的组件的电路板(“滑板”)针对增加的热性能而设计。尤其,在说明性实施例中,滑板比典型的板更浅薄。换句话说,滑板从前到后较短(其中冷却风扇位于其处)。这降低了空气必须行进跨过板上组件的路径的长度。此外,滑板上的组件比起在典型的电路板中要间隔得更远,并且所述组件被布置成减少或消除遮蔽(即,另一组件的空气流动路径中的一个组件)。在说明性实施例中,诸如处理器的处理组件位于滑板的顶侧上,而诸如DIMM的附近存储器位于滑板的底侧上。作为通过此设计提供的增强的气流的结果,组件可以以比在典型系统更高的频率和功率级操作,由此增加性能。此外,滑板配置成与每个机架102A、102B、102C、102D中的功率和数据通信缆线盲配对,从而增强它们被快速移除、升级、重新安装和/或更换的能力。类似地,位于滑板上的各个组件(例如处理器、加速器、存储器和数据存储驱动器)配置成被容易地升级(由于它们彼此增加的间隔)。在说明性实施例中,组件附加地包括硬件证明特征以证实其可靠性。
此外,在说明性实施例中,数据中心100利用支持多个其它网络架构(包括以太网和Omni-Path)的单个网络架构(“组构”)。在说明性实施例中,滑板经由光纤耦合到交换机,其提供比典型双绞线缆线(例如,类别5、类别5e、类别6等)更高的带宽和更低的时延。由于高带宽、低时延互连和网络架构,数据中心100可以使用物理上解聚的池资源(例如存储器,加速器(例如,图形加速器、FPGA、ASIC等),以及数据存储驱动器),并在按需的基础上将它们提供给计算资源(例如,处理器),使计算资源能够访问池化资源(就好像它们是本地的)。说明性数据中心100附加地接收各种资源的利用信息,基于过去的资源利用预测不同类型的工作负荷的资源利用,并基于此信息动态地重新分配资源。
数据中心100的机架102A、102B、102C、102D可以包括促进各种各样类型的维护任务的自动化的物理设计特征。例如,数据中心100可以使用设计成机器人式访问并且接受和容纳机器人式可操纵的资源滑板的机架来实现。此外,在说明性实施例中,机架102A、102B、102C、102D包括集成功率源,其接收比对于功率源典型的电压更大的电压。增加的电压使功率源能够将附加功率提供到每个滑板上的组件,使组件能够以高于典型频率的频率进行操作。
图2示出了数据中心100的机架202的示范逻辑配置。如图2中所示的,机架202通常可以容纳多个滑板,每个滑板可以包括相应的物理资源集合。在图2中描绘的具体非限制性示例中,机架202容纳包括物理资源205-1至205-4的相应集合的滑板204-1至204-4,其每个构成在机架202中包括的物理资源206的共同集合的一部分。针对于图1,如果机架202表示-例如-机架102A,则物理资源206可以对应于机架102A中包括的物理资源105A。在此示例的上下文中,物理资源105A因此可以由物理资源的相应集合组成,包括在机架202的滑板204-1至204-4中包括的物理存储资源205-1、物理加速器资源205-2、物理存储器资源205-3和物理计算资源205。实施例不限于此示例。每个滑板可以包含各种类型的物理资源(例如,计算、存储器、加速器、存储)中的每个的池。通过具有包括解聚资源的机器人式可访问和机器人式可操纵的滑板,每种类型的资源可以彼此独立地并且以其自己的优化刷新率升级。
图3示出了根据各种实施例的数据中心300的示例,所述数据中心300通常可以表示在其中/针对其可以实现本文描述的一种或多种技术的数据中心。在图3中描绘的具体非限制性示例中,数据中心300包括机架302-1至302-32。在各种实施例中,数据中心300的机架可以以如定义和/或适应各种访问路径的此种方式布置。例如,如图3中所示的,数据中心300的机架可以以如定义和/或适应访问路径311A、311B、311C和311D的此种方式布置。在一些实施例中,此类访问路径的存在可以通常使自动化维护装备(例如机器人维护装备)能够以物理地访问容纳在数据中心300的各种机架中的计算装备并执行自动化维护任务(例如,替换故障的滑板、升级滑板)。在各种实施例中,可以选择访问路径311A、311B、311C和311D的尺寸、机架302-1至302-32的尺寸,和/或数据中心300的物理布局的一个或多个其它方面以促进此类自动化操作。实施例不限于在此上下文中。
图4示出了根据各种实施例的数据中心400的示例,所述数据中心400通常可以表示在其中/针对其可以实现本文描述的一种或多种技术的数据中心。如图4中所示的,数据中心400可以以光组构412为特征。光组构412通常可以包括光信令媒体(例如光缆)和光交换基础设施的组合,数据中心400中的任何具体滑板可以经由它们将信号发送到数据中心400中的每个其它滑板以及接收来自数据中心400中的每个其它滑板的信号。光组构412提供到任何给定滑板的信令连接性可以包括到相同机架中的其它滑板和其它机架中的滑板二者的连接性。在图4中描绘的具体非限制性示例中,数据中心400包括四个机架402A至402D。机架402A至402D容纳滑板的相应对404A-1和404A-2、404B-1和404B-2、404C-1和404C-2以及404D-1和404D-2。因此,在此示例中,数据中心400包括总共八个滑板。经由光组构412,每个此类滑板可以拥有与数据中心400中的其它七个滑板中的每个的信令连接性。例如,经由光组构412,机架402A中的滑板404A-1可以拥有与机架402A中的滑板404A-2的信令连接性,以及与分布在数据中心400的其它机架402B、402C和402D之间的其它六个滑板404B-1、404B-2、404C-1、404C-2、404D-1和404D-2的信令连接性。实施例不限于此示例。
图5示出了连接性方案500的概述,所述连接性方案500通常可以表示在一些实施例中可以在数据中心(例如图1、3和4的示例数据中心100、300和400中的任何一个)的各种滑板之间建立的链路层连接性。可以使用以双模光交换基础设施514为特征的光组构来实现连接性方案500。双模光交换基础设施514通常可以包括交换基础设施,其能够根据多个链路层协议经由相同的统一光信令媒体集合接收通信,并适当地交换此类通信。在各种实施例中,可以使用一个或多个双模光交换机515来实现双模光交换基础设施514。在各种实施例中,双模光交换机515通常可以包括高基(high-radix)交换机。在一些实施例中,双模光交换机515可以包括多层交换机,例如四层交换机。在各种实施例中,双模光交换机515可以以集成硅光子学为特征(与常规交换装置相比,使它们能够通过显着减少的时延交换通信)。在一些实施例中,双模光交换机515可以构成叶脊架构中的叶交换机530,其附加地包括一个或多个双模光脊交换机520。
在各种实施例中,双模光交换机可以能够经由光组构的光信令媒体接收携带因特网协议(IP分组)的以太网协议通信和根据第二高性能计算(HPC)链路层协议(例如,Intel的Omni-Path架构,Infiniband)的通信。如图5中所反映的,针对于拥有到光组构的光信令连接性的滑板504A和504B的任何具体对,连接性方案500因此可以经由以太网链路和HPC链路提供对链路层连接性的支持。因此,可以由单个高带宽、低时延交换组构支持以太网和HPC通信二者。实施例不限于此示例。
图6示出了根据一些实施例的机架架构600的一般概述,所述机架架构600可以表示图1至4中描绘的机架中的任何具体架构。如图6中所反映的,机架架构600通常可以以滑板可以插入其中的多个滑板空间为特征,每个滑板空间可以经由机架访问区域601而机器人式可访问。在图6中描绘的具体非限制性示例中,机架架构600以五个滑板空间603-1至603-5为特征。滑板空间603-1至603-5以相应的多功能连接器模块(MPCM)616-1至616-5为特征。
图7示出了可以表示此类类型的滑板的滑板704的示例。如图7中所示的,滑板704可以包括物理资源705集合,以及MPCM 716,其被设计成当滑板704插入到滑板空间(例如图6的任何滑板空间603-1至603-5)中时与对应物MPCM耦合。滑板704还可以以扩展连接器717为特征。扩展连接器717通常可以包括插座、插槽或其它类型的连接元件(其能够接受一种或多种类型的扩展模块,例如扩展滑板718)。通过与扩展滑板718上的对应物连接器耦合,扩展连接器717可以为物理资源705提供对驻留在扩展滑板718上的补充计算资源705B的访问。实施例不限于在此上下文中。
图8示出了可以表示机架架构的机架架构800的示例,所述机架架构可以被实现以便为以扩展能力为特征的滑板(例如图7的滑板704)提供支持。在图8中描绘的具体非限制性示例中,机架架构800包括七个滑板空间803-1至803-7,其以相应的MPCM 816-1至816-7为特征。滑板空间803-1至803-7包括相应的主要区域803-1A至803-7A和相应的扩展区域803-1B至803-7B。针对于每个此类滑板空间,当对应的MPCM与插入的滑板的对应物MPCM耦合时,主要区域通常可以构成滑板空间的区域,其可以物理地适应插入的滑板。扩展区域通常可以构成滑板空间的区域,其可以物理地适应扩展模块,例如图7的扩展滑板718(在插入的滑板配置有此类模块的情况下)。
图9示出了根据一些实施例的机架902的示例,其可以表示根据图8的机架架构800实现的机架。在图9中描绘的具体非限制性示例中,机架902以七个滑板空间903-1至903-7为特征,其包括相应的主要区域903-1A至903-7A和相应的扩展区域903-1B至903-7B。在各种实施例中,可以使用空气冷却系统来实现机架902中的温度控制。例如,如图9中所反映的,机架902可以以多个风扇919为特征,风扇919通常布置成在各种滑板空间903-1至903-7内提供空气冷却。在一些实施例中,滑板空间的高度大于常规的“1U”服务器高度。在此类实施例中,如与常规机架配置中使用的风扇相比,风扇919通常可以包括相对慢的大直径冷却风扇。相对于以较高速度运行的较小直径的冷却风扇,以较低的速度运行较大直径的冷却风扇可以增加风扇寿命,同时仍然提供相同的冷却量。滑板比常规的机架尺寸物理上更浅薄。此外,在每个滑板上布置组件以减少热遮蔽(即,不在气流方向上串联布置)。因此,更宽、更浅薄的滑板允许装置性能的增加,因为由于改进的冷却(即,没有热遮蔽、装置之间的更多空间、针对更大散热器的更多空间等),装置可以以更高的热封套(例如,250W)操作。
MPCM 916-1至916-7可以配置成为插入的滑板提供对由相应的功率模块920-1至920-7供应的功率的使用,每个功率模块可以从外部功率源921提取功率。在各种实施例中,外部功率源921可以向机架902递送交流(AC)功率,并且功率模块920-1至920-7可以配置成将此类AC功率转换为要供应到插入的滑板的直流(DC)功率。在一些实施例中,例如,功率模块920-1至920-7可以配置成将277伏AC功率转换成12伏DC功率,以经由相应的MPCM 916-1至916-7提供给插入的滑板。实施例不限于此示例。
MPCM 916-1至916-7还可以被布置成为插入的滑板提供到双模光交换基础设施914的光信令连接性,双模光交换基础设施914可以与图5的双模光交换基础设施514相同或与其类似。在各种实施例中,包含在MPCM 916-1至916-7中的光连接器可以被设计成与插入的滑板的MPCM中包含的对应物光连接器耦合,以经由相应长度的光缆922-1至922-7为此类滑板提供到双模光交换基础设施914的光信令连接性。在一些实施例中,每个此类长度的光缆可以从其对应的MPCM延伸到在机架902的滑板空间外部的光互连织机(loom)923。在各种实施例中,光互连织机923可以布置成通过支撑柱或者机架902的其它类型的负荷承载元件。实施例不限于在此上下文中。由于插入的滑板经由MPCM连接到光交换基础设施,因此可以节省通常花费在手动配置机架缆线以适应新插入的滑板的资源。
图10示出了根据一些实施例的滑板1004的示例,其可以表示设计用于与图9的机架902结合使用的滑板。滑板1004可以以MPCM 1016为特征,MPCM 1016包括光连接器1016A和功率连接器1016B,并且被设计成与滑板空间的对应物MPCM耦合(与将MPCM 1016插入到该滑板空间中结合)。将MPCM 1016与此类对应物MPCM耦合可以使功率连接器1016与对应物MPCM中包括的功率连接器耦合。这通常可以使滑板1004的物理资源1005能够经由功率连接器1016和功率传输媒体1024从外部源供应功率,功率传输媒体1024将功率连接器1016导电地耦合到物理资源1005。
滑板1004还可以包括双模光网络接口电路1026。双模光网络接口电路1026通常可以包括能够根据由图9的双模光交换基础设施914支持的多个链路层协议中的每个通过光信令媒体进行通信的电路。在一些实施例中,双模光网络接口电路1026可以具有以太网协议通信和根据第二高性能协议的通信二者的能力。在各种实施例中,双模光网络接口电路1026可以包括一个或多个光收发器模块1027,每个光收发器模块1027可以能够通过一个或多个光通道中的每个来传送和接收光信号。实施例不限于在此上下文中。
将MPCM 1016与给定机架中的滑板空间的对应物MPCM耦合可以使光连接器1016A与对应物MPCM中包括的光连接器耦合。这通常可以经由光通道1025集合中的每个在双模光网络接口电路1026和滑板的光缆之间建立光连接性。双模光网络接口电路1026可以经由电信令媒体1028与滑板1004的物理资源1005通信。除了用于提供改进的冷却并使能以相对较高的热封套(例如,250W)操作的滑板上的组件的布置和滑板的尺寸之外(如上面参考图9所描述的),在一些实施例中,滑板可包括一个或多个附加特征以促进空气冷却,例如热管和/或散热器(布置成耗散由物理资源1005生成的热)。值得注意的是,尽管图10中描绘的示例滑板1004没有以扩展连接器为特征,但以滑板1004的设计元件为特征的任何给定滑板也可以根据一些实施例以扩展连接器为特征。实施例不限于在此上下文中。
图11示出了根据各种实施例的数据中心1100的示例,所述数据中心1100通常可以表示在其中/针对其可实现本文描述的一种或多种技术的数据中心。如图11中反映的,可以实现物理基础设施管理框架1150A以促进管理数据中心1100的物理基础设施1100A。在各种实施例中,物理基础设施管理框架1150A的一个功能可以将要管理数据中心1100内的自动化维护功能,例如使用机器人维护装备来服务物理基础设施1100A内的计算装备。在一些实施例中,物理基础设施1100A可以以先进的遥测系统为特征,所述遥测系统执行遥测报告,所述遥测报告足够鲁棒以支持物理基础设施1100A的远程自动化管理。在各种实施例中,由此类先进的遥测系统提供的遥测信息可以支持诸如故障预测/预防能力和容量规划能力的特征。在一些实施例中,物理基础设施管理框架1150A还可以配置成使用硬件证明技术来管理物理基础设施组件的认证。例如,机器人可以在安装之前通过分析从与要安装的每个组件关联的射频标识(RFID)标签收集的信息来验证组件的可靠性。实施例不限于在此上下文中。
如图11中所示的,数据中心1100的物理基础设施1100A可以包括光组构1112,其可以包括双模光交换基础设施1114。光组构1112和双模光交换基础设施1114可以分别与图4的光组构412和图5的双模光交换基础设施514相同或与其类似,并且可以在数据中心1100的滑板之间提供高带宽、低时延、多协议连接性。如上面所讨论的,参考图1,在各种实施例中,此类连接性的可用性可以使解聚和动态地池化诸如加速器、存储器和存储的资源可行。在一些实施例中,例如,一个或多个池化加速器滑板1130可以包括在数据中心1100的物理基础设施1100A之间,每个物理基础设施1100A可以包括加速器资源池-例如协处理器和/或FPGA-例如-其经由光组构1112和双模光交换基础设施1114对其它滑板全局可访问。
在另一示例中,在各种实施例中,一个或多个池化存储滑板1132可以包括在数据中心1100的物理基础设施1100A之间,每个物理基础设施1100A可以包括经由光组构1112和双模光交换基础设施1114对其它滑板全局可访问的存储资源池。在一些实施例中,此类池化存储滑板1132可以包括固态存储装置(例如固态驱动器(SSD))的池。在各种实施例中,一个或多个高性能处理滑板1134可以包括在数据中心1100的物理基础设施1100A之间。在一些实施例中,高性能处理滑板1134可以包括高性能处理器池以及冷却特征(其增强空气冷却以产生高达250W或更高的较高热封套)。在各种实施例中,任何给定的高性能处理滑板1134可以以扩展连接器1117为特征,所述扩展连接器1117可以接受远存储器扩展滑板,使得对该高性能处理滑板1134本地可用的远存储器从包括在该滑板上的近存储器以及处理器中解聚。在一些实施例中,此类高性能处理滑板1134可以被配置有远存储器(使用包括低时延SSD存储装置的扩展滑板)。光基础设施允许一个滑板上的计算资源以利用远程加速器/FPGA、存储器和/或SSD资源(其在位于相同机架或数据中心中的任何其它机架上的滑板上解聚)。在上面参考图5描述的脊-叶网络架构中,远程资源可以位于距一个交换机跳或距两个交换机跳的距离。实施例不限于在此上下文中。
在各种实施例中,可以将一个或多个抽象的层应用于物理基础设施1100A的物理资源,以便定义虚拟基础设施,例如软件定义的基础设施1100B。在一些实施例中,可以分配软件定义的基础设施1100B的虚拟计算资源1136以支持云服务1140的提供。在各种实施例中,可以对虚拟计算资源1136的具体集合进行分组以用于提供到云服务1140(以SDI服务1138的形式)。云服务1140的示例可以包括-但不限于-软件即服务(SaaS)服务1142、平台即服务(PaaS)服务1144,以及基础设施即服务(IaaS)服务1146。
在一些实施例中,可以使用虚拟基础设施管理框架1150B来进行软件定义的基础设施1100B的管理。在各种实施例中,虚拟基础设施管理框架1150B可以被设计成结合管理到云服务1140的虚拟计算资源1136和/或SDI服务1138的分配来实现工作负荷指纹识别技术和/或机器学习技术。在一些实施例中,虚拟基础设施管理框架1150B可以结合执行此类资源分配来使用/咨询遥测数据。在各种实施例中,可以实现应用/服务管理框架1150C,以便为云服务1140提供QoS管理能力。实施例不限于在此上下文中。
现在参考图12,用于管理主机接口的说明性计算装置1200(例如,滑板204、404、504、1004、1130、1132、1134中的一个)包括具有主机接口的网络接口控制器(NIC)1214,其在本文中指定为“灵活主机接口”。在使用中,如下面进一步详细描述的,灵活主机接口(参见例如图13的NIC 1214的灵活主机接口1314)被配置为接收触发各种处理事件的消息。此类消息要求用于主机软件和装置硬件交互的某些协议。目前,传统主机接口通常仅支持一个或几个协议,其基于特定驱动程序、NIC的模型等来静态编程。然而,不像传统主机接口,说明性计算装置1200的灵活主机接口包括硬件数据路径中的对称多处理(SMP)(参见例如图14的说明性灵活主机接口1314的SMP阵列1422)阵列的可配置核,所述灵活主机接口允许支持各种驱动器、模型等。
在说明性示例中,灵活主机接口接收指示:网络分组将从主机(即,计算装置1200的处理器/CPU)传送到另一计算装置,或者网络分组已由NIC从另一计算装置所接收。通常,主机或NIC(取决于网络分组的入口/出口方向)将向灵活主机接口通知网络分组准备好从主机传送到NIC(即,网络分组正经由NIC传送到另一计算装置)或者网络分组准备好从NIC传送到主机(即,在NIC已经从另一计算装置接收到网络分组)。通常,通知被放置在主机的存储器中的队列、环、或一些其它类型的高速缓存存储结构中。
一旦接收到消息,灵活主机接口的作业管理器(参见例如图14的说明性灵活主机接口1314的作业管理器1444)检索与该消息相关联的描述符的位置并将消息传送到SMP阵列以进行处理。描述符与网络分组的特定部分相关联,诸如报头、脚注(footer)、或有效载荷的至少一部分,并且包括与其对应的信息。例如,描述符通常包括可用于识别网络分组的相关部分的存储位置的信息(即,描述符信息)。另外,描述符信息可以用于识别要对其执行的一个或多个操作,诸如与网络分组相关联的网络协议、与网络分组相关联的数据类型、网络分组的分组流程等。因此,描述符信息可用于识别要对与描述符相关联的网络分组的一部分所执行的各种操作,诸如例如直接存储器访问(DMA)操作。
一旦由SMP阵列接收到消息,SMP阵列识别SMP阵列的核以处理该消息,SMP阵列解译该消息以识别要执行的长时延操作(例如,根据与接收到的消息相关联的描述符)。长时延操作可以包括要求高于参考阈值的时间量来完成的任何类型的操作,诸如DMA操作。一旦识别长时延操作,SMP阵列生成消息,该消息包括所识别的长时延操作以及在完成长时延操作时要执行的后续操作的指示。例如,意图执行DMA操作的消息可以包括可用于识别数据要被获取、要获取的数据的位置、和在已获取数据之后要对数据执行的操作的信息,以及可用于执行长时延操作和/或识别要执行的后续操作的其它信息。
一旦完成长时延操作,SMP阵列接收指示已经执行所请求的长时延操作的消息,SMP阵列使用该消息来识别在接收到消息时要做什么(例如,基于在完成如由所接收的消息所指示的长时延操作时要执行的后续操作)。例如,SMP阵列可以确定要执行另一长时延操作(即,前述循环针对其它长时延操作进行重复),或者已经执行了所有长时延操作,使得与消息关联的网络分组准备好被放在线路上(即,用于传送到另一计算装置)或准备好被转发给主机(即,从另一计算装置接收了网络分组)。
计算装置1200可被实施为服务器(例如,独立服务器、机架服务器、刀片服务器等)、计算节点、存储节点、交换机(例如,解聚交换机、机架安装式交换机、独立交换机、完全管理式交换机、部分管理式交换机、全双工交换机、和/或启用半双工通信模式的交换机)、路由器、和/或数据中心中的滑板(例如,滑板204、404、504、1004、1130、1132、1134中的一个),其中任何一个可被实施为一个或多个物理和/或虚拟装置。如图12中所示,说明性计算装置1200包括计算引擎1202、输入/输出(I/O)子系统1208、一个或多个数据存储装置1210、通信电路1212,并且在一些实施例中,包括一个或多个外围装置1216。当然,在其它实施例中,计算装置1200可以包括其它或附加组件,诸如通常在计算装置中存在的那些组件(例如,功率供应、(一个或多个)冷却组件、图形处理单元(GPU)等)。应当领会,这些类型的组件可取决于计算装置1200的类型和/或预期用途。例如,在计算装置1200被实施为数据中心中的计算滑板的实施例中,计算装置1200可以不包括数据存储装置。另外,在一些实施例中,说明性组件中的一个或多个可被合并于另一组件中、或者以其它方式形成另一组件的一部分。
计算引擎1202可以实施为能够执行下面描述的各种计算功能的任何类型的装置或装置集合。在一些实施例中,计算引擎1202可以实施为单个装置,诸如集成电路、嵌入式系统,FPGA、片上系统(SoC)或其它集成系统或装置。此外,在一些实施例中,计算引擎1202包括或可以其它方式实施为处理器1204和存储器1206。处理器1204可以实施为能够执行本文所描述的功能的任何类型的处理器。例如,处理器1204可以实施为一个或多个单核或多核处理器、微控制器或其它处理器或处理/控制电路。在一些实施例中,处理器1204可以实施为,包括或以其它方式耦合到FPGA、专用集成电路(ASIC)、可重新配置硬件或硬件电路或其它专用硬件,以促进执行本文描述的功能。
存储器1206可以实施为能够执行本文描述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储装置。应领会,存储器1206可包含主存储器(即,主要存储器)和/或高速缓存存储器(即,相比主存储器能被更快地存取的存储器)。易失性存储器可以是要求具有维护由介质存储的数据的状态的能力的存储介质。易失性存储器的非限制性示例可以包括各种类型的随机存取存储器(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技术的那些。存储器装置还可以包括未来一代非易失性装置,诸如三维交叉点存储器装置(例如,Intel 3D XPointTM存储器),或其它字节可寻址的位置写入(write-in-place)非易失性存储器装置。在一个实施例中,存储器装置可以是或可以包括使用硫属化物玻璃的存储器装置、多阈值级NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、磁阻随机存取存储器(MRAM)、结合忆阻器技术的存储器、包括金属氧化物基、氧空位基的电阻存储器和导电桥随机存取存储器(CB-RAM),或自旋转移力矩(STT)-MRAM、基于自旋电子磁结点存储器的装置、基于磁隧道结点(MTJ)的装置、基于DW(畴壁)和SOT(自旋轨道转移)的装置、基于晶闸管的存储器装置或任何上面装置的组合,或其它存储器。存储器装置可以指管芯本身和/或封装的存储器产品。
在一些实施例中,3D交叉点存储器(例如,Intel 3D XPointTM存储器)可以包括无晶体管的可堆叠交叉点架构,其中存储器单元位于字线和位线的交叉处并且独立可寻址,并且其中位存储基于块体电阻的改变。在一些实施例中,存储器1206的全部或一部分可以集成到处理器1204中。在操作中,存储器1206可以存储在操作期间使用的各种软件和数据,诸如工作请求数据、内核映射数据、遥测数据、应用、程序、库和驱动器。
计算引擎1202经由I/O子系统1208通信地耦合到计算装置1200的其它组件,I/O子系统1208可以实施为电路和/或组件以促进与计算引擎1202(例如,与处理器1204和/或存储器1206)以及计算装置1200的其它组件的输入/输出操作。例如,I/O子系统1208可以实施为或以其它方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件装置、通信链路(例如,点对点链路、总线链路、电线、缆线、光导线、印刷电路板迹线等),和/或其它组件和子系统,以促进输入/输出操作。在一些实施例中,I/O子系统1208可以形成SoC的一部分,并且连同处理器1204、存储器1206和计算装置1200的其它组件中的一个或多个结合到计算引擎1202中。
在一些实施例中,计算装置1200可包含一个或多个数据存储装置1210,其可以实施为被配置用于短期或长期存储数据的任何类型的装置,例如存储器装置和电路、存储器卡、硬盘驱动器、固态驱动器或其它数据存储装置。每个数据存储装置1210可以包括存储数据存储装置1210的数据和固件代码的系统分区。另外,每个数据存储装置1210还可以包括存储针对操作系统的数据文件和可执行文件的操作系统分区。
通信电路1212可以实施为能够使能计算装置1200与另一计算装置(例如,源计算装置)之间通过网络(未示出)的网络通信的任何通信电路、装置或其集合。此类网络可以实施为任何类型的有线或无线通信网络,包括全球网络(例如,互联网)、局域网(LAN)或广域网(WAN)、蜂窝网络(例如,全球移动通信系统(GSM)、3G、长期演进(LTE)、全球微波接入互操作性(WiMAX)等)、数字订户线(DSL)网络、有线网络(例如,同轴网络、光纤网络等)或其任何组合。
因此,通信电路1212可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和相关协议(例如,以太网、Bluetooth®、Wi-Fi®,WiMAX等)来影响此类通信。如先前所述,说明性通信电路1212包括NIC 1214,其也可以称为智能NIC或智慧/智能主机组构接口(HFI),并且在图13和图14中进一步详细描述。NIC 1214可被实施为一个或多个内置板、子卡(daughter card)、网络接口卡、控制器芯片、芯片组、或可以由计算装置1200用于向/从另一计算装置传送/接收网络通信的其它装置。
(一个或多个)外围装置1216可以包括可用于将信息输入到计算装置1200中和/或从计算装置1200接收信息的任何类型的装置。外围装置1216可被实施为可用于将信息输入到计算装置1200中的任何辅助装置(诸如键盘、鼠标、麦克风、条形码读取器、图像扫描仪等),或从计算装置1200输出信息的任何辅助装置(诸如显示器、扬声器、图形电路、打印机、投影仪等)。应当领会,在一些实施例中,外围装置1216中的一个或多个可以用作输入装置和输出装置两者(例如,触摸屏显示器、显示器屏幕的顶部上的数字化器等)。应进一步领会,连接到计算装置1200的外围装置1216的类型可取决于例如计算装置1200的类型和/或预期用途。另外地或备选地,在一些实施例中,外围装置1216例如可以包括一个或多个端口(诸如USB端口),以用于将外部外围装置连接到计算装置1200。
现在参考图13,图12的计算装置1200的NIC 1214可以在操作期间建立环境1300。说明性环境1300包括网络接口1302、存储器组构1306的存储器组构1306、灵活分组处理器(FXP)1308、一个或多个加速器代理1310、业务管理器1312、灵活主机接口1314、基础设施1316、一个或多个管芯上处理核1318、存储器导引单元1320、SRAM 1322、以及通信地耦合到DDR SDRAM 1326的一个或多个存储器控制器1324。环境1300的各种组件可被实施为硬件、固件、软件、或其组合。如此,在一些实施例中,环境1300的一个或多个组件可被实施为电气装置的集合或电路。另外,在一些实施例中,一个或多个说明性组件可以形成另一组件的一部分和/或一个或多个说明性组件可以彼此独立。
网络接口1302被配置为接收入站网络业务并路由/传送出站网络业务。为了促进去往/来自计算装置1200的网络通信(例如,网络业务、网络分组、网络分组流程等)的入站接收和出站传输,网络接口1302被配置为管理(例如,创建、修改、删除等)到NIC 1214的物理和虚拟网络端口(即,虚拟网络接口)的连接,以及与其相关联的入口/出口缓冲器/队列。另外,网络接口1302被配置为与存储器组构接口1304协调,以将在网络接口1302处接收的网络分组的内容(例如,(一个或多个)报头、有效载荷、(一个或多个)脚注等)存储到存储器组构1306。
应当领会,存储器组构1306包括多个存储器存储组件(未示出),其在本文中称为段,所述多个存储器存储组件中的每个可用于支持网络分组的内容的分布式存储。因此,应当领会,存储器组构接口1304被配置为管理以分布式方式对段的数据写入,并提供可用于识别每个网络分组的内容已被存储于其中的段的存储位置的指示(例如,指针)。另外,存储器组构接口1304被配置为当网络分组已经被存储在存储器组构1306中时通知FXP 1308并且将(一个或多个)存储器组构位置指针提供给FXP 1308。
一个或多个加速器代理1310被配置为对网络分组的至少一部分执行加速操作。例如,加速器代理1310可以包括远程直接存储器存取(RDMA)操作、加密操作、或任何其它类型的加速。业务管理器1312被配置为在分组处理数据路径中执行业务管理,其诸如可被执行以施加服务级别协议(SLA)。如下面将另外详细描述的,业务管理器1312被配置为节流从(一个或多个)主机CPU到线路的网络分组的传输。
一个或多个管芯上核1318被配置为执行本地于NIC 1214的计算。因此,管芯上核1318可以提供计算功率以执行某些操作而无需对必须移动到NIC 1214远处的位置的数据进行操作,从而消除了否则因移动数据而引入的时延。基础设施1316可以包括用于管理管芯上核1318和/或主机接口1314的通信、状态和控制的各种组件,诸如串行通信接口(例如,通用异步接收器和传送器(UART)、串行外围接口(SPI)总线等)、测试/调试接口、数字热传感器、I/O控制器等。
SRAM 1322经由存储器导引单元1320通信地耦合到管芯上核1318,并且可以用于存储管芯上核1318的数据(例如,工作队列、通知、中断、报头、描述符、关键结构等)。另外,存储器导引单元1320还耦合到一个或多个存储器控制器1324。存储器控制器1324可以是双数据速率(DDR)存储器控制器,其被配置为驱动DDR SDRAM 1326,其在NIC 1214外部,但是由NIC 1214而不是主机CPU来管理(例如,图12的计算引擎1202的(一个或多个)处理器1204)。因此,相对于对主机CPU 1328的DDR SDRAM 1330(即,主机存储器)的访问,对DDRSDRAM 1326的访问更快。另外,存储器控制器1324经由存储器组构接口1304通信地耦合到存储器组构1306,使得存储在DDR SDRAM 1326中的数据可被传送到存储器组构1306或从存储器组构1306传送。
灵活主机接口1314可被实施为能够执行本文描述的功能的任何类型的主机接口装置。灵活主机接口1314被配置为用作主机CPU 1328的每个(例如,图12的计算引擎1202的处理器1204中的每个)与NIC 1214之间的接口。如说明性所示,灵活主机接口1314被配置为用作主机CPU 1328(例如,图12的计算引擎1202的处理器1204之一)与存储器组构1306之间的接口(例如,经由存储器组构接口1304),以及用作主机CPU 1328与基础设施1316之间的接口。因此,消息和/或网络分组数据可以在其之间经由一个或多个通信链路(诸如PCIe互连)来传递,以提供对主机存储器1330的访问(例如,图12的计算引擎1202的存储器1206。
现在参考图14,图12和图13的NIC 1214的灵活主机接口1314可以在操作期间建立环境1400。说明性环境1400包括事件逻辑单元管理器1402、消息接发队列管理器1412、SMP阵列1422、DMA队列管理器1430、DMA引擎1434、描述符队列管理器1440、作业管理器1444、卸载队列管理器1448、以及卸载/停放(park)管理器1452。环境1400的各种组件可被实施为物理和/或虚拟硬件、固件、软件或其组合。如此,在一些实施例中,环境1400的一个或多个组件可被实施为电气装置的集合或电路。另外,在一些实施例中,一个或多个说明性组件可以形成另一组件的一部分和/或一个或多个说明性组件可以彼此独立。
事件逻辑单元管理器1402包括多个事件逻辑单元1404,所述多个事件逻辑单元1404中的每个被配置为接收(例如,经由PCIe连接)在灵活主机接口1314处接收的入站事件通知。为了这样做,说明性事件逻辑单元管理器1402包括组构事件逻辑单元1406、存储器映射I/O(MMIO)事件逻辑单元1408、和信号接发事件逻辑单元1410。应当领会,事件逻辑单元管理器1402的事件逻辑单元1404不限于那些说明性事件逻辑单元管理器1402。换句话说,在其它实施例中,事件逻辑单元管理器1402可以被配置为管理附加和/或备选事件逻辑单元1404。
每个事件逻辑单元1404被配置为接收特定类型或类型集合的事件消息,以及解译和排队与所接收的消息对应的消息。另外,每个事件逻辑单元1404被配置为基于可由SMP阵列1422读取的相关协议来构建数据结构。例如,组构事件逻辑单元1406可以被配置为接收和解译主机组构接口事件,诸如指示要在NIC 1214和主机CPU 1328之一之间传送网络分组的消息。MMIO事件逻辑单元1408可以被配置为从主机软件应用接收和解译指示:数据、通知、或者消息是可用的。信号接发事件逻辑单元1410可以被配置为接收和解译NIC 1214与主机CPU 1328之间的固定功能信号请求(例如,中断)。
消息接发队列管理器1412被配置为管理事件逻辑单元1404和SMP阵列1422之间的事件消息队列1414。为了这样做,消息接发队列管理器1412被配置为基于对应事件逻辑单元1404来创建/销毁适当的事件消息队列1414。另外,在一些实施例中,消息接发队列管理器1412被配置为使消息入队/出队到/自事件消息队列1414中适当的一个事件消息队列1414。说明性消息接发队列管理器1412包括一个或多个组构事件队列1416(即,用于对从组构事件逻辑单元1406接收的消息进行排队)、一个或多个MMIO事件队列1418(即,用于对从MMIO事件逻辑单元1408接收的消息进行排队)、以及一个或多个信号接发事件队列1420(即,用于对从信号接发事件逻辑单元1410接收的消息进行排队)。
贯穿全文进一步详细描述的SMP阵列1422被配置为处理具有各种格式的各种类型的排队消息(例如,经由流水线结构化逻辑)。为了这样做,说明性SMP阵列1422包括处理器核1424的池、仲裁器1426和调度器1428。虽然处理器核1424的池说明性地示出16个核,但应当领会,处理器核1424的池可以取决于实施例而包括任何数量的多个核(例如,4个核、8个核、32个核等)。例如,可以取决于NIC 1214的预期用途(例如,型号)或处理器核1424其本身(例如,专用于处理特定消息类型的某一数量的核,而某一数量的其它核专用于处理另一消息类型等)的处理器核1424的数量。每个处理器核1424可被实施为能够执行本文描述的功能的任何类型的处理器核,诸如通用核、专用指令集处理器、和/或诸如此类。仲裁器1426被配置为管理要由SMP阵列1422所处理的消息之间的仲裁,而调度器1428被配置为调度消息以供由SMP阵列1422处理,诸如调度到处理器核1424中的特定一个。
DMA队列管理器1430被配置为管理一个或多个DMA队列1432。为了这样做,DMA队列管理器1430被配置为在有时可能需要时创建/销毁DMA队列1432。另外,在一些实施例中,DMA队列管理器1430被配置为使从SMP阵列1422所接收的消息排队/出队以供由DMA引擎1434接收和/或使从DMA引擎1434所接收的消息排队/出队以供由SMP阵列1422接收。
DMA引擎1434被配置为促进执行DMA操作。因此,DMA引擎1434可以独立于主机CPU(例如,图13的主机CPU 1328之一)来访问主机存储器(例如,图13的主机存储器1330)。为了这样做,说明性DMA引擎1434包括一个或多个DMA核1436和DMA控制器1438。DMA核1436被配置为解译来自DMA队列1432的消息并执行与其相关联的DMA获取操作。DMA控制器1438被配置为调度/预获取来自DMA队列1432的消息。另外,DMA控制器1438可以被配置为管理从灵活主机接口1314的其它组件(诸如例如事件逻辑单元管理器1402、消息接发队列管理器1412、和作业管理器1444)接收的消息的调度。
描述符队列管理器1440被配置为管理一个或多个描述符队列1442。为了这样做,描述符队列管理器1440被配置为在有时可能需要时创建/销毁描述符队列1442。另外,在一些实施例中,描述符队列管理器1440被配置为使从SMP阵列1422所接收的消息排队/出队以供由作业管理器1444接收和/或使从作业管理器1444所接收的消息排队/出队以供由SMP阵列1422接收。
如下面将进一步详细描述的,作业管理器1444被配置为管理接收以用于处理的描述符的分布。为了这样做,说明性作业管理器包括多个处理器核1442。每个处理器核1442可被实施为能够执行本文描述的功能的任何类型的处理器核,诸如通用核、专用指令集处理器、和/或诸如此类。作业管理器1444可以被配置为调节哪些描述符由哪些处理器核1442来处理。例如,在一些实施例中,作业管理器1444可以识别与描述符相关联的流程并确定哪个处理器核1442应该根据流程来处理描述符。备选地,在其它实施例中,作业管理器1444可以被配置为根据哪个处理器核1442是可用的来处理描述符。
在一些实施例中,作业管理器1444可以被配置为与NIC 1214的业务管理器(例如,图13的说明性NIC 1214的业务管理器1312)进行通信。换句话说,在此类实施例中,作业管理器1444可以被配置为仅基于如由业务管理器1312所阐述的某些条件来处理描述符。例如,作业管理器1444可以被配置为从业务管理器1312接收授权的业务限制,其指示允许作业管理器1444进行排队(即,在描述符队列1442之一中)的网络分组的大小(例如,位的数量,总数等)。因此,作业管理器1444有效地节流正由SMP阵列1422所处理并从NIC 1214所传送的业务量。
卸载队列管理器1448被配置为管理一个或多个卸载队列1450。为了这样做,卸载队列管理器1448被配置为在有时可能需要时创建/销毁卸载队列1450。另外,在一些实施例中,卸载队列管理器1448被配置为使从SMP阵列1422所接收的消息排队/出队以供由卸载/停放管理器1452接收和/或使从卸载/停放管理器1452所接收的消息排队/出队以供由SMP阵列1422接收。
卸载/停放管理器1452被配置为管理要对网络分组的至少一部分(例如,报头、脚注、有效载荷、或其一部分)执行的卸载和停放操作。例如,卸载/停放管理器1452可以被配置为管理检查和验证(checksum validation)、标签提取、分段等。
现在参考图15,在使用中,计算装置1200,或者更具体地,计算装置1200的主机CPU(例如,图13的主机CPU 1328之一)可以执行用于为网络分组生成一个或多个描述符的方法1500。方法1500开始于框1502中,在其中主机CPU 1328确定是否已经构建了网络分组以用于传送到另一计算装置。如果是的话,则方法1500前进到框1504,在其中主机CPU 1328为网络分组生成一个或多个适当的描述符。应当领会,多于一个描述符可以对应于一个给定网络分组。
如先前所述,描述符与网络分组或其特定部分相关联。因此,例如,一个描述符可以对应于网络分组的有效载荷,而另一个描述符可以对应于网络分组的报头。另外,描述符包括可用于识别网络分组的相关部分的存储位置以及与网络分组相关联的网络协议的信息(即,描述符信息)。在一些实施例中,描述符可以包括指示或以其它方式可用于识别与网络分组相关联的数据类型、网络分组的分组流程等的附加信息。因此,描述符信息可以用于识别要对其执行的一个或多个操作。
在框1506中,主机CPU 1328将(一个或多个)所生成的描述符存储到描述符的阵列中。在一些实施例中,描述符的阵列可以被构造为存储在可由主机CPU 1328访问的高速缓存存储器中的描述符表。应当领会,在其它实施例中,可以将(一个或多个)描述符放到备选高速缓存数据结构中。在框1508中,主机CPU 1328识别与(一个或多个)所存储的描述符的每个位置相对应的阵列索引。在框1510中,主机CPU 1328将(一个或多个)所识别的索引放到描述符环中,该描述符环可被存储在可由主机CPU 1328访问的高速缓存存储器中。在框1512中,主机CPU 1328向NIC 1214的灵活主机接口(例如,图14的说明性灵活主机接口1314)传送通知(即,描述符通知),其向NIC 1214通知一个或多个所生成的描述符已被放到描述符的阵列和描述符环中的(一个或多个)对应索引中。另外,在一些实施例中,在框1514中,主机CPU 1328可以在通知中包括放到描述符环中的索引的数量的指示。
现在参考图16,在使用中,计算装置1200,或者更具体地,NIC 1214的主机接口(例如,图13和图14的NIC 1214的灵活主机接口1314)可以执行用于向NIC的业务管理器(例如,图13的NIC 1214的业务管理器1312)通知来自计算装置1200的主机CPU(例如,图13的主机CPU 1328之一)的一个或多个描述符的接收。方法1600开始于框1602,在其中灵活主机接口1314确定是否已经接收到描述符通知(例如,如在图5的方法1500的框1508中生成的)。如果是的话,则方法1600前进到框1604,在其中灵活主机接口1314识别放到描述符环中的多个描述符。
在框1606中,灵活主机接口1314向业务管理器传送通知,其指示描述符通知的接收,该描述符通知可由业务管理器用来管理描述符当前是否可用于描述符环中的处理。在一些实施例中,在框1608中,灵活主机接口1314可以包括放到描述符环中的描述符的数量的指示。应当领会,在一些实施例中,业务管理器1312不调节传输业务。因此,在此类实施例中,可以不执行方法1600。
现在参考图17,在使用中,计算装置1200,或更具体地,NIC 1214的灵活主机接口的SMP阵列(图14的说明性灵活主机接口1314的SMP阵列1422)可以执行用于处理在SMP阵列接收的消息的方法1700。方法1700开始于框1702中,在其中SMP阵列1422确定是否检索消息队列(例如,事件消息队列1414、DMA队列1432、描述符队列1442、卸载队列1450等中的一个)中的消息。如先前所述,可以基于各种不同的协议来格式化排队的消息。如此,例如,事件逻辑单元1404被配置为基于可由SMP阵列1422读取的相关协议来构建具有数据结构的消息。因此,应当领会,SMP阵列1422可以动态地支持多个协议的处理,诸如可以基于在(例如,已经映射到特定消息队列的虚拟功能的)初始化的指派。
如果SMP阵列1422确定要检索消息,则方法1700前进到框1704,在其中SMP阵列1422从适当的消息队列中检索消息。在框1706中,SMP阵列1422识别核(例如,图14的处理器核1424中的一个)以处理所检索的消息。在框1708中,SMP阵列1422,或更具体地,SMP阵列1422的所识别的核,处理所检索的消息以识别是否需要执行任何长时延操作(例如,DMA获取操作)。在框1710中,SMP阵列1422确定是否识别出任何长时延操作。如果是的话,则方法1700分支到框1712,在其中SMP阵列1422识别根据所识别的长时延操作要执行的指令。例如,如果已经将长时延操作识别为DMA操作,则指令可以包括具有执行DMA获取操作所必需的任何信息的获取指令。在框1714中,SMP阵列1422生成包括所识别的指令的消息。在框1716中,SMP阵列1422包括要到消息中执行的下一步骤(例如,在已完成长时延操作之后要执行的操作)。在框1718中,SMP阵列1422将所生成的消息传送到适当的硬件单元调度器(例如,图14的说明性DMA引擎1434的DMA控制器1438)以执行长时延操作。
参考回框1710,如果SMP阵列1422确定没有识别出长时延操作,则方法1700分支到框1720。在框1720中,SMP阵列1422生成消息(即,释放消息),其指示与所接收的消息相关联的网络分组可以被释放到主机(例如,网络分组由NIC 1214所接收)或NIC 1214(例如,正从NIC 1214传送网络分组)。在框1722中,SMP阵列1422将消息传送到NIC 1214的存储器组构的存储器组构接口(例如,存储器组构1306的存储器组构接口1304)以释放网络分组。
现在参考图18A和图18B,用于在灵活主机接口1314处理网络分组的通信流程1800的实施例包括图14的说明性灵活主机接口1314的作业管理器1444、SMP阵列1422、和DMA引擎1434。说明性通信流程1800包括多个数据流程,其中的一些数据流程可以取决于实施例而被单独执行或一起执行。在数据流程1802中,作业管理器1444从描述符环中检索描述符的索引,其对应于描述符的阵列中的描述符的索引(例如,存储在可由主机CPU 1328访问的高速缓存存储器中的数据表中)。应当领会,在执行通信流程1800之前,描述符的索引由计算装置1200的主机CPU(例如,图13的主机CPU 1328之一)放在描述符环中,其示例在图15的方法1500中描述。应当进一步领会,在一些实施例中,作业管理器1444可能必须从NIC 1214的业务管理器(例如,图13的说明性NIC 1214的业务管理器1312)接收准许,这将在下面在图19的方法1900中描述。
如先前所述,描述符与网络分组的至少一部分(例如,整个网络分组、网络分组的报头、网络分组的脚注、或网络分组的有效载荷的至少一部分。另外,如先前所述,描述符包括描述符信息(其可用于识别网络分组的相关部分的存储位置、以及与网络分组相关联的网络协议)和/或指示或以其它方式可用于识别与网络分组相关联的数据类型、网络分组的分组流程等的附加信息,使得描述符信息可以用于识别要对网络分组的对应部分所执行的一个或多个操作。
在数据流程1804中,作业管理器1444生成包括描述符的所检索的索引的消息。在数据流程1806中,作业管理器1444将消息转发给SMP阵列1422。虽然没有说明性地示出,但是应当领会,消息在描述符队列(例如,由描述符队列管理器1440所管理的描述符队列1442之一)中排队,所述消息可以由SMP阵列1422所检索。在数据流程1808中,SMP阵列1422的调度器1428识别SMP阵列1422的处理器核1424的池中的哪个处理器核将处理所述消息。如先前所述,处理器核1424可以被视为处理器的一个池,其各自在第一可用基础上可用于处理消息。备选地,还如先前所述,处理器核1424可以被分区成群组,使得每个群组被配置为处理特定类型或类型集合的消息。
在数据流程1810中,调度器1428向所识别的核通知要处理的消息的到达。在数据流程1812中,所识别的处理器核1424之一处理该消息以基于该消息中包括的描述符的索引来识别描述符的位置。在数据流程1814中,所识别的处理器核1424生成指示获取和处理描述符的另一消息。应当领会,获取操作是识别的长时延操作,并且描述符处理操作将由SMP阵列1422(或者更具体地是SMP阵列1422的处理器核1424之一)在完成识别长时延操作(即,获取操作)时执行。在数据流程1816中,所识别的处理器核1424将消息转发给DMA引擎1434以执行获取操作。虽然没有说明性地示出,但是应当领会,消息在DMA队列(例如,由DMA队列管理器1430所管理的DMA队列1432之一)中排队,所述消息可以由DMA引擎1434检索。在数据流程1818中。所识别的处理器核1424停止并变得可用于处理另一消息。
在数据流程1820中,DMA引擎1434在处理在数据流程1816中接收的消息并且确定正在请求描述符获取操作时(例如,诸如可以由图14的说明性DMA引擎1434的DMA核1436所确定,如由DMA引擎1434的DMA控制器1438所引导的)基于在消息中包括的描述符的索引从主机(例如,从由主机CPU 1328之一所存储的描述符的表)获取描述符。在数据流程1822中,响应于已经完成获取操作(即,描述符已被获取并被存储在可由SMP阵列1422访问的存储器缓冲器中),DMA引擎1434生成包括描述符并指示处理描述符的消息。在数据流程1824中,DMA引擎1434将消息转发给SMP阵列1422。如先前所述,此类消息在DMA队列(例如,由DMA队列管理器1430所管理的DMA队列1432之一)中排队,所述此类消息可以由SMP阵列1422检索。
在数据流程1826中,如图18B中所示,SMP阵列1422的调度器1428识别处理器核1424的池中的哪个处理核将处理该消息。在数据流程1828中,调度器1428向所识别的处理器核1424通知要处理的所接收的消息。在数据流程1830中,所识别的处理器核1424处理该消息以识别网络分组的缓冲器主机地址。如先前所述,应当领会,描述符可以备选地对应于网络分组的一部分(例如,报头、脚注、有效载荷的一部分等)。在数据流程1832中,所识别的处理器核1424生成指示要在主机存储器(例如,图12的计算引擎1202的存储器1206)中的分组缓冲器主机地址处获取网络分组的有效载荷的消息。另外,所识别的处理器核1424包括消息中的指示,其指示在已完成获取之后要执行的操作是传送所获取的有效载荷(例如,在线路上到另一计算装置)。换句话说,不再对网络分组执行长时延操作。
在数据流程1834中,所识别的处理器核1424将消息转发给DMA引擎1434以执行获取操作。虽然没有说明性地示出,但如先前所述,应当领会,消息在DMA队列1432之一中排队,这允许消息由DMA引擎1434自行检索。在数据流程1836中,所识别的处理器核1424停止并变得可用于处理另一消息。
在数据流程1838中,DMA引擎1434从分组缓冲器主机地址(即,在主机存储器中)获取网络分组的有效载荷。在数据流程1840中,在已完成获取操作(即,有效载荷已从主机存储器所获取并被存储在诸如SRAM 1322或DDR SDRAM 1326的临时缓冲器中)时,DMA引擎1434生成指示有效载荷可用于传输并传送相关网络分组的消息。在数据流程1842中,DMA引擎1432将消息转发给SMP阵列1422。如先前所述,虽然未说明性地示出,但应当领会,消息在描述符队列1442之一中排队,这允许消息由SMP阵列1422自行检索。
在数据流程1844中,SMP阵列1422的调度器1428识别处理器核1424的池中的哪个处理核将处理消息。在数据流程1846中,调度器1428向所识别的处理器核1424通知要处理的所接收的消息。在数据流程1848中,所识别的处理器核1424处理该消息以识别是否已经请求了另一个长时延操作或者是否可以释放网络分组。应当领会,出于此说明性示例的目的,在数据流程1840中生成的消息指示了网络分组要被传送。因此,在数据流程1850中,所识别的处理器核1424向存储器组构接口(例如,存储器组构1306的存储器组构接口1304)传送指示,其指示可以将网络分组释放到存储器组构以便从其传送到另一计算装置。应当领会,虽然未说明性地示出,但是可以响应于已经在NIC 1214从另一计算装置接收到网络分组,结束于在识别并执行适当的长时延操作之后从存储器组构释放到适用的主机存储器的网络分组中,执行用于处理网络分组的通信流程的数据流程的类似集合。
如先前所述,作业管理器1444可以被配置为基于某些准则来启动出站网络分组的处理,所述准则是诸如作业管理器1444的处理器核(例如,图14的说明性作业管理器1444的处理器核1446之一)是否可用,相对于描述符队列的容量的、目前在描述符队列(例如,图14的描述符队列1442之一)中入队的消息的数量(即,充满度级别)等。在一些实施例中,作业管理器1444可以仅允许来自给定队列的一个描述符在任何时间点(即,单队列线速率)在飞行中。还如先前所述,在一些实施例中,作业管理器1444可以依赖于业务管理器1312来指示在给定时间点将有多少网络分组在用于运送的过程中。
现在参考图19,在使用中,计算装置1200,或者更具体地,NIC 1214的灵活主机接口的作业管理器(例如,图14的说明性灵活主机接口1314的作业管理器1444)可以执行用于节流出站网络分组的处理的方法1900。方法1900开始于框1902中,在其中作业管理器1444确定是否已经从NIC 1214的业务管理器(例如,图13的业务管理器1312)接收到传送分组许可消息。如果是的话,则方法1900前进到框1904,在其中作业管理器1444识别由业务管理器1312所授权的对用于零值NIC 1214的传输的网络业务量的限制(即,授权的业务限制)。应当领会,在其它实施例中,他传送分组授权消息可以包括附加的和/或备选的传送业务约束。例如,其它传送业务约束可以包括在给定时间点将仅处理某一网络分组类型、优先级、或流程的约束。
在框1906中,作业管理器1444从描述符高速缓存中检索描述符(例如,经由对DMA引擎1434的DMA请求)。在框1908中,在检索到描述符时,作业管理器1444解译所接收的描述符。在框1910中,作业管理器1444确定与描述符相关联的网络业务量。网络业务量可以是可用于识别与描述符相关联的要处理的网络业务的大小的任何值,诸如相对于整个网络分组的大小(例如,网络分组的一半、整个网络分组、报头等)、位的数量等。
在框1912中,作业管理器1444将所授权的业务限制针对与描述符相关联的所确定的网络业务量进行对比。在框1914中,作业管理器1444根据在框1912中执行的对比来确定是否将超出所授权的业务限制。如果是的话,则方法1900分支到框1916,在其中作业管理器1444将描述符返回到描述符高速缓存;否则,该方法分支到框1918。在框1918,作业管理器1444将所授权的业务限制减少与描述符相关联的网络业务量。在框1920中,作业管理器1444生成包括可用于定位描述符的信息的消息,所述信息是诸如描述符高速缓存中的描述符的索引、描述符的临时缓冲器位置等。在框1922中,作业管理器1444将消息插入到描述符队列(例如,图14的描述符队列1442之一)中。在框1924中,作业管理器1444确定是否已达到所授权的业务限制(即,所减少的所授权业务限制是否是零或低于特定的最小阈值)。如果是的话,则方法1900返回到框1902以确定是否已经接收到另一个传送分组许可消息;否则,方法1900返回到框1906以从描述高速缓存中检索另一个描述符。
示例
下面提供本文公开的技术的说明性示例。技术的实施例可以包括下面描述的示例中的任何一个或多个以及其任何组合。
示例1包括用于处理网络分组的计算装置,所述计算装置包括具有一个或多个处理器和存储器的计算引擎;以及具有主机接口的网络接口控制器(NIC),其中,所述NIC将:由所述主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及,由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。
示例2包括示例1的主题,并且其中所述NIC还将:由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述一个或多个处理器之一或所述NIC的网络接口;以及,由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。
示例3包括示例1和2中任一项的主题,并且其中所述NIC还将:由所述主机接口的作业管理器来检索由所述一个或多个处理器中的处理器存储在所述存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及,由所述第一处理器核将所述第二消息转发给所述主机接口的DMA引擎。
示例4包括示例1-3中任一项的主题,并且其中所述NIC还将:由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;由所述DMA引擎来执行所识别的DMA获取操作;由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及,由所述DMA引擎将所述第三消息转发给所述SMP阵列。
示例5包括示例1-4中任一项的主题,并且其中将所述第一消息转发给所述SMP阵列包括将所述消息入队在可由所述SMP阵列访问的描述符队列中。
示例6包括示例1-5中任一项的主题,并且其中检索所述描述符的所述索引包括从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引。
示例7包括示例1-6中任一项的主题,并且其中所述NIC进一步将:由所述作业管理器从所述NIC的业务管理器接收授权的业务限制,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;由所述作业管理器从所述描述符表中检索下一描述符;由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量;如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制;以及,由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表。
示例8包括示例1-7中任一项的主题,并且其中所述NIC进一步将:由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量;由所述作业管理器来生成第四消息,所述第四消息包括可用于定位所述描述符的信息;以及,由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中。
示例9包括示例1-8中任一项的主题,并且其中从所述描述符表中检索所述下一描述符包括执行另一个DMA获取操作以返回所述下一描述符。
示例10包括示例1-9中任一项的主题,并且其中检索所述下一描述符包括检索与以下项中的一项相关联的所述下一描述符:所述网络分组的报头、所述网络分组的有效载荷的至少一部分、或所述网络分组的所述报头和所述有效载荷。
示例11包括示例1-10中任一项的主题,并且其中识别所述长时延操作包括识别直接存储器访问(DMA)获取操作。
示例12包括示例1-11中任一项的主题,并且其中所述NIC还将:由所述主机接口的事件逻辑单元来接收事件通知;以及,由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
示例13包括示例1-12中任一项的主题,并且其中接收所述事件通知包括接收指示以下事件之一的所述事件通知:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
示例14包括用于处理网络分组的方法,所述方法包括:由计算装置的网络接口控制器(NIC)的主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及,由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。
示例15包括示例14的主题,并且还包括:由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述计算装置的计算引擎的一个或多个处理器之一或所述NIC的网络接口;以及,由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。
示例16包括示例14和15中任一项的主题,并且还包括:由所述主机接口的作业管理器来检索由所述计算装置的计算引擎的一个或多个处理器中的处理器存储在所述计算引擎的存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及,由所述第一处理器核将所述第二消息转发给所述主机接口的DMA引擎。
示例17包括示例14-16中任一项的主题,并且还包括:由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;由所述DMA引擎来执行所识别的DMA获取操作;由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及,由所述DMA引擎将所述第三消息转发给所述SMP阵列。
示例18包括示例14-17中任一项的主题,并且其中将所述第一消息转发给所述SMP阵列包括将所述消息入队在可由所述SMP阵列访问的描述符队列中。
示例19包括示例14-18中任一项的主题,并且其中检索所述描述符的所述索引包括从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引。
示例20包括示例14-19中任一项的主题,并且还包括:由所述作业管理器从所述NIC的业务管理器接收授权的业务限制,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;由所述作业管理器从所述描述符表中检索下一描述符;由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量;如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制;以及,由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表。
示例21包括示例14-20中任一项的主题,并且还包括:由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量;由所述作业管理器来生成第四消息,所述第四消息包括可用于定位所述描述符的信息;以及,由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中。
示例22包括示例14-21中任一项的主题,并且其中从所述描述符表中检索所述下一描述符包括执行另一个DMA获取操作以返回所述下一描述符。
示例23包括示例14-22中任一项的主题,并且其中检索所述下一描述符包括检索与以下项中的一项相关联的所述下一描述符:所述网络分组的报头、所述网络分组的有效载荷的至少一部分、或所述网络分组的所述报头和所述有效载荷。
示例24包括示例14-23中任一项的主题,并且其中识别所述长时延操作包括识别直接存储器访问(DMA)获取操作。
示例25包括示例14-24中任一项的主题,并且还包括:由所述主机接口的事件逻辑单元来接收事件通知;以及,由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
示例26包括示例14-25中任一项的主题,并且其中接收所述事件通知包括接收指示以下事件之一的所述事件通知:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
示例27包括一个或多个机器可读存储介质,所述一个或多个机器可读存储介质包括存储在其上的多个指令,所述多个指令响应于被执行而使计算装置执行示例14-26中任一项所述的方法。
示例28包括用于改进网络中吞吐量的计算装置,所述计算装置包括一个或多个处理器;一个或多个存储器装置,所述一个或多个存储器装置已在其中存储了多个指令,所述多个指令当由所述一个或多个处理器所执行时使所述计算装置执行示例14-26中任一项所述的方法。
示例29包括用于处理网络分组的计算装置,所述计算装置包括网络接口控制器(NIC)的主机接口电路,所述主机接口电路将:由所述主机接口电路的对称多用途(SMP)阵列从所述主机接口电路的消息队列中检索消息;由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及,由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口电路的对应硬件单元调度器。
示例30包括示例29的主题,并且其中所述主机接口电路还将:由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述一个或多个处理器之一或所述NIC的网络接口;以及,由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。
示例31包括示例29和30中任一项的主题,并且其中所述主机接口电路还将:由所述主机接口电路的作业管理器来检索由所述一个或多个处理器中的处理器存储在所述存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;由所述作业管理器将第一消息转发给所述主机接口电路的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及,由所述第一处理器核将所述第二消息转发给所述主机接口电路的DMA引擎。
示例32包括示例29-31中任一项的主题,并且其中所述主机接口电路还将:由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;由所述DMA引擎来执行所识别的DMA获取操作;由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口电路的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及,由所述DMA引擎将所述第三消息转发给所述SMP阵列。
示例33包括示例29-32中任一项的主题,并且其中将所述第一消息转发给所述SMP阵列包括将所述消息入队在可由所述SMP阵列访问的描述符队列中。
示例34包括示例29-33中任一项的主题,并且其中检索所述描述符的所述索引包括从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引。
示例35包括示例29-34中任一项的主题,并且其中所述主机接口电路进一步将:由所述作业管理器从所述NIC的业务管理器接收授权的业务限制,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;由所述作业管理器从所述描述符表中检索下一描述符;由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量;如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制;以及,由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表。
示例36包括示例29-35中任一项的主题,并且其中所述主机接口电路进一步将:由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量;由所述作业管理器来生成第四消息,所述第四消息包括可用于定位所述描述符的信息;以及,由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中。
示例37包括示例29-36中任一项的主题,并且其中从所述描述符表中检索所述下一描述符包括执行另一个DMA获取操作以返回所述下一描述符。
示例38包括示例29-37中任一项的主题,并且其中检索所述下一描述符包括检索与以下项中的一项相关联的所述下一描述符:所述网络分组的报头、所述网络分组的有效载荷的至少一部分、或所述网络分组的所述报头和所述有效载荷。
示例39包括示例29-38中任一项的主题,并且其中识别所述长时延操作包括识别直接存储器访问(DMA)获取操作。
示例40包括示例29-39中任一项的主题,并且其中所述主机接口电路还将:由所述主机接口电路的事件逻辑单元来接收事件通知;以及,由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
示例41包括示例29-40中任一项的主题,并且其中接收所述事件通知包括接收指示以下事件之一的所述事件通知:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
示例42包括用于处理网络分组的计算装置,所述计算装置包括:用于由计算装置的网络接口控制器(NIC)的主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息的部件;用于由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作的部件;用于由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息的部件,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及,用于由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器的部件。
示例43包括示例42的主题,并且还包括:用于由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息的部件,所述释放消息指示所述网络分组可以被释放到所述计算装置的计算引擎的一个或多个处理器之一或所述NIC的网络接口;以及,用于由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口的部件。
示例44包括示例42和43中任一项的主题,并且还包括:用于由所述主机接口的作业管理器来检索由所述计算装置的计算引擎的一个或多个处理器中的处理器存储在所述计算引擎的存储器中的位置处的描述符表中的描述符的索引的部件,其中所述描述符包括与网络分组对应的信息;用于由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列的部件,其中所述第一消息包括所述描述符的所述索引;用于由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引的部件;用于由所述第一处理器核来生成第二消息的部件,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及,用于由所述第一处理器核将所述第二消息转发给所述主机接口的DMA引擎的部件。
示例45包括示例42-44中任一项的主题,并且还包括:用于由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作的部件,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;用于由所述DMA引擎来执行所识别的DMA获取操作的部件;用于由所述DMA引擎来生成第三消息的部件,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及,用于由所述DMA引擎将所述第三消息转发给所述SMP阵列的部件。
示例46包括示例42-45中任一项的主题,并且其中用于将所述第一消息转发给所述SMP阵列的所述部件包括用于将所述消息入队在可由所述SMP阵列访问的描述符队列中的部件。
示例47包括示例42-46中任一项的主题,并且其中用于检索所述描述符的所述索引的所述部件包括用于从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引的部件。
示例48包括示例42-47中任一项的主题,并且还包括:用于由所述作业管理器从所述NIC的业务管理器接收授权的业务限制的部件,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;用于由所述作业管理器从所述描述符表中检索下一描述符的部件;用于由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量的部件;用于如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制的部件;以及,用于由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表的部件。
示例49包括示例42-48中任一项的主题,并且还包括:用于由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量的部件;用于由所述作业管理器来生成第四消息的部件,所述第四消息包括可用于定位所述描述符的信息;以及,用于由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中的部件。
示例50包括示例42-49中任一项的主题,并且其中用于从所述描述符表中检索所述下一描述符的所述部件包括用于执行另一个DMA获取操作以返回所述下一描述符的部件。
示例51包括示例42-50中任一项的主题,并且其中用于检索所述下一描述符的所述部件包括用于检索与以下项中的一项相关联的所述下一描述符的部件:所述网络分组的报头、所述网络分组的有效载荷的至少一部分、或所述网络分组的所述报头和所述有效载荷。
示例52包括示例42-51中任一项的主题,并且其中用于识别所述长时延操作的所述部件包括用于识别直接存储器访问(DMA)获取操作的部件。
示例53包括示例42-52中任一项的主题,并且还包括:用于由所述主机接口的事件逻辑单元来接收事件通知的部件;以及,用于由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构的部件,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
示例54包括示例42-53中任一项的主题,并且其中用于接收所述事件通知的所述部件包括用于接收指示以下事件之一的所述事件通知的部件:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
本申请提供了如下的技术方案:
技术方案1. 一种用于处理网络分组的计算装置,所述计算装置包括:
具有一个或多个处理器和存储器的计算引擎;以及
具有主机接口的网络接口控制器(NIC),其中,所述NIC将:
由所述主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;
由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;
由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及
由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。
技术方案2. 如技术方案1所述的计算装置,其中所述NIC还将:
由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述一个或多个处理器之一或所述NIC的网络接口;以及
由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。
技术方案3. 如技术方案1所述的计算装置,其中所述NIC还将:
由所述主机接口的作业管理器来检索由所述一个或多个处理器中的处理器存储在所述存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;
由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;
由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;
由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及
由所述第一处理器核将所述第二消息转发给所述主机接口的直接存储器访问(DMA)引擎。
技术方案4. 如技术方案3所述的计算装置,其中所述NIC还将:
由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;
由所述DMA引擎来执行所识别的DMA获取操作;
由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及
由所述DMA引擎将所述第三消息转发给所述SMP阵列。
技术方案5. 如技术方案3所述的计算装置,其中将所述第一消息转发给所述SMP阵列包括将所述消息入队在可由所述SMP阵列访问的描述符队列中。
技术方案6. 如技术方案3所述的计算装置,其中检索所述描述符的所述索引包括从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引。
技术方案7. 如技术方案6所述的计算装置,其中所述NIC进一步将:
由所述作业管理器从所述NIC的业务管理器接收授权的业务限制,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;
由所述作业管理器从所述描述符表中检索下一描述符;
由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量;
如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制;以及
由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表。
技术方案8. 如技术方案7所述的计算装置,其中所述NIC进一步将:
由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量;
由所述作业管理器来生成第四消息,所述第四消息包括可用于定位所述描述符的信息;以及
由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中。
技术方案9. 如技术方案1所述的计算装置,其中识别所述长时延操作包括识别直接存储器访问(DMA)获取操作。
技术方案10. 如技术方案1所述的计算装置,其中所述NIC还将:
由所述主机接口的事件逻辑单元来接收事件通知;以及
由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
技术方案11. 如技术方案10所述的计算装置,其中接收所述事件通知包括接收指示以下事件之一的所述事件通知:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
技术方案12. 一个或多个机器可读存储介质,所述一个或多个机器可读存储介质包括存储在其上的多个指令,所述多个指令响应于被执行而使计算装置:
由所述计算装置的网络接口控制器(NIC)的主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;
由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;
由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及
由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。
技术方案13. 如技术方案12所述的一个或多个机器可读存储介质,其中所述多个指令还使所述计算装置:
由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述一个或多个处理器之一或所述NIC的网络接口;以及
由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。
技术方案14. 如技术方案12所述的一个或多个机器可读存储介质,其中所述多个指令还使所述计算装置:
由所述主机接口的作业管理器来检索由所述一个或多个处理器中的处理器存储在所述存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;
由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;
由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;
由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及
由所述第一处理器核将所述第二消息转发给所述主机接口的直接存储器访问(DMA)引擎。
技术方案15. 如技术方案14所述的一个或多个机器可读存储介质,其中所述多个指令还使所述计算装置:
由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;
由所述DMA引擎来执行所识别的DMA获取操作;
由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及
由所述DMA引擎将所述第三消息转发给所述SMP阵列。
技术方案16. 如技术方案14所述的一个或多个机器可读存储介质,其中将所述第一消息转发给所述SMP阵列包括将所述消息入队在可由所述SMP阵列访问的描述符队列中。
技术方案17. 如技术方案14所述的一个或多个机器可读存储介质,其中检索所述描述符的所述索引包括从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引。
技术方案18. 如技术方案17所述的一个或多个机器可读存储介质,其中所述多个指令还使所述计算装置:
由所述作业管理器从所述NIC的业务管理器接收授权的业务限制,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;
由所述作业管理器从所述描述符表中检索下一描述符;
由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量;
如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制;以及
由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表。
技术方案19. 如技术方案18所述的一个或多个机器可读存储介质,其中所述多个指令还使所述计算装置:
由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量;
由所述作业管理器来生成第四消息,所述第四消息包括可用于定位所述描述符的信息;以及
由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中。
技术方案20. 如技术方案12所述的一个或多个机器可读存储介质,其中所述多个指令还使所述计算装置:
由所述主机接口的事件逻辑单元来接收事件通知;以及
由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
技术方案21. 如技术方案21所述的一个或多个机器可读存储介质,其中接收所述事件通知包括接收指示以下事件之一的所述事件通知:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
技术方案22. 一种用于处理网络分组的计算装置,所述计算装置包括:
用于由所述计算装置的网络接口控制器(NIC)的主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息的部件;
用于由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作的部件;
用于由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息的部件,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及
用于由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器的部件。
技术方案23. 如技术方案22所述的计算装置,还包括:
用于由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息的部件,所述释放消息指示所述网络分组可以被释放到所述计算装置的计算引擎的一个或多个处理器之一或所述NIC的网络接口;以及
用于由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口的部件。
技术方案24. 如技术方案22所述的计算装置,还包括:
用于由所述主机接口的作业管理器来检索由所述计算装置的计算引擎的一个或多个处理器中的处理器存储在所述计算引擎的存储器中的位置处的描述符表中的描述符的索引的部件,其中所述描述符包括与网络分组对应的信息;
用于由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列的部件,其中所述第一消息包括所述描述符的所述索引;
用于由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引的部件;
用于由所述第一处理器核来生成第二消息的部件,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及
用于由所述第一处理器核将所述第二消息转发给所述主机接口的直接存储器访问(DMA)引擎的部件。
技术方案25. 如技术方案24所述的计算装置,还包括:
用于由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作的部件,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;
用于由所述DMA引擎来执行所识别的DMA获取操作的部件;
用于由所述DMA引擎来生成第三消息的部件,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及
用于由所述DMA引擎将所述第三消息转发给所述SMP阵列的部件。

Claims (25)

1. 一种用于处理网络分组的计算装置,所述计算装置包括:
具有一个或多个处理器和存储器的计算引擎;以及
具有主机接口的网络接口控制器(NIC),其中,所述NIC将:
由所述主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;
由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;
由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及
由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。
2. 如权利要求1所述的计算装置,其中所述NIC还将:
由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述一个或多个处理器之一或所述NIC的网络接口;以及
由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。
3.如权利要求1所述的计算装置,其中所述NIC还将:
由所述主机接口的作业管理器来检索由所述一个或多个处理器中的处理器存储在所述存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;
由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;
由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;
由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及
由所述第一处理器核将所述第二消息转发给所述主机接口的直接存储器访问(DMA)引擎。
4.如权利要求3所述的计算装置,其中所述NIC还将:
由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;
由所述DMA引擎来执行所识别的DMA获取操作;
由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及
由所述DMA引擎将所述第三消息转发给所述SMP阵列。
5.如权利要求3所述的计算装置,其中检索所述描述符的所述索引包括从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引。
6.如权利要求5所述的计算装置,其中所述NIC进一步将:
由所述作业管理器从所述NIC的业务管理器接收授权的业务限制,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;
由所述作业管理器从所述描述符表中检索下一描述符;
由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量;
如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制;以及
由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表。
7.如权利要求6所述的计算装置,其中所述NIC进一步将:
由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量;
由所述作业管理器来生成第四消息,所述第四消息包括可用于定位所述描述符的信息;以及
由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中。
8.如权利要求1所述的计算装置,其中识别所述长时延操作包括识别直接存储器访问(DMA)获取操作。
9. 如权利要求1所述的计算装置,其中所述NIC还将:
由所述主机接口的事件逻辑单元来接收事件通知;以及
由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
10.如权利要求9所述的计算装置,其中接收所述事件通知包括接收指示以下事件之一的所述事件通知:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
11.一种用于处理网络分组的计算装置,所述计算装置包括:
用于由计算装置的网络接口控制器(NIC)的主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息的部件;
用于由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作的部件;
用于由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息的部件,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及
用于由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器的部件。
12. 如权利要求11所述的计算装置,还包括:
用于由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息的部件,所述释放消息指示所述网络分组可以被释放到所述计算装置的计算引擎的一个或多个处理器之一或所述NIC的网络接口;以及
用于由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口的部件。
13.如权利要求11所述的计算装置,还包括:
用于由所述主机接口的作业管理器来检索由所述计算装置的计算引擎的一个或多个处理器中的处理器存储在所述计算引擎的存储器中的位置处的描述符表中的描述符的索引的部件,其中所述描述符包括与网络分组对应的信息;
用于由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列的部件,其中所述第一消息包括所述描述符的所述索引;
用于由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引的部件;
用于由所述第一处理器核来生成第二消息的部件,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及
用于由所述第一处理器核将所述第二消息转发给所述主机接口的直接存储器访问(DMA)引擎的部件。
14.如权利要求13所述的计算装置,还包括:
用于由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作的部件,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;
用于由所述DMA引擎来执行所识别的DMA获取操作的部件;
用于由所述DMA引擎来生成第三消息的部件,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及
用于由所述DMA引擎将所述第三消息转发给所述SMP阵列的部件。
15.如权利要求14所述的计算装置,其中用于检索所述描述符的所述索引的所述部件包括用于从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引的部件。
16.如权利要求15所述的计算装置,还包括:
用于由所述作业管理器从所述NIC的业务管理器接收授权的业务限制的部件,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;
用于由所述作业管理器从所述描述符表中检索下一描述符的部件;
用于由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量的部件;
用于如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制的部件;以及
用于由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表的部件。
17.如权利要求16所述的计算装置,还包括:
用于由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量的部件;
用于由所述作业管理器来生成第四消息的部件,所述第四消息包括可用于定位所述描述符的信息;以及
用于由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中的部件。
18.如权利要求11所述的计算装置,其中用于识别所述长时延操作的所述部件包括用于识别直接存储器访问(DMA)获取操作的部件。
19. 如权利要求11所述的计算装置,还包括:
用于由所述主机接口的事件逻辑单元来接收事件通知的部件;以及
用于由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构的部件,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。
20.如权利要求19所述的计算装置,用于接收所述事件通知的所述部件包括用于接收指示以下事件之一的所述事件通知的部件:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。
21.一种用于处理网络分组的方法,所述方法包括:
由计算装置的网络接口控制器(NIC)的主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;
由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;
由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及
由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。
22. 如权利要求21所述的方法,还包括:
由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述计算装置的计算引擎的一个或多个处理器之一或所述NIC的网络接口;以及
由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。
23.如权利要求21所述的方法,还包括:
由所述主机接口的作业管理器来检索由所述计算装置的计算引擎的一个或多个处理器中的处理器存储在所述计算引擎的存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;
由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;
由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;
由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及
由所述第一处理器核将所述第二消息转发给所述主机接口的直接存储器访问(DMA)引擎。
24.如权利要求23所述的方法,还包括:
由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;
由所述DMA引擎来执行所识别的DMA获取操作;
由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及
由所述DMA引擎将所述第三消息转发给所述SMP阵列。
25.如权利要求14所述的方法,其中识别所述长时延操作包括识别直接存储器访问(DMA)获取操作。
CN201811004869.8A 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术 Pending CN109426633A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110870167.3A CN113806260B (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术
CN202311445788.2A CN117725004A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术

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/833,523 US20190044809A1 (en) 2017-08-30 2017-12-06 Technologies for managing a flexible host interface of a network interface controller
US15/833523 2017-12-06

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202110870167.3A Division CN113806260B (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术
CN202311445788.2A Division CN117725004A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术

Publications (1)

Publication Number Publication Date
CN109426633A true CN109426633A (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 Active CN109428841B (zh) 2017-08-30 2018-07-27 针对自动化网络拥塞管理的技术
CN201811005041.4A Active CN109426646B (zh) 2017-08-30 2018-08-30 用于基于遥测数据来组成受管理节点的计算设备和方法
CN201811001590.4A Pending CN109428889A (zh) 2017-08-30 2018-08-30 用于自适应连接与连接优化之间的动态切换中的机器学习方案的技术
CN201811004869.8A Pending CN109426633A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术
CN201811004916.9A Pending CN109426630A (zh) 2017-08-30 2018-08-30 用于提供对池化式加速器装置的有效访问的技术
CN201811004878.7A Pending CN109426568A (zh) 2017-08-30 2018-08-30 用于在加速架构中的自动迁移的技术
CN201811002563.9A Pending CN109428843A (zh) 2017-08-30 2018-08-30 从解聚架构中的加速器装置提供有效率的结果转移的技术

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN201810845565.8A Pending CN109426316A (zh) 2017-08-30 2018-07-27 用于提供针对超融合基础结构的高效池化的技术
CN201810843475.5A Active CN109428841B (zh) 2017-08-30 2018-07-27 针对自动化网络拥塞管理的技术
CN201811005041.4A Active CN109426646B (zh) 2017-08-30 2018-08-30 用于基于遥测数据来组成受管理节点的计算设备和方法
CN201811001590.4A Pending CN109428889A (zh) 2017-08-30 2018-08-30 用于自适应连接与连接优化之间的动态切换中的机器学习方案的技术

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201811004916.9A Pending CN109426630A (zh) 2017-08-30 2018-08-30 用于提供对池化式加速器装置的有效访问的技术
CN201811004878.7A Pending CN109426568A (zh) 2017-08-30 2018-08-30 用于在加速架构中的自动迁移的技术
CN201811002563.9A Pending CN109428843A (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) WO2019045929A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726929A (zh) * 2021-01-06 2022-07-08 迈络思科技有限公司 网络适配器中的连接管理
CN115052055A (zh) * 2022-08-17 2022-09-13 北京左江科技股份有限公司 一种基于FPGA的网络报文的checksum卸载方法

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948724B2 (en) * 2015-09-10 2018-04-17 International Business Machines Corporation Handling multi-pipe connections
US10034407B2 (en) 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US20180150256A1 (en) 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
CN109891908A (zh) * 2016-11-29 2019-06-14 英特尔公司 用于毫米波机架互连的技术
US10686895B2 (en) * 2017-01-30 2020-06-16 Centurylink Intellectual Property Llc Method and system for implementing dual network telemetry application programming interface (API) framework
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
US20210056426A1 (en) * 2018-03-26 2021-02-25 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
US11330042B2 (en) * 2018-05-17 2022-05-10 International Business Machines Corporation Optimizing dynamic resource allocations for storage-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
US10841367B2 (en) 2018-05-17 2020-11-17 International Business Machines Corporation Optimizing dynamical resource allocations for cache-dependent workloads in disaggregated data centers
US10936374B2 (en) 2018-05-17 2021-03-02 International Business Machines Corporation Optimizing dynamic resource allocations for memory-dependent workloads 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
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
US10684887B2 (en) * 2018-05-25 2020-06-16 Vmware, Inc. Live migration of a virtualized compute accelerator workload
US10795713B2 (en) 2018-05-25 2020-10-06 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
US12034593B1 (en) 2018-07-10 2024-07-09 Cable Television Laboratories, Inc. Systems and methods for advanced core network controls
US11968548B1 (en) * 2018-07-10 2024-04-23 Cable Television Laboratories, Inc. Systems and methods for reducing communication network performance degradation using in-band telemetry data
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
WO2020047426A1 (en) 2018-08-30 2020-03-05 Rigetti & Co, Inc. Low-latency, high-performance hybrid computing
US11188348B2 (en) * 2018-08-31 2021-11-30 International Business Machines Corporation Hybrid computing device selection analysis
US11163713B2 (en) 2018-09-25 2021-11-02 International Business Machines Corporation Efficient component communication through protocol switching in disaggregated datacenters
US11182322B2 (en) 2018-09-25 2021-11-23 International Business Machines Corporation Efficient component communication through resource rewiring in disaggregated datacenters
US11650849B2 (en) * 2018-09-25 2023-05-16 International Business Machines Corporation Efficient component communication through accelerator switching 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
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
US10962389B2 (en) * 2018-10-03 2021-03-30 International Business Machines Corporation Machine status detection
WO2020072819A1 (en) * 2018-10-03 2020-04-09 Rigetti & Co, Inc. Parcelled quantum resources
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
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
US10831975B2 (en) 2018-11-29 2020-11-10 International Business Machines Corporation Debug boundaries in a hardware accelerator
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
US10771344B2 (en) * 2018-12-21 2020-09-08 Servicenow, Inc. Discovery of hyper-converged infrastructure devices
US10970107B2 (en) * 2018-12-21 2021-04-06 Servicenow, Inc. Discovery of hyper-converged infrastructure
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
US11294992B2 (en) * 2019-03-12 2022-04-05 Xilinx, Inc. Locking execution of cores to licensed programmable devices in a data center
US11443018B2 (en) * 2019-03-12 2022-09-13 Xilinx, Inc. Locking execution of cores to licensed programmable devices in a data center
JP7176455B2 (ja) * 2019-03-28 2022-11-22 オムロン株式会社 監視システム、設定装置および監視方法
US11531869B1 (en) * 2019-03-28 2022-12-20 Xilinx, Inc. Neural-network pooling
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
US10877817B1 (en) * 2019-06-28 2020-12-29 Intel Corporation Technologies for providing inter-kernel application programming interfaces for an accelerated architecture
US10949362B2 (en) * 2019-06-28 2021-03-16 Intel Corporation Technologies for facilitating remote memory requests in accelerator devices
US20200409748A1 (en) * 2019-06-28 2020-12-31 Intel Corporation Technologies for managing accelerator resources
EP4007963A1 (en) * 2019-08-02 2022-06-08 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
CA3151195A1 (en) * 2019-10-10 2021-04-15 Channel One Holdings Inc. Methods and systems for time-bounding execution of computing workflows
CN110650609B (zh) * 2019-10-10 2020-12-01 珠海与非科技有限公司 一种分布式储存的云服务器
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
US11803380B2 (en) * 2019-10-29 2023-10-31 Nvidia Corporation High performance synchronization mechanisms for coordinating operations on a computer system
DE102020127704A1 (de) 2019-10-29 2021-04-29 Nvidia Corporation Techniken zum effizienten transferieren von daten an einem prozessor
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
US12001826B2 (en) 2020-04-24 2024-06-04 Intel Corporation Device firmware update techniques
US20230112996A1 (en) * 2020-04-30 2023-04-13 Intel Corporation Compilation for function as a service implementations distributed across server arrays
US11177618B1 (en) * 2020-05-14 2021-11-16 Dell Products L.P. Server blind-mate power and signal connector dock
US11295135B2 (en) * 2020-05-29 2022-04-05 Corning Research & Development Corporation Asset tracking of communication equipment via mixed reality based labeling
US11374808B2 (en) * 2020-05-29 2022-06-28 Corning Research & Development Corporation Automated logging of patching operations 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
WO2022031835A1 (en) 2020-08-05 2022-02-10 Avesha, Inc. Networked system for real-time computer-aided augmentation of live input video stream
US20220092481A1 (en) * 2020-09-18 2022-03-24 Dell Products L.P. Integration optimization using machine learning algorithms
US11570243B2 (en) 2020-09-22 2023-01-31 Commvault Systems, Inc. Decommissioning, re-commissioning, and commissioning new metadata nodes in a working distributed data storage system
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
US12112212B2 (en) 2021-02-26 2024-10-08 Google Llc Controlling system load based on memory bandwidth
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
WO2022235651A1 (en) 2021-05-03 2022-11-10 Avesha, Inc. Distributed computing system with multi tenancy based on application slices
US11714775B2 (en) 2021-05-10 2023-08-01 Zenlayer Innovation LLC Peripheral component interconnect (PCI) hosting device
US12045643B1 (en) * 2021-06-03 2024-07-23 Amazon Technologies, Inc. Power aware load placement for sub-lineups
US20210328933A1 (en) * 2021-06-25 2021-10-21 Akhilesh Thyagaturu Network flow-based hardware allocation
US20220413987A1 (en) * 2021-06-28 2022-12-29 Dell Products L.P. System and method for accelerator-centric workload placement
US20230004786A1 (en) * 2021-06-30 2023-01-05 Micron Technology, Inc. Artificial neural networks on a deep learning accelerator
IT202100017564A1 (it) * 2021-07-02 2023-01-02 Fastweb S P A Apparato robotico per eseguire operazioni di manutenzione su un componente elettronico
EP4142442B1 (en) * 2021-08-30 2024-04-17 Ovh Cooling assembly for a data center rack and method for assembling a rack system
US20230093868A1 (en) * 2021-09-22 2023-03-30 Ridgeline, Inc. Mechanism for real-time identity resolution in a distributed system
US20230115664A1 (en) * 2021-10-08 2023-04-13 Seagate Technology Llc Resource management for disaggregated architectures
US20230121562A1 (en) * 2021-10-15 2023-04-20 Dell Products, L.P. Telemetry of artificial intelligence (ai) and/or machine learning (ml) workloads
US12066964B1 (en) * 2021-12-10 2024-08-20 Amazon Technologies, Inc. Highly available modular hardware acceleration device
US20230222012A1 (en) * 2022-01-12 2023-07-13 Dell Products L.P. Method for scaling up microservices based on api call tracing history
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

Family Cites Families (192)

* Cited by examiner, † Cited by third party
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
US7552217B2 (en) 2004-04-07 2009-06-23 Intel Corporation System and method for Automatic firmware image recovery for server management operational code
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
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
EP1854013A4 (en) * 2005-01-05 2010-09-08 Xtremedata Inc SYSTEMS AND METHODS FOR JOINING COPROCESSORS IN COMPUTER SYSTEMS
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
US20090089564A1 (en) * 2006-12-06 2009-04-02 Brickell Ernie F Protecting a Branch Instruction from Side Channel Vulnerabilities
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
KR101311669B1 (ko) * 2007-12-17 2013-09-27 노키아 코포레이션 보조 설정 및 관리
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
US8954977B2 (en) * 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
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
US20110055838A1 (en) * 2009-08-28 2011-03-03 Moyes William A Optimized thread scheduling via hardware performance monitoring
KR101367241B1 (ko) * 2009-10-16 2014-02-25 후지쯔 가부시끼가이샤 전자 장치
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
US9428336B2 (en) * 2010-07-28 2016-08-30 Par Systems, Inc. Robotic storage and retrieval systems
WO2012021380A2 (en) * 2010-08-13 2012-02-16 Rambus Inc. Fast-wake memory
US8914805B2 (en) * 2010-08-31 2014-12-16 International Business Machines Corporation Rescheduling workload in a hybrid computing environment
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
US9078251B2 (en) * 2010-10-28 2015-07-07 Lg Electronics Inc. Method and apparatus for transceiving a data frame in a wireless LAN system
US8838286B2 (en) * 2010-11-04 2014-09-16 Dell Products L.P. Rack-level modular server and storage framework
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
US20140304713A1 (en) * 2011-11-23 2014-10-09 Telefonaktiebolaget L M Ericsson (pulb) Method and apparatus 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
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
US8732291B2 (en) 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
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 伺服器部署系統及資料更新的方法
GB2517097B (en) * 2012-05-29 2020-05-27 Intel Corp Peer-to-peer interrupt signaling between devices coupled via interconnects
JP5983045B2 (ja) * 2012-05-30 2016-08-31 富士通株式会社 ライブラリ装置
CN102694863B (zh) * 2012-05-30 2015-08-26 电子科技大学 基于负载调整和系统容错的分布式存储系统的实现方法
US8832268B1 (en) * 2012-08-16 2014-09-09 Amazon Technologies, Inc. Notification and resolution of infrastructure issues
US9792004B2 (en) * 2012-10-08 2017-10-17 Fisher-Rosemount Systems, Inc. Derived and linked definitions with override
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
US9130824B2 (en) 2013-01-08 2015-09-08 American Megatrends, Inc. Chassis management implementation by management instance on baseboard management controller managing multiple 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
EP3111329A4 (en) * 2014-02-27 2017-11-15 Intel Corporation Techniques to allocate configurable computing resources
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 遠端存取資料的方法以及本地端裝置
EP4083777B1 (en) * 2014-05-22 2024-09-04 Huawei Technologies Co., Ltd. Resource control node and method
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
US10180889B2 (en) * 2014-06-23 2019-01-15 Liqid Inc. Network failover 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
US9886306B2 (en) * 2014-11-21 2018-02-06 International Business Machines Corporation Cross-platform scheduling with long-term fairness and platform-specific optimization
US9098451B1 (en) * 2014-11-21 2015-08-04 Igneous Systems, Inc. Shingled repair set for writing data
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
US10114692B2 (en) * 2015-01-27 2018-10-30 Quantum Corporation High/low energy zone data storage
US10234930B2 (en) * 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
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
US9792248B2 (en) * 2015-06-02 2017-10-17 Microsoft Technology Licensing, Llc Fast read/write between networked computers via RDMA-based RPC requests
US11203486B2 (en) * 2015-06-02 2021-12-21 Alert Innovation Inc. Order fulfillment system
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
US20170180220A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements
US10028401B2 (en) * 2015-12-18 2018-07-17 Microsoft Technology Licensing, Llc Sidewall-accessible dense storage rack
US10452467B2 (en) * 2016-01-28 2019-10-22 Intel Corporation Automatic model-based computing environment performance monitoring
US10374926B2 (en) * 2016-01-28 2019-08-06 Oracle International Corporation System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment
US10140158B2 (en) * 2016-02-23 2018-11-27 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
US10234833B2 (en) * 2016-07-22 2019-03-19 Intel Corporation Technologies for predicting power usage of a data center
US10034407B2 (en) 2016-07-22 2018-07-24 Intel Corporation Storage sled for 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
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
CN109891908A (zh) * 2016-11-29 2019-06-14 英特尔公司 用于毫米波机架互连的技术
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
EP3592493A4 (en) * 2017-03-08 2020-12-02 BWXT Nuclear Energy, Inc. DEVICE AND METHOD FOR REPAIRING GUIDE PLATE BOLTS
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726929A (zh) * 2021-01-06 2022-07-08 迈络思科技有限公司 网络适配器中的连接管理
CN115052055A (zh) * 2022-08-17 2022-09-13 北京左江科技股份有限公司 一种基于FPGA的网络报文的checksum卸载方法
CN115052055B (zh) * 2022-08-17 2022-11-11 北京左江科技股份有限公司 一种基于FPGA的网络报文的checksum卸载方法

Also Published As

Publication number Publication date
EP3676708A4 (en) 2021-06-02
US11467885B2 (en) 2022-10-11
CN109426568A (zh) 2019-03-05
US20190065172A1 (en) 2019-02-28
US20190068509A1 (en) 2019-02-28
CN109426630A (zh) 2019-03-05
US20190065401A1 (en) 2019-02-28
US20200192710A1 (en) 2020-06-18
US20190065415A1 (en) 2019-02-28
WO2019045930A1 (en) 2019-03-07
US20190065261A1 (en) 2019-02-28
US20190068521A1 (en) 2019-02-28
US20190065260A1 (en) 2019-02-28
CN109428841A (zh) 2019-03-05
US20200257566A1 (en) 2020-08-13
US11748172B2 (en) 2023-09-05
US20190065281A1 (en) 2019-02-28
CN109428841B (zh) 2024-09-06
CN109426646B (zh) 2024-07-30
CN109428843A (zh) 2019-03-05
EP3676708A1 (en) 2020-07-08
US20190068693A1 (en) 2019-02-28
US20190068466A1 (en) 2019-02-28
DE112018004798T5 (de) 2020-06-18
US20190067848A1 (en) 2019-02-28
US20190068464A1 (en) 2019-02-28
WO2019045929A1 (en) 2019-03-07
US11030017B2 (en) 2021-06-08
US11422867B2 (en) 2022-08-23
US20190068444A1 (en) 2019-02-28
US20190065112A1 (en) 2019-02-28
CN109426316A (zh) 2019-03-05
US10888016B2 (en) 2021-01-05
US20190069433A1 (en) 2019-02-28
WO2019045928A1 (en) 2019-03-07
US20190068696A1 (en) 2019-02-28
US11614979B2 (en) 2023-03-28
WO2019046620A1 (en) 2019-03-07
US20190062053A1 (en) 2019-02-28
US11416309B2 (en) 2022-08-16
US11055149B2 (en) 2021-07-06
CN109428889A (zh) 2019-03-05
US20190068698A1 (en) 2019-02-28
US20190065212A1 (en) 2019-02-28
US20190065083A1 (en) 2019-02-28
WO2019046639A1 (en) 2019-03-07
US20190068523A1 (en) 2019-02-28
US20190065231A1 (en) 2019-02-28
US11392425B2 (en) 2022-07-19
CN109426646A (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
CN109426633A (zh) 用于管理网络接口控制器的灵活主机接口的技术
US11843691B2 (en) Technologies for managing a flexible host interface of a network interface controller
DE102018006890B4 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
CN109416630A (zh) 用于多个缓冲器的自适应处理的技术
CN109076029A (zh) 用于网络i/o访问的技术
CN107710238A (zh) 具有堆栈存储器的硬件加速器上的深度神经网络处理
Jun et al. Scalable multi-access flash store for big data analytics
US20160313947A1 (en) On-chip traffic prioritization in memory
CN107111576A (zh) 发布的中断架构
CN103647807A (zh) 一种信息缓存方法、装置和通信设备
KR101747966B1 (ko) 자율 서브시스템 아키텍처
US10248315B2 (en) Devices and methods for interconnecting server nodes
JP2020505666A (ja) 面積高効率、再設定可能、エネルギ高効率、速度高効率のニューラル・ネットワーク基板
CN103914412A (zh) 用于存储设备中的流量优先化的方法,存储设备以及存储系统
CN109313583A (zh) 用于减小对软件定义的基础设施架构的静态和动态分片影响的方法和装置
CN109426452A (zh) 用于在加速器设备中提供高效内核供应的技术
CN109426629A (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