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

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

Info

Publication number
CN117725004A
CN117725004A CN202311445788.2A CN202311445788A CN117725004A CN 117725004 A CN117725004 A CN 117725004A CN 202311445788 A CN202311445788 A CN 202311445788A CN 117725004 A CN117725004 A CN 117725004A
Authority
CN
China
Prior art keywords
network
descriptor
message
resources
data center
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
CN202311445788.2A
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
Application filed by Intel Corp filed Critical Intel Corp
Priority claimed from CN201811004869.8A external-priority patent/CN109426633A/zh
Publication of CN117725004A publication Critical patent/CN117725004A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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/18Packaging or power distribution
    • G06F1/183Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • 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/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/1663Access to shared memory
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • 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/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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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
    • G06F9/445Program loading or initiating
    • 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
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • 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/5044Allocation 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 hardware capabilities
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • 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/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • 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/0893Assignment of logical groups to network elements
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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/11Identifying congestion
    • 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/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • 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/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • 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
    • 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/12Protocol engines
    • 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/22Parsing or analysis of headers
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • 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
    • 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/1735Network adapters, e.g. SCI, Myrinet
    • 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/85Active fault masking without idle spares
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0064Latency reduction in handling transfers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3808Network interface controller
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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
    • H04L41/149Network analysis or design for prediction of maintenance
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • 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/34Signalling channels for network management communication
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • 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
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Thermal Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Environmental & Geological Engineering (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Small-Scale Networks (AREA)
  • Optical Communication System (AREA)
  • Storage Device Security (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可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和相关协议(例如,以太网、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 (17)

1.一种使用至少一个服务器节点实现的方法,所述至少一个服务器节点将与分布式数据中心关联资源相关联,所述分布式数据中心关联资源可配置成包括将与物理计算资源、物理存储资源和/或物理加速器资源相关联的虚拟资源,所述至少一个服务器节点包括网络接口控制器电路模块,所述网络接口控制器电路模块被配置成在与至少一个网络节点的网络通信中使用,所述方法包括:
基于服务质量数据、机器学习和工作负荷相关数据,管理所述分布式数据中心关联资源的分配以用于提供至少一个软件定义的基础设施(SDI)资源和/或至少一个SDI服务,所述分布式数据中心关联资源的所述分配的所述管理可配置成基于与所述分布式数据中心关联资源相关联的遥测数据来实现;
基于资源利用数据,动态地重新分配所述分布式数据中心关联资源中的至少某些分布式数据中心关联资源;以及
关联于与所述提供所述至少一个SDI资源和/或所述至少一个SDI服务相关联的服务协议的实现来利用所述网络接口控制器电路模块;
其中:
所述分布式数据中心关联资源至少部分被包括在所述至少一个服务器节点和所述至少一个网络节点中;
所述网络接口控制器电路模块的加速器电路模块可配置成实现密码相关操作;
所述服务协议的所述实现可配置成包括服务质量的实施;
所述物理计算资源和/或物理加速器资源可配置成包括物理中央处理单元电路模块、图形处理单元电路模块和/或现场可编程门阵列(FPGA)电路模块;
所述分布式数据中心关联资源的至少相应部分可配置为至少一个资源池;以及
所述分布式数据中心关联资源中的至少一些分布式数据中心关联资源在物理上彼此分离。
2.根据权利要求1所述的方法,其中:
所述网络接口控制器电路模块将与高速缓存存储器相关联;以及
所述高速缓存存储器将存储网络通信相关数据以用于在网络通信相关操作中使用。
3.根据权利要求1所述的方法,其中:
所述资源利用数据包括预测的工作负荷资源利用数据。
4.根据权利要求3所述的方法,其中:
所述网络通信将经由至少一个分布式虚拟交换机来实行。
5.根据权利要求3所述的方法,其中:
所述至少一个SDI服务至少部分与以下内容相关:
软件即服务;
平台即服务;和/或
基础设施即服务。
6.根据权利要求1所述的方法,其中:
所述网络接口控制器电路模块可配置成实现与所述服务协议的所述实现相关联的网络通信相关操作。
7.根据权利要求1所述的方法,其中:
所述至少一个网络节点、所述至少一个服务器节点和所述分布式数据中心关联资源被包括在至少一个数据中心中。
8.存储指令的至少一种机器可读存储介质,所述指令当由与所述至少一个服务器节点相关联的至少一个机器执行时,使得所述至少一个机器被配置成能够执行根据前述权利要求中任一项所述的方法。
9.将与分布式数据中心关联资源相关联的至少一个服务器节点,所述分布式数据中心关联资源可配置成包括将与物理计算资源、物理存储资源和/或物理加速器资源相关联的虚拟资源,所述至少一个服务器节点将与至少一个网络节点相关联地使用,所述至少一个服务器节点包括:
网络接口控制器电路模块,所述网络接口控制器电路模块将被配置成在与所述至少一个网络节点的网络通信中使用;以及
处理器电路模块,所述处理器电路模块将执行指令,所述指令在被所述处理器电路模块执行时,使得所述处理器电路模块被配置成能够执行操作,所述操作包括:
基于服务质量数据、机器学习和工作负荷相关数据,管理所述分布式数据中心关联资源的分配以用于提供至少一个软件定义的基础设施(SDI)资源和/或至少一个SDI服务,所述分布式数据中心关联资源的所述分配的所述管理可配置成基于与所述分布式数据中心关联资源相关联的遥测数据来实现;
基于资源利用数据,动态地重新分配所述分布式数据中心关联资源中的至少某些分布式数据中心关联资源;以及
关联于与所述提供所述至少一个SDI资源和/或所述至少一个SDI服务相关联的服务协议的实现来利用所述网络接口控制器电路模块;
其中:
所述分布式数据中心关联资源至少部分被包括在所述至少一个服务器节点和所述至少一个网络节点中;
所述网络接口控制器电路模块的加速器电路模块可配置成实现密码相关操作;
所述服务协议的所述实现可配置成包括服务质量的实施;
所述物理计算资源和/或物理加速器资源可配置成包括物理中央处理单元电路模块、图形处理单元电路模块和/或现场可编程门阵列(FPGA)电路模块;
所述分布式数据中心关联资源的至少相应部分可配置为至少一个资源池;以及
所述分布式数据中心关联资源中的至少一些分布式数据中心关联资源在物理上彼此分离。
10.根据权利要求9所述的至少一个服务器节点,其中:
所述网络接口控制器电路模块将与高速缓存存储器相关联;以及
所述高速缓存存储器将存储网络通信相关数据以用于在网络通信相关操作中使用。
11.根据权利要求9所述的至少一个服务器节点,其中:
所述资源利用数据包括预测的工作负荷资源利用数据。
12.根据权利要求11所述的至少一个服务器节点,其中:
所述网络通信将经由至少一个分布式虚拟交换机来实行。
13.根据权利要求11所述的至少一个服务器节点,其中:
所述至少一个SDI服务至少部分与以下内容相关:
软件即服务;
平台即服务;和/或
基础设施即服务。
14.根据权利要求9所述的至少一个服务器节点,其中:
所述网络接口控制器电路模块可配置成实现与所述服务协议的所述实现相关联的网络通信相关操作。
15.根据权利要求9至14中任一项所述的至少一个服务器节点,其中:
所述至少一个网络节点、所述至少一个服务器节点和所述分布式数据中心关联资源被包括在至少一个数据中心中。
16.一种用于处理网络分组的计算装置,所述计算装置包括:
具有一个或多个处理器和存储器的计算引擎;以及
具有主机接口的网络接口控制器(NIC),其中,所述NIC将:
由所述主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;
由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;
由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及
由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。
17.一种用于处理网络分组的计算装置,所述计算装置包括:
具有一个或多个处理器和存储器的计算引擎;以及
具有主机接口的网络接口控制器(NIC),其中,所述NIC将:
从另一个计算装置接收网络分组;
对所述网络分组进行处理和分类;
将所述网络分组写入到所述存储器;以及
向所述一个或多个处理器通知所述网络分组可用于进一步处理。
CN202311445788.2A 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术 Pending CN117725004A (zh)

Applications Claiming Priority (7)

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/833523 2017-12-06
US15/833,523 US20190044809A1 (en) 2017-08-30 2017-12-06 Technologies for managing a flexible host interface of a network interface controller
CN201811004869.8A CN109426633A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811004869.8A Division CN109426633A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术

Publications (1)

Publication Number Publication Date
CN117725004A true CN117725004A (zh) 2024-03-19

Family

ID=65037934

Family Applications (13)

Application Number Title Priority Date Filing Date
CN201810995046.XA Pending CN109426455A (zh) 2017-08-30 2018-08-29 用于将i/o密集操作卸载至数据存储滑板的技术
CN201811004538.4A Pending CN109426647A (zh) 2017-08-30 2018-08-30 用于协调解聚的加速器装置资源的技术
CN202211257988.0A Pending CN115543204A (zh) 2017-08-30 2018-08-30 用于针对加速器板提供共享存储器的技术
CN201811005808.3A Pending CN109426649A (zh) 2017-08-30 2018-08-30 用于在代理网格架构中处理网络分组的技术
CN202310326481.4A Pending CN116501683A (zh) 2017-08-30 2018-08-30 用于协调解聚的加速器装置资源的技术
CN202311445788.2A Pending CN117725004A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术
CN201811005693.8A Pending CN109426456A (zh) 2017-08-30 2018-08-30 用于针对加速器板提供共享存储器的技术
CN202110870167.3A Pending CN113806260A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术
CN201811005692.3A Pending CN109426648A (zh) 2017-08-30 2018-08-30 用于由智能网络接口控制器处理网络分组的技术
CN202110060921.7A Active CN112732447B (zh) 2017-08-30 2018-08-30 在分解的架构中提供加速功能作为服务的方法、装置及介质
CN201811005604.XA Pending CN109428770A (zh) 2017-08-30 2018-08-30 用于管理网络统计计数器的技术
CN201811006541.XA Pending CN109426569A (zh) 2017-08-30 2018-08-30 在分解的架构中提供加速功能作为服务的技术
CN201811006539.2A Pending CN109426652A (zh) 2017-08-30 2018-08-30 用于大数据分析加速器的技术

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CN201810995046.XA Pending CN109426455A (zh) 2017-08-30 2018-08-29 用于将i/o密集操作卸载至数据存储滑板的技术
CN201811004538.4A Pending CN109426647A (zh) 2017-08-30 2018-08-30 用于协调解聚的加速器装置资源的技术
CN202211257988.0A Pending CN115543204A (zh) 2017-08-30 2018-08-30 用于针对加速器板提供共享存储器的技术
CN201811005808.3A Pending CN109426649A (zh) 2017-08-30 2018-08-30 用于在代理网格架构中处理网络分组的技术
CN202310326481.4A Pending CN116501683A (zh) 2017-08-30 2018-08-30 用于协调解聚的加速器装置资源的技术

Family Applications After (7)

Application Number Title Priority Date Filing Date
CN201811005693.8A Pending CN109426456A (zh) 2017-08-30 2018-08-30 用于针对加速器板提供共享存储器的技术
CN202110870167.3A Pending CN113806260A (zh) 2017-08-30 2018-08-30 用于管理网络接口控制器的灵活主机接口的技术
CN201811005692.3A Pending CN109426648A (zh) 2017-08-30 2018-08-30 用于由智能网络接口控制器处理网络分组的技术
CN202110060921.7A Active CN112732447B (zh) 2017-08-30 2018-08-30 在分解的架构中提供加速功能作为服务的方法、装置及介质
CN201811005604.XA Pending CN109428770A (zh) 2017-08-30 2018-08-30 用于管理网络统计计数器的技术
CN201811006541.XA Pending CN109426569A (zh) 2017-08-30 2018-08-30 在分解的架构中提供加速功能作为服务的技术
CN201811006539.2A Pending CN109426652A (zh) 2017-08-30 2018-08-30 用于大数据分析加速器的技术

Country Status (5)

Country Link
US (25) US20190044809A1 (zh)
EP (5) EP3460662A1 (zh)
JP (1) JP7214394B2 (zh)
CN (13) CN109426455A (zh)
DE (1) DE102018212479A1 (zh)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367562B2 (en) * 2013-12-05 2016-06-14 Google Inc. Distributing data on distributed storage systems
US9448887B1 (en) * 2015-08-22 2016-09-20 Weka.IO Ltd. Distributed erasure coded virtual file system
US10034407B2 (en) 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
EP3549350A4 (en) * 2016-11-29 2021-03-24 Intel Corporation MILLIMETRIC WAVE CHASSIS INTERCONNECTION TECHNOLOGIES
US20180150256A1 (en) 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
US10534598B2 (en) 2017-01-04 2020-01-14 International Business Machines Corporation Rolling upgrades in disaggregated systems
US11153164B2 (en) 2017-01-04 2021-10-19 International Business Machines Corporation Live, in-line hardware component upgrades in disaggregated systems
WO2018173164A1 (ja) * 2017-03-22 2018-09-27 株式会社日立製作所 データ処理システム
US11030126B2 (en) * 2017-07-14 2021-06-08 Intel Corporation Techniques for managing access to hardware accelerator memory
US20190044809A1 (en) * 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
US10298496B1 (en) * 2017-09-26 2019-05-21 Amazon Technologies, Inc. Packet processing cache
US10726930B2 (en) 2017-10-06 2020-07-28 Western Digital Technologies, Inc. Method and system for a storage (SSD) drive-level failure and health prediction leveraging machine learning on internal parametric data
JP6757708B2 (ja) * 2017-10-31 2020-09-23 株式会社日立製作所 情報処理装置及び構成要素の管理方法
US11262912B2 (en) * 2017-11-13 2022-03-01 Weka.IO Ltd. File operations in a distributed storage system
US11050574B2 (en) * 2017-11-29 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. Authentication based on physically unclonable functions
US11317542B2 (en) 2017-12-30 2022-04-26 Intel Corporation Technologies for improving processor thermal design power
IL275859B2 (en) * 2018-01-28 2024-05-01 Drivenets Ltd Method and device for improving bandwidth utilization in a communication network
US10990554B2 (en) 2018-03-02 2021-04-27 Samsung Electronics Co., Ltd. Mechanism to identify FPGA and SSD pairing in a multi-device environment
US10635609B2 (en) * 2018-03-02 2020-04-28 Samsung Electronics Co., Ltd. Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD
US10838647B2 (en) * 2018-03-14 2020-11-17 Intel Corporation Adaptive data migration across disaggregated memory resources
US10579548B2 (en) * 2018-03-29 2020-03-03 Western Digital Technologies, Inc. Adaptive interleaving of data transfer requests
US11108697B2 (en) * 2018-03-30 2021-08-31 Intel Corporation Technologies for controlling jitter at network packet egress
US11100246B2 (en) * 2018-04-13 2021-08-24 Mastercard International Incorporated Computer-implemented methods, systems comprising computer-readable media, and electronic devices for completing queries propagated across a plurality of datasources
US11330042B2 (en) * 2018-05-17 2022-05-10 International Business Machines Corporation Optimizing dynamic resource allocations for storage-dependent workloads in disaggregated data centers
US10552185B2 (en) * 2018-05-24 2020-02-04 International Business Machines Corporation Lightweight and precise value profiling
US10656990B2 (en) * 2018-06-13 2020-05-19 Nutanix, Inc. Dynamically adjusting reserve portion and allocation portions of disaster recovery site in a virtual computing system
US10846070B2 (en) * 2018-07-05 2020-11-24 At&T Intellectual Property I, L.P. Facilitating cloud native edge computing via behavioral intelligence
US10831411B2 (en) * 2018-07-24 2020-11-10 International Business Machines Corporation Storage controller with OCS for managing active-passive backend storage arrays
CN109325494B (zh) * 2018-08-27 2021-09-17 腾讯科技(深圳)有限公司 图片处理方法、任务数据处理方法和装置
US10802988B2 (en) 2018-09-25 2020-10-13 International Business Machines Corporation Dynamic memory-based communication 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
US10831698B2 (en) 2018-09-25 2020-11-10 International Business Machines Corporation Maximizing high link bandwidth utilization through efficient component communication in disaggregated datacenters
US11650849B2 (en) 2018-09-25 2023-05-16 International Business Machines Corporation Efficient component communication through accelerator switching in disaggregated datacenters
US10915493B2 (en) 2018-09-25 2021-02-09 International Business Machines Corporation Component building blocks and optimized compositions thereof in disaggregated datacenters
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
US10901893B2 (en) * 2018-09-28 2021-01-26 International Business Machines Corporation Memory bandwidth management for performance-sensitive IaaS
US11096284B2 (en) * 2018-10-01 2021-08-17 Intel Corporation Compact semiconductor chip system and method
US10983985B2 (en) * 2018-10-29 2021-04-20 International Business Machines Corporation Determining a storage pool to store changed data objects indicated in a database
US11023155B2 (en) 2018-10-29 2021-06-01 International Business Machines Corporation Processing event messages for changed data objects to determine a storage pool to store the changed data objects
US11379488B2 (en) * 2018-11-07 2022-07-05 Sap Se Energy-efficient decay algorithm for non-volatile memories
US11429674B2 (en) 2018-11-15 2022-08-30 International Business Machines Corporation Processing event messages for data objects to determine data to redact from a database
US11409900B2 (en) 2018-11-15 2022-08-09 International Business Machines Corporation Processing event messages for data objects in a message queue to determine data to redact
FR3092218B1 (fr) * 2019-01-28 2023-12-22 Ateme Procédé de communication de données, et système pour la mise en œuvre du procédé
US10990517B1 (en) * 2019-01-28 2021-04-27 Xilinx, Inc. Configurable overlay on wide memory channels for efficient memory access
US11023324B2 (en) * 2019-01-31 2021-06-01 EMC IP Holding Company LLC Harmonization of failure domains in a distributed system
US10983948B2 (en) * 2019-03-07 2021-04-20 Raytheon Company Reconfigurable computing appliance
JP7305990B2 (ja) * 2019-03-12 2023-07-11 富士通株式会社 転送プログラム、転送方法、および情報処理装置
US20190235773A1 (en) * 2019-04-09 2019-08-01 Mark Schmisseur Concept for accessing computer memory of a memory pool
EP3959675A1 (en) * 2019-04-25 2022-03-02 Liveperson, Inc. Smart capacity for workload routing
US11088967B2 (en) 2019-04-26 2021-08-10 Intel Corporation Shared resources for multiple communication traffics
DK180371B1 (en) 2019-05-20 2021-02-11 Mountain Top Ind Aps A lid arrangement for a canister for a rollup truck bed cover
EP3942749A4 (en) * 2019-05-23 2023-06-07 Hewlett Packard Enterprise Development LP OPTIMIZED ADAPTIVE ROUTING TO REDUCE THE NUMBER OF JUMPS
US11397653B2 (en) 2019-05-29 2022-07-26 Intel Corporation Technologies for fast recovery of distributed storage systems on disaggregated storage
US10970309B2 (en) * 2019-06-05 2021-04-06 Advanced New Technologies Co., Ltd. Data storage method and apparatus
CN110209249A (zh) * 2019-06-06 2019-09-06 英业达科技有限公司 服务器的机壳
JP7151631B2 (ja) * 2019-06-11 2022-10-12 株式会社デンソー 車両用制御装置、車両用表示システム、及び車両用表示制御方法
US11074177B2 (en) * 2019-06-19 2021-07-27 Micron Technology, Inc. Garbage collection adapted to host write activity
US11049570B2 (en) * 2019-06-26 2021-06-29 International Business Machines Corporation Dynamic writes-per-day adjustment for storage drives
US11163482B2 (en) 2019-06-26 2021-11-02 International Business Machines Corporation Dynamic performance-class adjustment for storage drives
US11137915B2 (en) 2019-06-27 2021-10-05 International Business Machines Corporation Dynamic logical storage capacity adjustment for storage drives
US10949362B2 (en) 2019-06-28 2021-03-16 Intel Corporation Technologies for facilitating remote memory requests in accelerator devices
CN117478878A (zh) 2019-07-09 2024-01-30 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
JP7291845B2 (ja) * 2019-07-11 2023-06-15 北京字節跳動網絡技術有限公司 適応ループフィルタリングにおけるサンプルパディング
US11803773B2 (en) * 2019-07-30 2023-10-31 EMC IP Holding Company LLC Machine learning-based anomaly detection using time series decomposition
US10925166B1 (en) * 2019-08-07 2021-02-16 Quanta Computer Inc. Protection fixture
US20200142735A1 (en) * 2019-09-28 2020-05-07 Intel Corporation Methods and apparatus to offload and onload workloads in an edge environment
US11550617B2 (en) 2019-10-16 2023-01-10 Intel Corporation Disaggregated rack mount storage side transaction support
US20210019069A1 (en) * 2019-10-21 2021-01-21 Intel Corporation Memory and storage pool interfaces
US11782810B2 (en) * 2019-11-22 2023-10-10 Dell Products, L.P. Systems and methods for automated field replacement component configuration
US11861219B2 (en) 2019-12-12 2024-01-02 Intel Corporation Buffer to reduce write amplification of misaligned write operations
AU2020417157A1 (en) * 2020-01-02 2022-07-28 Level 3 Communications, Llc Systems and methods for storing content items in secondary storage
US11561916B2 (en) * 2020-01-13 2023-01-24 Hewlett Packard Enterprise Development Lp Processing task deployment in adapter devices and accelerators
US11483246B2 (en) 2020-01-13 2022-10-25 Vmware, Inc. Tenant-specific quality of service
US11275705B2 (en) * 2020-01-28 2022-03-15 Dell Products L.P. Rack switch coupling system
US11989135B2 (en) * 2020-02-10 2024-05-21 Intel Corporation Programmable address range engine for larger region sizes
US10853548B1 (en) * 2020-02-11 2020-12-01 Capital One Services, Llc Reconfiguration of hardware components of an integrated circuit
US11599395B2 (en) * 2020-02-19 2023-03-07 Vmware, Inc. Dynamic core allocation
US11436367B2 (en) 2020-02-25 2022-09-06 Hewlett Packard Enterprise Development Lp Pre-operating system environment-based sanitization of storage devices
US11115497B2 (en) * 2020-03-25 2021-09-07 Intel Corporation Technologies for providing advanced resource management in a disaggregated environment
US11509079B2 (en) * 2020-04-06 2022-11-22 Hewlett Packard Enterprise Development Lp Blind mate connections with different sets of datums
US11360681B2 (en) * 2020-05-27 2022-06-14 Xiaoliang Zhao Systems and methods for scalable shared memory among networked devices comprising IP addressable memory blocks
US11962518B2 (en) 2020-06-02 2024-04-16 VMware LLC Hardware acceleration techniques using flow selection
US11522917B2 (en) * 2020-06-10 2022-12-06 Arista Networks, Inc. Scalable network processing segmentation
US11539633B2 (en) 2020-08-31 2022-12-27 Vmware, Inc. Determining whether to rate limit traffic
US11853798B2 (en) * 2020-09-03 2023-12-26 Microsoft Technology Licensing, Llc Disaggregated memory pool assignment
JP2022049599A (ja) * 2020-09-16 2022-03-29 キオクシア株式会社 通信システム、デバイス及び通信方法
US11829793B2 (en) 2020-09-28 2023-11-28 Vmware, Inc. Unified management of virtual machines and bare metal computers
US11636053B2 (en) 2020-09-28 2023-04-25 Vmware, Inc. Emulating a local storage by accessing an external storage through a shared port of a NIC
US11736565B2 (en) 2020-09-28 2023-08-22 Vmware, Inc. Accessing an external storage through a NIC
US11606310B2 (en) * 2020-09-28 2023-03-14 Vmware, Inc. Flow processing offload using virtual port identifiers
US11593278B2 (en) 2020-09-28 2023-02-28 Vmware, Inc. Using machine executing on a NIC to access a third party storage not supported by a NIC or host
US20220103290A1 (en) * 2020-09-29 2022-03-31 Qualcomm Incorporated Interleaver design for noncoherent reed muller codes
DE102020214951A1 (de) * 2020-11-27 2022-06-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum dynamischen Zuweisen von Speicherbandbreite
US11392740B2 (en) * 2020-12-18 2022-07-19 SambaNova Systems, Inc. Dataflow function offload to reconfigurable processors
US20220231933A1 (en) * 2021-01-20 2022-07-21 Nvidia Corporation Performing network congestion control utilizing reinforcement learning
US20240111418A1 (en) 2021-01-25 2024-04-04 Volumez Technologies Ltd. Consistency Group Distributed Snapshot Method And System
US11509590B2 (en) * 2021-02-17 2022-11-22 Juniper Networks, Inc. Determining network device statistics associated with fast counters and slow counters
US11785735B2 (en) * 2021-02-19 2023-10-10 CyberSecure IPS, LLC Intelligent cable patching of racks to facilitate cable installation
US11863613B1 (en) * 2021-03-22 2024-01-02 Amazon Technologies, Inc. Allocation of workloads in dynamic worker fleet
CN117203615A (zh) 2021-04-09 2023-12-08 微软技术许可有限责任公司 经由分发扩展主机策略
US11799785B2 (en) 2021-04-09 2023-10-24 Microsoft Technology Licensing, Llc Hardware-based packet flow processing
US11757782B2 (en) * 2021-04-09 2023-09-12 Microsoft Technology Licensing, Llc Architectures for disaggregating SDN from the host
CN113127173B (zh) * 2021-04-21 2021-09-24 浙江大学 一种异构感知的集群调度方法及装置
US20220361354A1 (en) * 2021-05-10 2022-11-10 Vertiv It Systems, Inc. Supplemental component mounting platform for equipment rack
CN113347230B (zh) * 2021-05-13 2022-09-06 长沙星融元数据技术有限公司 基于可编程交换机的负载均衡方法、装置、设备及介质
US11799784B2 (en) 2021-06-08 2023-10-24 Vmware, Inc. Virtualized QoS support in software defined networks
US11537457B2 (en) * 2021-06-25 2022-12-27 Intel Corporation Low latency remoting to accelerators
US11494413B1 (en) 2021-07-13 2022-11-08 Capital One Services, Llc Query alerts generation for virtual warehouse
US11914595B2 (en) 2021-07-13 2024-02-27 Capital One Services, Llc Virtual warehouse query monitoring and reporting
US11669529B2 (en) * 2021-07-13 2023-06-06 Capital One Services, Llc Dynamic query allocation to virtual warehouses
US11825354B2 (en) * 2021-08-04 2023-11-21 Dish Wireless L.L.C. Customer specific network slicing
US20230046403A1 (en) * 2021-08-11 2023-02-16 International Business Machines Corporation Multi-device processing activity allocation
US11910575B2 (en) * 2021-09-02 2024-02-20 Baidu Usa Llc Rack systems and packaging for servers
US11871547B2 (en) 2021-09-02 2024-01-09 Baidu Usa Llc Two phase system for enclosure systems
US20220014551A1 (en) * 2021-09-24 2022-01-13 Intel Corporation Method and apparatus to reduce risk of denial of service resource acquisition attacks in a data center
US20230112448A1 (en) * 2021-10-12 2023-04-13 Seagate Technology Llc Computational storage drive using fpga implemented interface
US11650745B1 (en) * 2021-10-29 2023-05-16 Oracle International Corporation Increased data processing performance of a non-volatile memory express (NVME) block store
KR20230064849A (ko) * 2021-11-04 2023-05-11 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11880568B2 (en) 2021-11-17 2024-01-23 Seagate Technology Llc On demand configuration of FPGA interfaces
US11954345B2 (en) * 2021-12-03 2024-04-09 Samsung Electronics Co., Ltd. Two-level indexing for key-value persistent storage device
US20220116487A1 (en) * 2021-12-20 2022-04-14 Intel Corporation Method and apparatus to perform operations on multiple segments of a data packet in a network interface controller
US11863376B2 (en) 2021-12-22 2024-01-02 Vmware, Inc. Smart NIC leader election
US11934255B2 (en) * 2022-01-04 2024-03-19 Bank Of America Corporation System and method for improving memory resource allocations in database blocks for executing tasks
US11842179B2 (en) 2022-01-07 2023-12-12 Dell Products L.P. System for automatically generating customer specific data center application program interfaces
US11924029B2 (en) 2022-01-07 2024-03-05 Dell Products L.P. System for scoring data center application program interfaces
US11922229B2 (en) 2022-01-10 2024-03-05 Dell Products L.P. System for determining data center application program interface readiness
US11593189B1 (en) * 2022-01-14 2023-02-28 Dell Products L.P. Configuring new storage systems based on write endurance
US11848835B2 (en) * 2022-01-20 2023-12-19 Dell Products L.P. System for quantifying data center infrastructure utilization units
CN114442792A (zh) * 2022-02-09 2022-05-06 北京小米移动软件有限公司 处理器的运行频率调整方法、装置及存储介质
US20230038307A1 (en) * 2022-04-06 2023-02-09 Intel Corporation Network interface device feedback for adaptive and failover multipath routing
US11924115B2 (en) * 2022-05-20 2024-03-05 Ipco 2012 Limited Systems and methods for use in balancing network resources
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs
US11928367B2 (en) 2022-06-21 2024-03-12 VMware LLC Logical memory addressing for network devices
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
US20240020357A1 (en) * 2022-07-15 2024-01-18 Vmware, Inc. Keyless licensing in a multi-cloud computing system
CN115130666B (zh) * 2022-08-31 2022-11-22 之江实验室 一种二维光子卷积加速方法和系统
CN117200422B (zh) * 2023-11-08 2024-03-19 深圳市胜威南方科技有限公司 一种通讯系统供电用的pdu供电设备

Family Cites Families (222)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3583625A (en) 1968-10-25 1971-06-08 Gabriel Gero Cigarette dispensing package
US4258967A (en) * 1979-11-02 1981-03-31 Digital Equipment Corporation Integral pivot and lock apparatus for slide rack mounted boxes
JPH0731402Y2 (ja) * 1987-06-15 1995-07-19 パイオニア株式会社 カートリッジ収納ディスク再生装置
JPS6450274A (en) * 1987-08-21 1989-02-27 Pioneer Electronic Corp Auto-changer type disk player
DE68923893T2 (de) * 1988-03-31 1996-02-15 At & T Corp Schnittstellenprotokoll zwischen Benutzer und Netz für einen Paketkommunikationsnetz.
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
US5226714A (en) * 1992-05-26 1993-07-13 Wright Jack V Pivoting drawer slide system
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5469335A (en) * 1994-11-14 1995-11-21 Compaq Computer Corporation Power distribution connector apparatus for back-to-back sandwiched circuit boards
US5584396A (en) * 1995-05-17 1996-12-17 Dell Usa Lp Sliding pivoting storage apparatus
US6179489B1 (en) * 1997-04-04 2001-01-30 Texas Instruments Incorporated Devices, methods, systems and software products for coordination of computer main microprocessor and second microprocessor coupled thereto
US5822582A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Boot drive selection and hibernation file detection
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US6105119A (en) * 1997-04-04 2000-08-15 Texas Instruments Incorporated Data transfer circuitry, DSP wrapper circuitry and improved processor devices, methods and systems
US5974518A (en) 1997-04-10 1999-10-26 Milgo Solutions, Inc. Smart buffer size adaptation apparatus and method
US6181549B1 (en) * 1997-06-24 2001-01-30 Dell Products, L.P. Chassis retaining system for an electronics rack
US6393483B1 (en) 1997-06-30 2002-05-21 Adaptec, Inc. Method and apparatus for network interface card load balancing and port aggregation
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7133940B2 (en) 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US6082845A (en) * 1998-05-29 2000-07-04 Lucent Technologies, Inc. Tiltable electronics cabinet
WO1999063438A1 (en) * 1998-06-05 1999-12-09 Mylex Corporation Apparatus, system and method for n-way raid controller
US6223271B1 (en) * 1998-07-15 2001-04-24 Compaq Computer Corp. System and method for detecting system memory size using ROM based paging tables
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US6714549B1 (en) * 1998-12-23 2004-03-30 Worldcom, Inc. High resiliency network infrastructure
US6356951B1 (en) * 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US6493756B1 (en) * 1999-10-28 2002-12-10 Networks Associates, Inc. System and method for dynamically sensing an asynchronous network event within a modular framework for network event processing
US6484224B1 (en) 1999-11-29 2002-11-19 Cisco Technology Inc. Multi-interface symmetric multiprocessor
US6816963B1 (en) * 2000-01-31 2004-11-09 Intel Corporation Platform level initialization using an image generated automatically by a remote server based upon description automatically generated and transmitted thereto by a processor-based system
US6990685B1 (en) * 2000-06-15 2006-01-24 Dell Products L.P. System and method for tracking bootable devices
US6459571B1 (en) * 2000-06-15 2002-10-01 Bull Hn Information Systems Inc. Packaging system for mass memory units
US20020064164A1 (en) * 2000-10-06 2002-05-30 Barany Peter A. Protocol header construction and/or removal for messages in wireless communications
US6498716B1 (en) * 2001-08-21 2002-12-24 Compaq Information Technologies Group, L.P. DC main power distribution
EP1446994A4 (en) * 2001-10-30 2006-05-17 Egenera Inc CONNECTOR FOR DATA TRANSMISSION AND SIMPLIFIED POWER SUPPLY TO BE USED WITH A CHASSIS SYSTEM WHICH REPRESENTS MULTIPLE PROCESSORS
US6968414B2 (en) * 2001-12-04 2005-11-22 International Business Machines Corporation Monitoring insertion/removal of server blades in a data processing system
US6657867B2 (en) * 2001-12-14 2003-12-02 Hewlett-Packard Development Company, Lp. Hinged door for access to add-in cards
US20030172205A1 (en) * 2002-01-11 2003-09-11 Bastian Richard Henry Methods and components for mechanical computer
US7100031B1 (en) * 2002-03-27 2006-08-29 Hewlett-Packard Development Company, L.P. Detector and operational method for a firmware interface
US7257105B2 (en) * 2002-10-03 2007-08-14 Cisco Technology, Inc. L2 method for a wireless station to locate and associate with a wireless network in communication with a Mobile IP agent
US7610582B2 (en) * 2003-04-18 2009-10-27 Sap Ag Managing a computer system with blades
US20040249932A1 (en) * 2003-06-05 2004-12-09 Bunz Shain W. System and method for generating event notifications
US7467417B2 (en) * 2003-06-18 2008-12-16 Architecture Technology Corporation Active verification of boot firmware
US7864806B2 (en) 2004-01-06 2011-01-04 Broadcom Corp. Method and system for transmission control packet (TCP) segmentation offload
US7120778B2 (en) * 2004-02-18 2006-10-10 Intel Corporation Option ROM virtualization
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
US7469241B2 (en) * 2004-11-30 2008-12-23 Oracle International Corporation Efficient data aggregation operations using hash tables
US7386758B2 (en) * 2005-01-13 2008-06-10 Hitachi, Ltd. Method and apparatus for reconstructing data in object-based storage arrays
US7500573B1 (en) * 2005-01-21 2009-03-10 Flynn James T Saddle rack and harness rack lift
CN1809054A (zh) * 2005-01-21 2006-07-26 华为技术有限公司 基于会话初始协议的消息文本解码器
US7562366B2 (en) 2005-02-03 2009-07-14 Solarflare Communications, Inc. Transmit completion event batching
US7330965B2 (en) * 2005-02-09 2008-02-12 International Business Machines Corporation Multi-tiered boot list
US7577151B2 (en) * 2005-04-01 2009-08-18 International Business Machines Corporation Method and apparatus for providing a network connection table
US7574623B1 (en) * 2005-04-29 2009-08-11 Network Appliance, Inc. Method and system for rapidly recovering data from a “sick” disk in a RAID disk group
US7460758B2 (en) * 2005-06-03 2008-12-02 Telect Inc. Fiber management system
US7584347B2 (en) * 2005-06-10 2009-09-01 Dell Products L.P. System and method for identifying bootable device by generating a signature for each bootable device where the signature is independent of a location of the bootable device
US7791890B2 (en) * 2005-10-07 2010-09-07 Nec Corporation Computer system
JP2007133807A (ja) * 2005-11-14 2007-05-31 Hitachi Ltd データ処理システム、ストレージ装置及び管理装置
US7423870B2 (en) * 2005-11-18 2008-09-09 International Business Machines Corporation Blade server assembly
US7500073B1 (en) * 2006-03-29 2009-03-03 Sun Microsystems, Inc. Relocation of virtual-to-physical mappings
US20070233928A1 (en) * 2006-03-31 2007-10-04 Robert Gough Mechanism and apparatus for dynamically providing required resources for a hot-added PCI express endpoint or hierarchy
US7747749B1 (en) * 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US20080002711A1 (en) * 2006-06-30 2008-01-03 Bugenhagen Michael K System and method for access state based service options
US7987438B2 (en) * 2006-08-10 2011-07-26 International Business Machines Corporation Structure for initializing expansion adapters installed in a computer system having similar expansion adapters
JP4949804B2 (ja) * 2006-11-07 2012-06-13 株式会社日立製作所 統合管理計算機と記憶装置管理方法および計算機システム
JP4723470B2 (ja) * 2006-12-28 2011-07-13 株式会社日立製作所 計算機システムおよびそのチップセット
US8464024B2 (en) * 2007-04-27 2013-06-11 Hewlett-Packard Development Company, L.P. Virtual address hashing
US8644151B2 (en) * 2007-05-22 2014-02-04 Cisco Technology, Inc. Processing packet flows
CN101330446B (zh) * 2007-06-21 2012-05-09 中兴通讯股份有限公司 增强专用传输信道的帧协议层帧的解析方法
US7724668B2 (en) * 2007-06-27 2010-05-25 Verizon Patent And Licensing Inc. Bandwidth-based admission control mechanism
US7793071B2 (en) 2007-06-28 2010-09-07 Intel Corporation Method and system for reducing cache conflicts
US8151081B2 (en) * 2007-12-20 2012-04-03 Intel Corporation Method, system and apparatus for memory address mapping for sub-socket partitioning
FI123966B (fi) * 2008-02-04 2014-01-15 Tellabs Oy Tietoliikennelaite
US7801046B2 (en) 2008-04-28 2010-09-21 Oracle America, Inc. Method and system for bandwidth control on a network interface card
US9015444B2 (en) * 2008-06-09 2015-04-21 Panasonic Intellectual Property Management Co., Ltd. Access apparatus and available storage space calculation method
US8086838B2 (en) * 2008-08-13 2011-12-27 Dell Products L.P. Methods and systems for providing manufacturing mode detection and functionality in a UEFI BIOS
US7921230B2 (en) * 2008-09-08 2011-04-05 International Business Corporation USB devices pre-configuration for KVM switch
US20100061207A1 (en) * 2008-09-09 2010-03-11 Seagate Technology Llc Data storage device including self-test features
TWI378384B (en) * 2008-10-15 2012-12-01 Phison Electronics Corp Mother board system, storage device for booting up thereof and connector
US8024719B2 (en) * 2008-11-03 2011-09-20 Advanced Micro Devices, Inc. Bounded hash table sorting in a dynamic program profiling system
DE112008004203B4 (de) 2008-12-25 2015-01-08 Mitsubishi Electric Corporation Kommunikationsverwaltungsvorrichtung, Kommnunikationsvorrichtung und Kommunikationsverfahren
US8103809B1 (en) 2009-01-16 2012-01-24 F5 Networks, Inc. Network devices with multiple direct memory access channels and methods thereof
US8112491B1 (en) 2009-01-16 2012-02-07 F5 Networks, Inc. Methods and systems for providing direct DMA
JP5393199B2 (ja) * 2009-03-02 2014-01-22 キヤノン株式会社 起動制御方法及び装置
US8266506B2 (en) * 2009-04-18 2012-09-11 Alcatel Lucent Method and apparatus for multiset membership testing using combinatorial bloom filters
WO2010140211A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 電子ユニット、電子システム及び収納装置
CN102804151A (zh) * 2009-06-29 2012-11-28 惠普开发有限公司 访问作为缓存一致性域的部分的内存刀片的内存代理
US8560798B2 (en) * 2009-07-30 2013-10-15 Cleversafe, Inc. Dispersed storage network virtual address space
US8832142B2 (en) * 2010-08-30 2014-09-09 Oracle International Corporation Query and exadata support for hybrid columnar compressed data
US9298662B2 (en) * 2009-12-08 2016-03-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Providing expansion card settings
US8743877B2 (en) * 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
JP5292321B2 (ja) * 2010-01-13 2013-09-18 アラクサラネットワークス株式会社 通信装置
US8473567B2 (en) * 2010-03-29 2013-06-25 Intel Corporation Generating a packet including multiple operation codes
US9754266B2 (en) * 2010-04-21 2017-09-05 Excalibur Ip, Llc Online serving threshold and delivery policy adjustment
US8504718B2 (en) * 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US9300576B2 (en) * 2010-05-03 2016-03-29 Pluribus Networks Inc. Methods, systems, and fabrics implementing a distributed network operating system
CN102141825B (zh) * 2010-07-09 2013-01-02 华为技术有限公司 机柜级服务器系统
US8909749B2 (en) * 2010-07-26 2014-12-09 International Business Macines Corporation Predictive context-based virtual workspace placement
TWI406624B (zh) * 2010-11-11 2013-08-21 Inventec Corp 伺服器
US10033585B2 (en) * 2010-12-15 2018-07-24 Juniper Networks, Inc. Methods and apparatus related to a switch fabric system having a multi-hop distributed control plane and a single-hop data plane
US8812746B2 (en) * 2010-12-16 2014-08-19 Intel Corporation Dynamically configurable device host controller
US8582299B1 (en) * 2010-12-23 2013-11-12 Amazon Technologies, Inc. System with movable computing devices
US8832674B2 (en) * 2011-02-24 2014-09-09 Software Ag Usa, Inc. Off-heap direct-memory data stores, methods of creating and/or managing off-heap direct-memory data stores, and/or systems including off-heap direct-memory data store
US9219650B2 (en) * 2011-03-07 2015-12-22 Hitachi, Ltd. Network management apparatus, network management method, and network management system
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
US9645628B1 (en) * 2011-05-09 2017-05-09 EMC IP Holding Company LLC Combined data storage and computing appliance that provides scalable storage in a clustered computing environment
US9042402B1 (en) * 2011-05-10 2015-05-26 Juniper Networks, Inc. Methods and apparatus for control protocol validation of a switch fabric system
GB201107860D0 (en) * 2011-05-11 2011-06-22 Manda Ion Rack module
US9369341B2 (en) * 2011-05-15 2016-06-14 Orbit Communication Systems Ltd. Static ring network for vehicle communications
EP2718828A4 (en) * 2011-06-07 2014-11-05 Lsi Corp MANAGE THE IMPACT OF DEVICE FIRMWARE UPGRADES ON A HOST
US8812555B2 (en) * 2011-06-18 2014-08-19 Microsoft Corporation Dynamic lock-free hash tables
CN102902581B (zh) * 2011-07-29 2016-05-11 国际商业机器公司 硬件加速器及方法、中央处理单元、计算设备
CN102929360A (zh) * 2011-08-09 2013-02-13 鸿富锦精密工业(深圳)有限公司 服务器机柜
US8930307B2 (en) * 2011-09-30 2015-01-06 Pure Storage, Inc. Method for removing duplicate data from a storage array
US9021138B2 (en) * 2011-08-26 2015-04-28 Microsoft Technology Licensing, Llc Performance of multi-processor computer systems
CN102999139B (zh) * 2011-09-08 2016-03-30 英业达股份有限公司 供电装置与应用其的服务器机架系统
US8964601B2 (en) * 2011-10-07 2015-02-24 International Business Machines Corporation Network switching domains with a virtualized control plane
CN103139106B (zh) * 2011-11-28 2014-06-11 英业达科技有限公司 服务器机架系统
US9342314B2 (en) * 2011-12-08 2016-05-17 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors
US8788663B1 (en) * 2011-12-20 2014-07-22 Amazon Technologies, Inc. Managing resource dependent workflows
CN106469029B (zh) * 2011-12-31 2019-07-23 华为数字技术(成都)有限公司 数据分层存储处理方法、装置和存储设备
US8708736B2 (en) * 2012-02-01 2014-04-29 Dell Products L.P. Systems and methods for coupling AC power to a rack-level power infrastructure
US9405701B2 (en) * 2012-03-30 2016-08-02 Intel Corporation Apparatus and method for accelerating operations in a processor which uses shared virtual memory
US9396020B2 (en) * 2012-03-30 2016-07-19 Intel Corporation Context switching mechanism for a processing core having a general purpose CPU core and a tightly coupled accelerator
US8868868B1 (en) * 2012-05-31 2014-10-21 Netapp, Inc. Method and system for responding to client requests for information maintained by storage systems
US9613052B2 (en) * 2012-06-05 2017-04-04 International Business Machines Corporation Establishing trust within a cloud computing system
US8750288B2 (en) * 2012-06-06 2014-06-10 Juniper Networks, Inc. Physical path determination for virtual network packet flows
CN104272288B (zh) 2012-06-08 2018-01-30 英特尔公司 用于实现虚拟机vm平台通信回送的方法和系统
US8838577B2 (en) * 2012-07-24 2014-09-16 International Business Machines Corporation Accelerated row decompression
CN103634330A (zh) * 2012-08-20 2014-03-12 曙光信息产业(北京)有限公司 一种云计算环境下的资源自动分配方法
US9154298B2 (en) * 2012-08-31 2015-10-06 Cleversafe, Inc. Securely storing data in a dispersed storage network
US10230762B2 (en) * 2012-08-31 2019-03-12 Jpmorgan Chase Bank, N.A. System and method for sharing information in a private ecosystem
US8938417B2 (en) * 2013-02-22 2015-01-20 International Business Machines Corporation Integrity checking and selective deduplication based on network parameters
US10671635B2 (en) * 2013-02-27 2020-06-02 Hitachi Vantara Llc Decoupled content and metadata in a distributed object storage ecosystem
US9558010B2 (en) * 2013-03-14 2017-01-31 International Business Machines Corporation Fast hot boot of a computer system
US20140282584A1 (en) * 2013-03-14 2014-09-18 Silicon Graphics International Corp. Allocating Accelerators to Threads in a High Performance Computing System
US9317444B2 (en) 2013-03-15 2016-04-19 Vmware, Inc. Latency reduction for direct memory access operations involving address translation
WO2014147059A2 (en) * 2013-03-19 2014-09-25 Adc Czech Republic, S.R.O. Moveable bend control and patch cord support for telecommunications panels
US10037061B1 (en) * 2013-04-30 2018-07-31 Amazon Technologies, Inc. Multiple-stage cooling system for rack
US8898227B1 (en) * 2013-05-10 2014-11-25 Owl Computing Technologies, Inc. NFS storage via multiple one-way data links
US9424079B2 (en) * 2013-06-27 2016-08-23 Microsoft Technology Licensing, Llc Iteration support in a heterogeneous dataflow engine
US9056464B2 (en) * 2013-07-16 2015-06-16 Xerox Corporation System and method for optimized application of release agent in an inkjet printer with in-line coating
US20160197831A1 (en) * 2013-08-16 2016-07-07 Interdigital Patent Holdings, Inc. Method and apparatus for name resolution in software defined networking
US10684973B2 (en) 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch
US9444914B2 (en) * 2013-09-16 2016-09-13 Annapurna Labs Ltd. Configurable parser and a method for parsing information units
WO2015039687A1 (en) * 2013-09-19 2015-03-26 Huawei Technologies Co., Ltd. Transmission and reception devices for reducing the delay in end-to-end delivery of network packets
US9430390B2 (en) * 2013-09-21 2016-08-30 Oracle International Corporation Core in-memory space and object management architecture in a traditional RDBMS supporting DW and OLTP applications
CN106537863B (zh) * 2013-10-17 2019-11-26 马维尔国际贸易有限公司 用于并发地处理网络分组的方法和设备
CN105579953B (zh) * 2013-10-29 2019-03-15 英特尔公司 灵活引导程序代码架构
JP6404347B2 (ja) * 2013-12-20 2018-10-10 インテル・コーポレーション 実行オフロード
EP3095213B1 (en) * 2014-01-17 2018-12-05 F5 Networks, Inc. Systems and methods for network destination based flood attack mitigation
US9740714B2 (en) * 2014-02-06 2017-08-22 International Business Machines Corporation Multilevel filters for cache-efficient access
US20150293699A1 (en) * 2014-04-11 2015-10-15 Graham Bromley Network-attached storage enhancement appliance
US10148459B2 (en) * 2014-04-29 2018-12-04 Hewlett Packard Enterprise Development Lp Network service insertion
US9645902B2 (en) * 2014-06-23 2017-05-09 Liqid Inc. Modular switched fabric for data storage systems
US9626108B2 (en) * 2014-09-16 2017-04-18 Kove Ip, Llc Dynamically provisionable and allocatable external memory
US10275171B2 (en) * 2014-09-16 2019-04-30 Kove Ip, Llc Paging of external memory
EP3198806B1 (en) * 2014-09-25 2019-09-25 Intel Corporation Network communications using pooled memory in rack-scale architecture
US9971619B2 (en) * 2014-10-15 2018-05-15 Keysight Technologies Singapore (Holdings) Pte Ltd Methods and systems for forwarding network packets within virtual machine host systems
US9501420B2 (en) * 2014-10-22 2016-11-22 Netapp, Inc. Cache optimization technique for large working data sets
US9596253B2 (en) * 2014-10-30 2017-03-14 Splunk Inc. Capture triggers for capturing network data
US10116772B2 (en) * 2014-11-14 2018-10-30 Cavium, Inc. Network switching with co-resident data-plane and network interface controllers
US10230824B2 (en) * 2014-11-17 2019-03-12 Keysight Technologies Singapore (Holdings) Pte. Lte. Packet classification using memory pointer information
US9838333B2 (en) * 2015-01-20 2017-12-05 Futurewei Technologies, Inc. Software-defined information centric network (ICN)
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
US9767856B2 (en) * 2015-02-10 2017-09-19 Netapp, Inc. High density storage device system
US9569267B2 (en) * 2015-03-16 2017-02-14 Intel Corporation Hardware-based inter-device resource sharing
US9792154B2 (en) * 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
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
IL238690B (en) * 2015-05-07 2019-07-31 Mellanox Technologies Ltd Network-based computational accelerator
US9578008B2 (en) * 2015-05-11 2017-02-21 Intel Corporation Technologies for secure bootstrapping of virtual network functions
US9606836B2 (en) * 2015-06-09 2017-03-28 Microsoft Technology Licensing, Llc Independently networkable hardware accelerators for increased workflow optimization
US10049078B1 (en) * 2015-06-25 2018-08-14 Amazon Technologies, Inc. Accessing a memory location using a two-stage hash scheme
US10063446B2 (en) * 2015-06-26 2018-08-28 Intel Corporation Netflow collection and export offload using network silicon
US9668382B2 (en) * 2015-08-11 2017-05-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Coolant distribution unit for a multi-node chassis
US9891935B2 (en) * 2015-08-13 2018-02-13 Altera Corporation Application-based dynamic heterogeneous many-core systems and methods
US9749266B2 (en) * 2015-08-28 2017-08-29 International Business Machines Corporation Coalescing messages using a network interface controller
US10296232B2 (en) * 2015-09-01 2019-05-21 Western Digital Technologies, Inc. Service level based control of storage systems
CN105183561B (zh) * 2015-09-02 2018-09-14 浪潮(北京)电子信息产业有限公司 一种资源分配方法和系统
US11068469B2 (en) * 2015-09-04 2021-07-20 Arista Networks, Inc. System and method of a dynamic shared memory hash table with notifications
US10321597B2 (en) * 2015-09-07 2019-06-11 Dell Products, L.P. User interface enhanced storage sled handle with embedded security features
US10725963B2 (en) * 2015-09-12 2020-07-28 Microsoft Technology Licensing, Llc Distributed lock-free RDMA-based memory allocation and de-allocation
US10320710B2 (en) * 2015-09-25 2019-06-11 Intel Corporation Reliable replication mechanisms based on active-passive HFI protocols built on top of non-reliable multicast fabric implementations
US20170093770A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Technologies for receive side message inspection and filtering
WO2017052575A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Extending multichip package link off package
CN111865657B (zh) * 2015-09-28 2022-01-11 华为技术有限公司 一种加速管理节点、加速节点、客户端及方法
US9996539B1 (en) * 2015-09-30 2018-06-12 EMC IP Holding Company LLC Data protection and long term retention
US9912788B2 (en) * 2015-11-10 2018-03-06 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods of an enhanced state-aware proxy device
US10206297B2 (en) * 2015-11-23 2019-02-12 Liqid Inc. Meshed architecture rackmount storage assembly
US10691731B2 (en) * 2015-11-26 2020-06-23 International Business Machines Corporation Efficient lookup in multiple bloom filters
US10713175B2 (en) * 2015-12-02 2020-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and memory availability managing module for managing availability of memory pages
US10218647B2 (en) * 2015-12-07 2019-02-26 Intel Corporation Mechanism to support multiple-writer/multiple-reader concurrency for software flow/packet classification on general purpose multi-core systems
KR102509988B1 (ko) * 2015-12-15 2023-03-14 삼성전자주식회사 커넥션 기반 로드 밸런싱을 위한 저장 시스템 및 방법
EP3314514B1 (en) * 2016-01-25 2020-01-22 Hewlett-Packard Development Company, L.P. Protecting basic input/output (bios) code
US10713314B2 (en) * 2016-01-29 2020-07-14 Splunk Inc. Facilitating data model acceleration in association with an external data system
KR101936950B1 (ko) * 2016-02-15 2019-01-11 주식회사 맴레이 컴퓨팅 디바이스, 코프로세서와 비휘발성 메모리 사이의 데이터 이동 방법 및 이를 포함하는 프로그램
US9933821B2 (en) * 2016-02-17 2018-04-03 Quanta Computer Inc. Chassis with lock mechanism
US10180992B2 (en) * 2016-03-01 2019-01-15 Microsoft Technology Licensing, Llc Atomic updating of graph database index structures
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
US10069688B2 (en) * 2016-03-07 2018-09-04 International Business Machines Corporation Dynamically assigning, by functional domain, separate pairs of servers to primary and backup service processor modes within a grouping of servers
US10248349B2 (en) * 2016-03-22 2019-04-02 Oracle International Corporation Efficient and thread-safe objects for dynamically-typed languages
US10146550B2 (en) * 2016-03-28 2018-12-04 Dell Products, L.P. System and method to remotely detect and report bootable physical disk location
US10523598B2 (en) * 2016-04-04 2019-12-31 Futurewei Technologies, Inc. Multi-path virtual switching
US20180024964A1 (en) * 2016-07-19 2018-01-25 Pure Storage, Inc. Disaggregated compute resources and storage resources in a storage system
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US11444866B2 (en) 2016-07-22 2022-09-13 Intel Corporation Methods and apparatus for composite node creation and management through SDI partitions
US10917456B2 (en) * 2016-07-25 2021-02-09 Red Hat, Inc. Application management in an application deployment pipeline
US10078468B2 (en) * 2016-08-18 2018-09-18 International Business Machines Corporation Slice migration in a dispersed storage network
US10277677B2 (en) * 2016-09-12 2019-04-30 Intel Corporation Mechanism for disaggregated storage class memory over fabric
US20180089044A1 (en) * 2016-09-27 2018-03-29 Francesc Guim Bernat Technologies for providing network interface support for remote memory and storage failover protection
US10853364B2 (en) * 2016-09-28 2020-12-01 Microsoft Technology Licensing, Llc Direct table association in in-memory databases
US10936533B2 (en) * 2016-10-18 2021-03-02 Advanced Micro Devices, Inc. GPU remote communication with triggered operations
US10171309B1 (en) * 2016-12-23 2019-01-01 EMC IP Holding Company LLC Topology service
US10824355B2 (en) * 2017-01-10 2020-11-03 International Business Machines Corporation Hierarchical management of storage capacity and data volumes in a converged system
US10198270B2 (en) * 2017-01-19 2019-02-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic hardware configuration via firmware interface at computing device boot
US20180212885A1 (en) 2017-01-20 2018-07-26 Google Inc. Device and method for scalable traffic shaping at a receiver with a time-indexed data structure
US10664462B2 (en) * 2017-03-01 2020-05-26 Sap Se In-memory row storage architecture
US10503427B2 (en) * 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US10628057B2 (en) * 2017-03-28 2020-04-21 Hewlett Packard Enterprise Development Lp Capability based locking and access of shared persistent memory
US10346315B2 (en) * 2017-05-26 2019-07-09 Oracle International Corporation Latchless, non-blocking dynamically resizable segmented hash index
US10324859B2 (en) * 2017-06-26 2019-06-18 Western Digital Technologies, Inc. Multi-plane memory management
US20190044809A1 (en) * 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
US10334760B1 (en) * 2018-01-12 2019-06-25 Jed A. Darland System and method for helical cooling tower for efficient cooling
US10447273B1 (en) * 2018-09-11 2019-10-15 Advanced Micro Devices, Inc. Dynamic virtualized field-programmable gate array resource control for performance and reliability

Also Published As

Publication number Publication date
US20230412365A1 (en) 2023-12-21
US11249816B2 (en) 2022-02-15
US20210306142A1 (en) 2021-09-30
EP3451635B1 (en) 2020-07-15
US20190035483A1 (en) 2019-01-31
DE102018212479A1 (de) 2019-02-28
US10469252B2 (en) 2019-11-05
US20190042136A1 (en) 2019-02-07
EP3823245A1 (en) 2021-05-19
CN112732447B (zh) 2024-05-14
CN109426647A (zh) 2019-03-05
US11025411B2 (en) 2021-06-01
US11050554B2 (en) 2021-06-29
US20190044849A1 (en) 2019-02-07
US20190034490A1 (en) 2019-01-31
US11522682B2 (en) 2022-12-06
US20190042408A1 (en) 2019-02-07
CN116501683A (zh) 2023-07-28
US20190042277A1 (en) 2019-02-07
EP3454530A1 (en) 2019-03-13
CN109426648A (zh) 2019-03-05
CN109426569A (zh) 2019-03-05
US10554391B2 (en) 2020-02-04
CN109426649A (zh) 2019-03-05
US11888967B2 (en) 2024-01-30
US20190069434A1 (en) 2019-02-28
US20190042091A1 (en) 2019-02-07
US20190052457A1 (en) 2019-02-14
US11843691B2 (en) 2023-12-12
US20210288793A1 (en) 2021-09-16
US20220012105A1 (en) 2022-01-13
US20190044809A1 (en) 2019-02-07
JP7214394B2 (ja) 2023-01-30
US20190042611A1 (en) 2019-02-07
CN112732447A (zh) 2021-04-30
EP3460662A1 (en) 2019-03-27
US20190042126A1 (en) 2019-02-07
US20190042234A1 (en) 2019-02-07
CN109426652A (zh) 2019-03-05
US11588624B2 (en) 2023-02-21
US10476670B2 (en) 2019-11-12
US20230050698A1 (en) 2023-02-16
EP3451196A1 (en) 2019-03-06
CN109426455A (zh) 2019-03-05
US20190042122A1 (en) 2019-02-07
CN109428770A (zh) 2019-03-05
US20190034383A1 (en) 2019-01-31
US10567166B2 (en) 2020-02-18
JP2019047489A (ja) 2019-03-22
US20190034102A1 (en) 2019-01-31
US10756886B2 (en) 2020-08-25
CN115543204A (zh) 2022-12-30
US20190044859A1 (en) 2019-02-07
US10728024B2 (en) 2020-07-28
EP3451635A1 (en) 2019-03-06
CN109426456A (zh) 2019-03-05
US20190042090A1 (en) 2019-02-07
CN113806260A (zh) 2021-12-17
US20230421358A1 (en) 2023-12-28
US10581596B2 (en) 2020-03-03
US20200389296A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
US11843691B2 (en) Technologies for managing a flexible host interface of a network interface controller
US10747457B2 (en) Technologies for processing network packets in agent-mesh architectures
US11630702B2 (en) Cloud-based scale-up system composition
CN109416630B (zh) 用于多个缓冲器的自适应处理的方法和装置
CN109426633A (zh) 用于管理网络接口控制器的灵活主机接口的技术
EP3716088B1 (en) Technologies for flexible protocol acceleration

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