DE102018006890A1 - Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller - Google Patents

Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller Download PDF

Info

Publication number
DE102018006890A1
DE102018006890A1 DE102018006890.1A DE102018006890A DE102018006890A1 DE 102018006890 A1 DE102018006890 A1 DE 102018006890A1 DE 102018006890 A DE102018006890 A DE 102018006890A DE 102018006890 A1 DE102018006890 A1 DE 102018006890A1
Authority
DE
Germany
Prior art keywords
network packet
packet
memory structure
nic
network
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.)
Granted
Application number
DE102018006890.1A
Other languages
English (en)
Other versions
DE102018006890B4 (de
Inventor
Bradley Burres
Jose Niell
Alain Gravel
Erik McShane
Naru Sundar
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
Publication of DE102018006890A1 publication Critical patent/DE102018006890A1/de
Application granted granted Critical
Publication of DE102018006890B4 publication Critical patent/DE102018006890B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3079Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by reporting only the changes of the monitored data
    • 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
    • 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/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/0646Configuration or reconfiguration
    • G06F12/0692Multiconfiguration, e.g. local and global addressing
    • 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
    • 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
    • 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/4027Coupling between buses using bus bridges
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/0608Saving storage space on 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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/0653Monitoring storage devices or 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/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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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
    • 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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5083Techniques for rebalancing the load in a distributed 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/44Means for preventing access to live contacts
    • H01R13/447Shutter or cover plate
    • H01R13/453Shutter or cover plate opened by engagement of counterpart
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/44Means for preventing access to live contacts
    • H01R13/447Shutter or cover plate
    • H01R13/453Shutter or cover plate opened by engagement of counterpart
    • H01R13/4536Inwardly pivoting shutter
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/44Means for preventing access to live contacts
    • H01R13/447Shutter or cover plate
    • H01R13/453Shutter or cover plate opened by engagement of counterpart
    • H01R13/4538Covers sliding or withdrawing in the direction of engagement
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/62Means for facilitating engagement or disengagement of coupling parts or for holding them in engagement
    • H01R13/629Additional means for facilitating engagement or disengagement of coupling parts, e.g. aligning or guiding means, levers, gas pressure electrical locking indicators, manufacturing tolerances
    • H01R13/631Additional means for facilitating engagement or disengagement of coupling parts, e.g. aligning or guiding means, levers, gas pressure electrical locking indicators, manufacturing tolerances for engagement only
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1731Optimisation thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • H03M7/6029Pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • H04L12/2879Access multiplexer, e.g. DSLAM characterised by the network type on the uplink side, i.e. towards the service provider network
    • H04L12/2881IP/Ethernet DSLAM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/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/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • 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/12Discovery or management of network topologies
    • 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/04Processing captured monitoring data, e.g. for logfile generation
    • 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
    • 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
    • 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
    • H04L43/0894Packet rate
    • 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/20Traffic policing
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • 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)
    • H04L9/0822Key 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) using key encryption key
    • 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/1438Back panels or connecting means therefor; Terminals; Coding means to avoid wrong insertion
    • H05K7/1452Mounting of connectors; Switching; Reinforcing of back panels
    • 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/1487Blade assemblies, e.g. blade cases or inner arrangements within a blade
    • 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/1491Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures having cable management arrangements
    • 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/1492Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures having electrical distribution arrangements, e.g. power supply or data communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • 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/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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
    • 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/1438Back panels or connecting means therefor; Terminals; Coding means to avoid wrong insertion
    • H05K7/1447External wirings; Wiring ducts; Laying cables

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)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)
  • Small-Scale Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Optical Communication System (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Optics & Photonics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)

Abstract

Technologien zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) einer Rechenvorrichtung weisen eine Netzwerk-Schnittstelle, einen Paketprozessor und eine Kontrollervorrichtung des NIC auf, die jeweils kommunizierend mit einer Speicherstruktur des NIC gekoppelt sind. Der Paketprozessor ist dafür ausgelegt, eine Ereignisnachricht von der Speicherstruktur zu empfangen und eine Nachricht an die Kontrollervorrichtung zu übertragen, wobei die Nachricht anzeigt, dass das Netzpaket empfangen worden ist und den Speicherstrukturplatzzeiger aufweist. Die Kontrollervorrichtung ist dafür ausgelegt, zumindest einen Teil des empfangenen Netzpakets aus der Speicherstruktur abzurufen, einen eingehenden Deskriptor zu schreiben, der von einem oder mehreren On-Chip-Kernen des NIC verwendbar ist, um eine Operation an dem abgerufenen Teil auszuführen, und das Netzpaket in Abhängigkeit von einem abgehenden Deskriptor, der von den On-Chip-Kernen nach Ausführen der Operation geschrieben worden ist, umzustrukturieren. Hier werden auch andere Ausführungsformen beschrieben.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht den Vorteil der vorläufigen US-Patentanmeldung Nr. 62/427,268 , eingereicht am 29. November 2016, und die vorläufige indische Patentanmeldung Nr. 201741030632 , eingereicht am 30. August 2017.
  • HINTERGRUND DER ERFINDUNG
  • Bei heutigen paketvermittelten Netzwerkarchitekturen werden Daten in Form von Netzpaketen zwischen Rechenvorrichtungen und/oder Vorrichtungsbauteilen mit hoher Geschwindigkeit übertragen. Auf hoher Ebene werden Daten in ein Netzpaket paketiert, welches von einem Netzwerk-Schnittstellenkontroller (NIC) einer Netzwerk-Rechenvorrichtung übertragen und von einem NIC einer anderen Netzwerk-Rechenvorrichtung empfangen wird. Bei Empfang wird das Netzpaket typischerweise verarbeitet, klassifiziert usw., und die Nutzinformationen werden typischerweise in einen Arbeitsspeicher geschrieben (zum Beispiel Cache, Hauptspeicher usw.). Nachdem die Netzpaketdaten in den Arbeitsspeicher geschrieben worden sind, kann der empfangende NIC dann eine Host-Zentraleinheit (Central Processing Unit, CPU) informieren, dass die Daten zur weiteren Verarbeitung verfügbar sind. Das Schreiben des Inhalts der Netzpaketdaten vom NIC in den Arbeitsspeicher zur Verarbeitung durch eine Host-CPU kann jedoch kostspielig sein und eine Latenz einführen, oder es kann ansonsten andere negative Auswirkungen auf die Leistung haben.
  • Figurenliste
  • Die hier beschriebenen Konzepte sind in den beigefügten Figuren beispielhaft, und nicht einschränkend veranschaulicht. Der Einfachheit und der Klarheit der Veranschaulichung halber sind in den Figuren gezeigte Elemente nicht unbedingt maßstabgerecht eingezeichnet. Wo dies als angebracht angesehen wird, wurden Bezugszeichen zwischen den Figuren wiederholt, um entsprechende oder analoge Elemente anzuzeigen.
    • 1 ist ein Schaubild eines logischen Schemas eines Datenzentrums, in dem eine oder mehrere, hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert werden können;
    • 2 ist ein Schaubild einer beispielhaften Ausführungsform einer logischen Konfiguration eines Racks des Datenzentrums aus 1;
    • 3 ist ein Schaubild einer beispielhaften Ausführungsform eines weiteren Datenzentrums, in dem eine oder mehrere, hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert werden können;
    • 4 ist ein Schaubild einer weiteren beispielhaften Ausführungsform eines Datenzentrums, in dem eine oder mehrere, hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert werden können;
    • 5 ist ein Schaubild eines Vernetzungsplans, der für eine Sicherungsschichtvernetzung repräsentativ ist, die unter diversen SLEDs der Datenzentren der 1, 3 und 4 eingerichtet werden kann;
    • 6 ist ein Schaubild einer Rack-Architektur, die für eine Architektur eines beliebigen der in 1 bis 4 gezeigten Racks gemäß einigen Ausführungsformen repräsentativ sein kann;
    • 7 ist ein Schaubild eines Ausführungsbeispiels eines SLED, das mit der Rack-Architektur aus 6 verwendet werden kann;
    • 8 ist ein Schaubild eines Ausführungsbeispiels einer Rack-Architektur, um SLEDs mit Erweiterungsmöglichkeiten einen Träger zu bieten;
    • 9 ist ein Schaubild eines Ausführungsbeispiels eines Racks, das gemäß der Rack-Architektur aus 8 implementiert ist;
    • 10 ist ein Schaubild eines Ausführungsbeispiels eines SLED, das zur Verwendung zusammen mit dem Rack aus 9 gestaltet ist;
    • 11 ist ein Schaubild eines Ausführungsbeispiels eines Datenzentrums, in dem eine oder mehrere, hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert werden können;
    • 12 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform einer Rechenvorrichtung zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller (NIC) der Rechenvorrichtung;
    • 13 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform einer Umgebung, die durch den intelligenten NIC aus 12 eingerichtet werden kann;
    • 14 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform einer weiteren Umgebung, die durch den intelligenten NIC aus 12 eingerichtet werden kann;
    • 15 ist ein vereinfachtes Ablaufdiagramm mindestens einer Ausführungsform eines Verfahrens zum Generieren einer Ereignisnachricht in Reaktion auf das Empfangen eines Netzpakets, das durch eine Netzwerk-Schnittstelle des intelligenten NIC der 12-14 ausgeführt werden kann;
    • 16 ist ein vereinfachtes Ablaufdiagramm mindestens einer Ausführungsform eines Verfahrens zum Generieren einer Nachricht über das Empfangen eines Netzpakets in Reaktion auf das Empfangen einer Ereignisnachricht, das von einem Paketprozessor des intelligenten NIC der 13 und 14 ausgeführt werden kann;
    • 17 ist ein vereinfachtes Ablaufdiagramm mindestens einer Ausführungsform eines Verfahrens zum Zuordnen eines Flusses mit einem empfangenen Netzpaket in Reaktion auf das Empfangen einer Ereignisnachricht, das von einem Paketprozessor des intelligenten NIC der 13 und 14 ausgeführt werden kann;
    • 18 ist ein vereinfachtes Ablaufdiagramm mindestens einer Ausführungsform eines Verfahrens zum Vereinfachen einer Operation, die in Reaktion darauf auszuführen ist, dass eine Nachricht empfangen worden ist, die von einer Kontrollervorrichtung des intelligenten NIC ausgeführt werden kann;
    • 19 ist ein vereinfachtes Ablaufdiagramm mindestens einer Ausführungsform eines Verfahrens zum Identifizieren einer Host-Schnittstelle, die einem empfangenen Netzpaket zugeordnet ist, das von einem On-Chip-Kern des intelligenten NIC der 13 und 14 ausgeführt werden kann; und
    • 20 ist ein vereinfachtes Kommunikationsablaufdiagramm mindestens einer Ausführungsform zur Verarbeitung eines abgehenden Netzpakets, das von einer Netzwerk-Schnittstelle des intelligenten NIC der 13 und 14 ausgeführt werden kann.
  • GENAUE BESCHREIBUNG DER ZEICHNUNGEN
  • Während die Konzepte der vorliegenden Offenbarung verschiedenen Modifikationen und alternativen Formen unterliegen können, wurden spezifische Ausführungsformen von diesen beispielhaft in den Zeichnungen gezeigt und werden hier im Einzelnen beschrieben. Es sollte jedoch selbstverständlich sein, dass keinerlei Absicht besteht, die Konzepte der vorliegenden Offenbarung auf die besonderen offenbarten Formen zu begrenzen; es ist vielmehr beabsichtigt, alle Modifikationen, Äquivalente und Alternativen, die der vorliegenden Offenbarung und den beigefügten Ansprüchen entsprechen, abzudecken.
  • Verweise in der Beschreibung auf „eine Ausführungsform“, „eine veranschaulichende Ausführungsform“ usw. zeigen an, dass die beschriebene Ausführungsform ein besonderes Merkmal, eine besondere Struktur oder eine besondere Eigenschaft umfassen kann, aber jede Ausführungsform kann, muss aber nicht unbedingt, dieses besondere Merkmal, die besondere Struktur oder die besondere Eigenschaft umfassen. Außerdem beziehen sich solche Wendungen nicht unbedingt auf dieselbe Ausführungsform. Wenn ferner ein besonderes Merkmal, eine besondere Struktur oder Eigenschaft im Zusammenhang mit einer Ausführungsform beschrieben wird, wird angegeben, dass es im Kenntnisbereich eines Fachmanns auf dem Gebiet liegt, ein solches Merkmal, eine solche Struktur oder Eigenschaft im Zusammenhang mit anderen Ausführungsformen zu bewirken, unabhängig davon, ob dies ausdrücklich beschrieben ist. Außerdem versteht sich, dass in folgender Form in einer Liste enthaltene Punkte: „mindestens ein A, B und C“ folgendes bedeuten kann: (A); (B); (C); (A und B); (A und C); (B und C) oder (A, B und C). In ähnlicher Weise können in folgender Form aufgeführte Punkte: „mindestens eines von A, B oder C“ folgendes bedeuten: (A); (B); (C); (A und B); (A und C); (B und C) oder (A, B und C).
  • Die offenbarten Ausführungsformen können in manchen Fällen als Hardware, Firmware, Software oder irgendeine Kombination davon implementiert sein. Die offenbarten Ausführungsformen können auch als Anweisungen implementiert sein, die in einem flüchtigen oder nichtflüchtigen, maschinenlesbaren (zum Beispiel computerlesbaren) Speichermedium geführt oder gespeichert sind und die von einem oder mehreren Prozessoren ausgelesen und ausgeführt werden können. Ein maschinenlesbares Speichermedium kann als irgendeine Speichervorrichtung, ein Speichermechanismus oder eine andere physische Struktur zum Speichern oder Übertragen von Informationen in einer von einer Maschine (z. B. einem flüchtigen oder nichtflüchtigen Arbeitsspeicher, einer Mediendisk oder einer anderen Medienvorrichtung) lesbaren Form ausgeführt sein.
  • In den Zeichnungen können einige strukturelle oder Verfahrensmerkmale in speziellen Anordnungen und/oder Reihenfolgen gezeigt sein. Es versteht sich jedoch, dass solche speziellen Anordnungen und/oder Reihenfolgen nicht erforderlich sein müssen. Bei manchen Ausführungsformen können solche Merkmale vielmehr auf andere Weise und/oder in anderer Reihenfolge angeordnet sein, als es in den veranschaulichten Figuren gezeigt ist. Außerdem soll die Aufnahme eines strukturellen oder Verfahrensmerkmals in einer besonderen Figur nicht implizieren, dass ein solches Merkmal in allen Ausführungsformen erforderlich ist, und es kann in manchen Ausführungsformen auch nicht aufgenommen oder mit anderen Merkmalen kombiniert sein.
  • 1 veranschaulicht ein logisches Schema eines Datenzentrums 100, welches im Allgemeinen für ein Datenzentrum oder eine andere Art von Rechennetzwerk repräsentativ sein kann, in welchem bzw. für welches eine oder mehrere hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert sein können. Wie in 1 gezeigt ist, kann das Datenzentrum 100 im Allgemeinen mehrere Racks enthalten, die jeweils eine Rechenausrüstung aufnehmen können, die einen jeweiligen Satz von physischen Ressourcen umfasst. In dem in 1 gezeigten, nicht einschränkenden besonderen Beispiel enthält das Datenzentrum 100 vier Racks 102A bis 102D, die eine Rechenausrüstung aufnehmen, die jeweilige Sätze von physischen Ressourcen (PCRs) 105A bis 105D umfasst. Gemäß diesem Beispiel umfasst ein gemeinsamer Satz von physischen Ressourcen 106 des Datenzentrums 100 die verschiedenen Sätze von physischen Ressourcen 105A bis 105D, die über die Racks 102A bis 102D verteilt sind. Die physischen Ressourcen 106 können Ressourcen vielfacher Art umfassen, wie zum Beispiel Prozessoren, Co-Prozessoren, Beschleuniger, feldprogrammierbare Gatteranordnungen (Field Programmable Gate Arrays, FPGAs), Arbeitsspeicher und Speicher. Die Ausführungsformen sind nicht auf diese Beispiele beschränkt.
  • Das veranschaulichte Datenzentrum 100 unterscheidet sich auf vielfache Weise von typischen Datenzentren. Zum Beispiel sind in der veranschaulichten Ausführungsform die Leiterplatten („SLEDs“), auf denen Bauteile wie CPUs, Arbeitsspeicher und andere Bauteile angeordnet sind, für eine erhöhte thermische Leistung ausgelegt. Insbesondere sind in der veranschaulichten Ausführungsform die SLEDs flacher als typische Platten. Mit anderen Worten sind die SLEDs von vorne nach hinten, wo sich Kühlgebläse befinden, kürzer. Dadurch verkürzt sich die Weglänge, die die Luft über die Bauteile auf der Leiterplatte zurücklegen muss. Ferner sind die Bauteile auf dem SLED weiter beabstandet als bei typischen Leiterplatten, und die Bauteile sind so angeordnet, dass sie eine Überlagerung (d. h. ein Bauteil im Luftstromweg eines anderen Bauteils) verringern oder eliminieren. Im Anschauungsbeispiel befinden sich Verarbeitungsbauteile, wie Prozessoren, auf einer Oberseite eines SLED, während sich Nahspeicher, wie DIMMs, auf einer Unterseite des SLED befinden. In Folge des verbesserten Luftstroms, der sich durch diese Ausgestaltung ergibt, können die Bauteile mit höheren Frequenzen und Leistungspegeln als in üblichen Systemen betrieben werden, wodurch sich die Leistung erhöht. Ferner sind die SLEDs dafür ausgelegt, problemlos in jedem Rack 102A, 102B, 102C, 102D zu Strom- und Datenkommunikationskabeln zu passen, was die Möglichkeit, sie schnell zu entfernen, aktualisieren, neu zu installieren und/oder zu ersetzen verbessert. In ähnlicher Weise sind individuelle Bauteile, die sich auf den SLEDs befinden, wie Prozessoren, Beschleuniger, Arbeitsspeicher und Datenspeicherlaufwerke, so konfiguriert, dass sie aufgrund ihres größeren Abstands zueinander leicht aktualisiert werden können. In der veranschaulichten Ausführungsform umfassen die Bauteile zusätzlich Hardware-Bestätigungsmerkmale, um ihre Authentizität zu belegen.
  • Ferner nutzt in der veranschaulichten Ausführungsform das Datenzentrum 100 eine einzelne Netzwerkarchitektur („Fabric“ bzw. Struktur), die mehrfache andere Netzwerkarchitekturen einschließlich Ethernet und Omni-Path unterstützt. Die SLEDs sind in der veranschaulichten Ausführungsform über Lichtleiter an Schalter gekoppelt, wobei die Lichtleiter eine höhere Bandbreite und eine geringere Latenz bereitstellen, als eine typische Verkabelung mit verdrillten Aderpaaren (z. B. Kategorie 5, Kategorie 5e, Kategorie 6 usw.). Aufgrund der Zusammenschaltungen und der Netzwerkarchitektur mit hoher Bandbreite und geringer Latenz kann das Datenzentrum 100 im Gebrauch Ressourcen, wie Arbeitsspeicher, Beschleuniger (z. B. Grafikbeschleuniger, FPGAs, ASICs usw.) und Datenspeicherlaufwerke, die physisch getrennt sind, zusammenlegen, und es kann diese je nach Bedarf für Rechenressourcen (z. B. Prozessoren) bereitstellen, wodurch die Rechenressourcen auf die zusammengelegten Ressourcen zugreifen können, als wären sie lokal angeordnet. Das veranschaulichte Datenzentrum 100 empfängt außerdem Nutzinformationen für die verschiedenen Ressourcen, sagt die Ressourcennutzung für verschiedene Arten von Arbeitslasten basierend auf einer Ressourcennutzung in der Vergangenheit voraus und weist die Ressourcen basierend auf diesen Informationen dynamisch neu zu.
  • Die Racks 102A, 102B, 102C, 102D des Datenzentrums 100 können physische Ausführungsmerkmale aufweisen, die die Automatisierung einer Vielfalt von Arten von Wartungsaufgaben erleichtern. Zum Beispiel kann das Datenzentrum 100 unter Verwendung von Racks implementiert sein, die so ausgelegt sind, dass ein Roboter auf diese zugreifen kann und dass sie durch Roboter manipulierbare Ressourcen-SLEDs annehmen und aufnehmen. Ferner enthalten die Racks 102A, 102B, 102C, 102D in der veranschaulichten Ausführungsform integrierte Stromquellen, die eine höhere Spannung empfangen als es für Stromquellen typisch ist. Durch die erhöhte Spannung können die Stromquellen den Bauteilen auf jedem SLED zusätzliche Energie bereitstellen, wodurch die Bauteile mit höheren als den typischen Frequenzen arbeiten können.
  • 2 veranschaulicht eine beispielhafte logische Konfiguration eines Racks 202 des Datenzentrums 100. Wie in 2 gezeigt ist, kann das Rack 202 im Allgemeinen mehrere SLEDs aufnehmen, die jeweils einen jeweiligen Satz von physischen Ressourcen umfassen können. In dem in 2 gezeigten besonderen, nicht einschränkenden Beispiel nimmt das Rack 202 die SLEDs 204-1 bis 204-4 auf, die jeweilige Sätze von physischen Ressourcen 205-1 bis 205-4 umfassen, die jeweils einen Abschnitt des gemeinsamen Satzes von physischen Ressourcen 206 bilden, die im Rack 202 enthalten sind. Mit Bezug auf 1 können, falls das Rack 202 zum Beispiel für das Rack 102A repräsentativ ist, die physischen Ressourcen 206 den physischen Ressourcen 105A, die im Rack 102A enthalten sind, entsprechen. Im Zusammenhang mit diesem Beispiel können die physischen Ressourcen 105A somit aus den jeweiligen Sätzen von physischen Ressourcen erstellt werden, einschließlich der physischen Speicherressourcen 205-1, der physischen Beschleunigerressourcen 205-2, der physischen Arbeitsspeicherressourcen 205-3 und der physischen Rechenressourcen 205-5, die in den SLEDs 204-1 bis 204-4 des Racks 202 enthalten sind. Die Ausführungsformen sind nicht auf dieses Beispiel beschränkt. Jedes SLED kann einen Pool von jeder der verschiedenen Arten von physischen Ressourcen enthalten (z. B. Rechnen, Arbeitsspeicher, Beschleuniger, Speicher). Durch das Vorhandensein von SLEDs, auf die Roboter zugreifen können und die von Robotern manipuliert werden können, und welche getrennte Ressourcen umfassen, kann jede Art von Ressource unabhängig voneinander und mit ihrer eigenen optimierten Erneuerungsrate aktualisiert werden.
  • 3 veranschaulicht ein Beispiel für ein Datenzentrum 300, dass im Allgemeinen für eines repräsentativ sein kann, in dem / für das eine oder mehrere hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert sein können. In dem in 3 gezeigten besonderen, nicht einschränkenden Beispiel umfasst das Datenzentrum die Racks 302-1 bis 302-32. In verschiedenen Ausführungsformen können die Racks des Datenzentrums 300 auf eine solche Weise angeordnet sein, dass verschiedene Zugriffswege definiert und/oder untergebracht werden. Zum Beispiel können, wie in 3 gezeigt ist, die Racks des Datenzentrums 300 so angeordnet sein, dass die Zugriffswege 311A, 311B, 311C und 311D definiert und/oder untergebracht werden. Bei manchen Ausführungsformen kann das Vorhandensein solcher Zugriffswege im Allgemeinen eine automatisierte Wartungsausrüstung ermöglichen, wie eine robotische Wartungsausrüstung, um physisch auf die Rechenausrüstung zuzugreifen, die in den verschiedenen Racks des Datenzentrums 300 untergebracht ist, und automatisierte Wartungsaufgaben (z. B. das Ersetzen eines ausgefallenen SLED, das Aktualisieren eines SLED) ausführen. In verschiedenen Ausführungsformen können die Abmessungen der Zugriffswege 311A, 311B, 311C und 311D, die Abmessungen der Racks 302-1 bis 302-32 und/oder eine oder mehrere Aspekte der physischen Gestaltung des Datenzentrums 300 so ausgewählt werden, dass solche automatisierten Operationen erleichtert werden. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • 4 veranschaulicht ein Beispiel für ein Datenzentrum 400, das im Allgemeinen für eines repräsentativ sein kann, in dem / für das eine oder mehrere hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert sein können. Wie in 4 gezeigt ist, kann das Datenzentrum 400 eine optische Struktur 412 aufweisen. Die optische Struktur 412 kann im Allgemeinen eine Kombination aus optischen Zeichengabemedien (wie eine optische Verkabelung) und einer optischen Schaltinfrastruktur umfassen, über die jedes besondere SLED im Datenzentrum 400 Signale an jedes der anderen SLEDs im Datenzentrum 400 senden (und Signale von diesen empfangen) kann. Die Zeichengabevernetzung, die die optische Struktur 412 jedem gegebenen SLED bereitstellt, kann eine Vernetzung sowohl zu anderen SLEDs in einem selben Rack als auch zu SLEDs in anderen Racks aufweisen. In dem in 4 gezeigten besonderen, nicht einschränkenden Beispiel umfasst das Datenzentrum 400 vier Racks 402A bis 402D. Die Racks 402A bis 402D nehmen jeweilige Paare von SLEDs 404A-1 und 404A-2, 404B-1 und 404B-2, 404C-1 und 404C-2 und 404D-1 und 404D-2 auf. Somit umfasst das Datenzentrum 400 in diesem Beispiel insgesamt acht SLEDs. Über die optische Struktur 412 kann jedes solche SLED eine Zeichengabevernetzung mit jedem der sieben anderen SLEDs im Datenzentrum 400 besitzen. Zum Beispiel kann das SLED 404A-1 im Rack 402A über die optische Struktur 412 eine Zeichengabevernetzung mit dem SLED 404A-2 im Rack 402A sowie den sechs anderen SLEDs 404B-1, 404B-2, 404C-1, 404C-2, 404D-1 und 404D-2, die über die anderen Racks 402B, 402C und 402D des Datenzentrums 400 verteilt sind, besitzen. Die Ausführungsformen sind nicht auf dieses Beispiel beschränkt.
  • 5 veranschaulicht einen Überblick über einen Vernetzungsplan 500, der im Allgemeinen für eine Sicherungsschichtvernetzung repräsentativ sein kann, die in manchen Ausführungsformen über die verschiedenen SLEDs eines Datenzentrums, wie jedes der beispielhaften Datenzentren 100, 300 und 400 der 1, 3 und 4, eingerichtet werden kann. Der Vernetzungsplan 500 kann unter Verwendung einer optischen Struktur implementiert sein, die eine optische Dualmodus-Schaltinfrastruktur 514 aufweist. Die optische Dualmodus-Schaltinfrastruktur 514 kann im Allgemeinen eine Schaltinfrastruktur umfassen, die in der Lage ist, Kommunikationen gemäß mehrfachen Sicherungsschichtprotokollen über denselben vereinheitlichten Satz von optischen Zeichengabemedien zu empfangen und derartige Kommunikationen richtig zu schalten. In verschiedenen Ausführungsformen kann die optische Dualmodus-Schaltinfrastruktur 514 unter Verwendung eines oder mehrerer optischer Dualmodus-Schalter 515 implementiert sein. In verschiedenen Ausführungsformen können die optischen Dualmodus-Schalter 515 im Allgemeinen High-Radix-Schalter umfassen. Bei manchen Ausführungsformen können optische Dualmodus-Schalter 515 mehrlagige Schalter, wie vierlagige Schalter umfassen. Bei verschiedenen Ausführungsformen können die optischen Dualmodus-Schalter 515 integrierte Siliziumphotonen aufweisen, durch die sie Kommunikationen mit einer deutlich verringerten Latenz im Vergleich zu herkömmlichen Schaltvorrichtungen schalten können. Bei manchen Ausführungsformen können die optischen Dualmodus-Schalter 515 Leaf-Schalter 530 in einer Leaf-Spine-Architektur bilden, die zusätzlich einen oder mehrere optische Dualmodus-Spine-Schalter 520 enthalten.
  • Bei verschiedenen Ausführungsformen können optische Dualmodus-Schalter in der Lage sein, über optische Zeichengabemedien einer optischen Struktur sowohl Ethernet-Protokoll-Kommunikationen, die Internetprotokoll-Pakete (IP-Pakete) leiten, als auch Kommunikationen gemäß einem zweiten Hochleistungsrechnen-Sicherungsschichtprotokoll (z. B. Intels Omni-Path Architecture's, Infiniband) zu empfangen. Wie in 5 gezeigt, kann der Vernetzungsplan 500 in Bezug auf jedes besondere Paar von SLEDs 504A und 504B, das eine optische Zeichengabevernetzung zur optischen Struktur besitzt, somit eine Unterstützung für die Sicherungsschichtvernetzung sowohl über Ethernet-Verbindungen als auch HPC-Verbindungen bieten. Somit können sowohl Ethernet- als auch HPC-Kommunikationen von einer einzelnen Schaltstruktur mit hoher Bandbreite und geringer Latenz unterstützt werden. Die Ausführungsformen sind nicht auf dieses Beispiel beschränkt.
  • 6 veranschaulicht eine allgemeine Übersicht über eine Rack-Architektur 600, die für eine Architektur irgendeines besonderen der in den 1 bis 4 gezeigten Racks gemäß einigen Ausführungsformen repräsentativ sein kann. Wie in 6 gezeigt ist, kann die Rack-Architektur 600 im Allgemeinen mehrere SLED-Plätze aufweisen, in die SLEDs eingeführt werden können, auf die jeweils ein Roboter über einen Rack-Zugriffsbereich 601 zugreifen kann. In dem in 6 gezeigten besonderen, nicht einschränkenden Beispiel weist die Rack-Architektur 600 fünf SLED-Plätze 603-1 bis 603-5 auf. Die SLED-Plätze 603-1 bis 603-5 weisen jeweilige Mehrzweck-Verbindungsmodule (MCPMs) 616-1 bis 616-5 auf.
  • 7 veranschaulicht ein Beispiel für ein SLED 704, das für ein SLED einer solchen Art repräsentativ sein kann. Wie in 7 gezeigt ist, kann das SLED 704 einen Satz von physischen Ressourcen 705 sowie ein MPCM 716 umfassen, das dazu ausgelegt ist, mit einem Gegenstück-MPCM gekoppelt zu werden, wenn das SLED 704 in einen SLED-Platz, wie einen der SLED- Plätze 603-1 bis 603-5 aus 6, eingesteckt wird. Das SLED 704 kann auch ein Erweiterungsverbindungsstück 717 aufweisen. Das Erweiterungsverbindungsstück 717 kann im Allgemeinen eine Steckstelle, einen Steckplatz oder eine andere Art von Verbindungselement umfassen, das in der Lage ist, eine oder mehrere Arten von Erweiterungsmodulen aufzunehmen, wie ein Erweiterungs-SLED 718. Durch Koppeln mit einem Gegenverbindungsstück auf dem Erweiterungs-SLED 718 kann das Erweiterungsverbindungsstück 717 physische Ressourcen 705 mit Zugriff auf ergänzende Rechenressourcen 705B, die sich auf dem Erweiterungs-SLED 718 befinden, bereitstellen. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • 8 veranschaulicht ein Beispiel für eine Rack-Architektur 800, die für eine Rack-Architektur repräsentativ sein kann, die implementiert werden kann, um einen Träger für SLEDs mit Erweiterungsmöglichkeiten bereitzustellen, wie das SLED 704 aus 7. In dem besonderen, in 8 gezeigten, nicht einschränkenden Beispiel umfasst die Rack-Architektur 800 sieben SLED-Plätze 803-1 bis 803-7, die jeweilige MPCMs 816-1 bis 817-7 aufweisen. Die SLED-Plätze 803-1 bis 803-7 umfassen jeweilige primäre Bereiche 803-1A bis 803-7A und jeweilige Erweiterungsbereiche 803-1B bis 803-7B. Mit Bezug auf jeden solchen SLED-Platz kann, wenn das entsprechende MPCM mit einem Gegenstück-MPCM eines eingesteckten SLED gekoppelt ist, der primäre Bereich im Allgemeinen einen Bereich des SLED-Platzes bilden, der das eingesteckte SLED physisch aufnimmt. Der Erweiterungsbereich kann im Allgemeinen einen Bereich des SLED-Platzes bilden, der ein Erweiterungsmodul physisch aufnehmen kann, wie das Erweiterungs-SLED 718 aus 7, wenn das eingesteckte SLED mit einem solchen Modul konfiguriert ist.
  • 9 veranschaulicht ein Beispiel für ein Rack 902, das für ein Rack repräsentativ sein kann, das gemäß der Rack-Architektur 800 aus 8 gemäß einigen Ausführungsformen implementiert ist. In dem besonderen, in 9 gezeigten, nicht einschränkenden Beispiel weist das Rack 902 sieben SLED-Plätze 903-1 bis 903-7 auf, die jeweilige primäre Bereiche 903-1A bis 903-7A und jeweilige Erweiterungsbereiche 903-1B bis 903-7B umfassen. In verschiedenen Ausführungsformen kann eine Temperaturregelung im Rack 902 unter Verwendung eines Luftkühlsystems implementiert werden. Zum Beispiel kann das Rack 902, wie es in 9 gezeigt ist, mehrere Gebläse 919 aufweisen, die im Allgemeinen so angeordnet sind, dass sie eine Luftkühlung innerhalb der verschiedenen SLED-Plätze 903-1 bis 903-7 bereitstellen. Bei manchen Ausführungsformen ist die Höhe des SLED-Platzes höher als die übliche Serverhöhe „1U“. Bei solchen Ausführungsformen können die Gebläse 919 im Allgemeinen relativ langsame Kühlgebläse mit großem Durchmesser im Vergleich zu Gebläsen umfassen, die in herkömmlichen Rack-Konfigurationen verwendet werden. Das Betreiben von Kühlgebläsen mit größerem Durchmesser und bei geringeren Geschwindigkeiten kann die Lebensdauer des Gebläses im Vergleich zu Kühlgebläsen mit kleinerem Durchmesser, die bei höheren Geschwindigkeiten laufen, verlängern, während immer noch das gleiche Ausmaß an Kühlung bereitgestellt wird. Die SLEDs sind physisch flacher als herkömmliche Rack-Abmessungen. Ferner sind Bauteile auf jedem SLED angeordnet, um die thermische Überlagerung zu verringern (d. h., sie sind nicht in einer Reihe in Luftstromrichtung angeordnet). Infolgedessen ermöglichen die breiteren, flacheren SLEDs eine Erhöhung der Geräteleistung, da die Geräte auf Grund einer verbesserten Kühlung mit einer höheren thermischen Hülle (z. B. 250 W) betrieben werden können (d. h. keine thermische Überlagerung, mehr Raum zwischen den Geräten, mehr Platz für größere Wärmesenken usw.).
  • Die MPCMs 916-1 bis 916-7 können dafür ausgelegt sein, eingesteckte SLEDs mit einem Zugriff auf Energie zu versorgen, die von jeweiligen Leistungsmodulen 920-1 bis 920-7 bereitgestellt wird, von denen jedes Energie von einer externen Stromquelle 921 beziehen kann. In verschiedenen Ausführungsformen kann die externe Stromquelle 921 dem Rack 902 Wechselstrom (AC) liefern, und die Strommodule 920-1 bis 920-7 können dafür ausgelegt sein, einen solchen Wechselstrom in Gleichstrom (DC) umzuwandeln, der den eingesteckten SLEDs zugeführt werden soll. Bei manchen Ausführungsformen können die Strommodule 920-1 bis 920-7 zum Beispiel dafür ausgelegt sein, einen Wechselstrom von 277 V in einen Gleichstrom von 12 V zur Bereitstellung für eingesteckte SLEDs über jeweilige MPCMs 916-1 bis 916-7 umzuwandeln. Die Ausführungsformen sind nicht auf dieses Beispiel beschränkt.
  • Die MPCMs 916-1 bis 916-7 können auch so angeordnet sein, dass sie eingesteckte SLEDs mit einer optischen Zeichengabevernetzung an eine optische Dualmodus-Schaltinfrastruktur 914 versehen, wobei es sich um die gleiche - oder eine ähnliche - optische Dualmodus-Schaltinfrastruktur 514 wie in 5 handeln kann. In verschiedenen Ausführungsformen können die in den MPCMs 916-1 bis 916-7 enthaltenen optischen Verbindungsstücke dafür ausgelegt sein, mit optischen Gegenverbindungsstücken gekoppelt zu werden, die in MPCMs von eingesteckten SLEDs enthalten sind, um solche SLEDs über jeweilige Strecken optischer Verkabelungen 922-1 bis 922-7 mit einer optischen Zeichengabevernetzung zur optischen Dualmodus-Schaltinfrastruktur 914 zu versorgen. Bei manchen Ausführungsformen kann sich jede solche Strecke der optischen Verkabelung von ihrem entsprechenden MPCM zu einem optischen Verbindungsbaum 923 erstrecken, der außerhalb der SLED-Plätze des Racks 902 liegt. Bei verschiedenen Ausführungsformen kann der optische Verbindungsbaum 923 so angeordnet sein, dass er durch einen Trägerpfosten oder eine andere Art von lasttragendem Element des Racks 902 hindurchgeht. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt. Da eingesteckte SLEDs über MPCMs an eine optische Schaltinfrastruktur angeschlossen sind, können die Ressourcen, die typischerweise bei der manuellen Konfiguration der Rack-Verkabelung eingesetzt werden, um ein neu eingestecktes SLED aufzunehmen, eingespart werden.
  • 10 veranschaulicht ein Beispiel für ein SLED 1004, das für ein SLED repräsentativ sein kann, das zur Verwendung im Zusammenhang mit dem Rack 902 aus 9 gemäß einigen Ausführungsformen ausgelegt ist. Das SLED 1004 kann ein MPCM 1016 aufweisen, das ein optisches Verbindungsstück 1016A und ein Stromverbindungsstück 1016B umfasst und dafür ausgelegt ist, mit einem Gegenstück-MPCM eines SLED-Platzes im Zuge des Einsteckens des MPCM 1016 in diesen SLED-Platz gekoppelt zu werden. Das Koppeln des MPCM 1016 mit einem solchen Gegenstück-MPCM kann das Stromverbindungsstück 1016 veranlassen, sich mit einem Stromverbindungsstück, das in dem Gegenstück-MPCM enthalten ist, zu koppeln. Dadurch können im Allgemeinen physische Ressourcen 1005 des SLED 1004 von einer externen Quelle über das Stromverbindungsstück 1016 und Stromleitungsmedien 1024, die das Stromverbindungsstück 1016 leitend an physische Ressourcen 1005 koppeln, Strom beziehen.
  • Das SLED 1004 kann auch eine optische Dualmodus-Netzwerk-Schnittstellenschaltung 1026 aufweisen. Die optische Dualmodus-Netzwerk-Schnittstellenschaltung 1026 kann im Allgemeinen eine Schaltung umfassen, die zu einer Kommunikation über optische Zeichengabemedien gemäß jedem von mehreren Sicherungsschichtprotokollen fähig ist, die von der optischen Dualmodus-Schaltinfrastruktur 914 aus 9 unterstützt werden. Bei manchen Ausführungsformen kann die optische Dualmodus-Netzwerk-Schnittstellenschaltung 1026 sowohl zu Ethernet-Protokoll-Kommunikationen als auch zu Kommunikationen gemäß einem zweiten Hochleistungsprotokoll fähig sein. Bei verschiedenen Ausführungsformen kann die optische Dualmodus-Netzwerk-Schnittstellenschaltung 1026 ein oder mehrere optische Sendeempfängermodule 1027 aufweisen, die jeweils zum Übertragen und Empfangen von optischen Signalen über jeden von einem oder mehreren optischen Kanälen fähig sein können. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • Das Koppeln des MPCM 1016 mit einem Gegenstück-MPCM eines SLED-Platzes in einem gegebenen Rack kann das optische Verbindungsstück 1016A veranlassen, sich mit einem optischen Verbindungsstück zu koppeln, das in dem Gegenstück-MPCM enthalten ist. Dadurch kann im Allgemeinen eine optische Vernetzung zwischen einer optischen Verkabelung des SLED und der optischen Dualmodus-Netzwerk-Schnittstellenschaltung 1026 über jeden von einem Satz von optischen Kanälen 1025 eingerichtet werden. Die optische Dualmodus-Netzwerk-Schnittstellenschaltung 1026 kann mit den physischen Ressourcen 1005 des SLED 1004 über elektrische Zeichengabemedien 1028 kommunizieren. Zusätzlich zu den Abmessungen der SLEDs und der Anordnung von Bauteilen auf den SLEDs, um eine verbesserte Kühlung bereitzustellen und den Betrieb in einer relativ höheren thermischen Hülle (z. B. 250 W) zu ermöglichen, wie vorstehend anhand von 9 beschrieben, kann bei manchen Ausführungsformen ein SLED eine oder mehrere zusätzliche Merkmale aufweisen, um die Luftkühlung zu erleichtern, wie ein Heizrohr und/oder Wärmesenken, die so angeordnet sind, dass sie durch physische Ressourcen 1005 erzeugte Wärme abführen. Es sei angemerkt, dass, obwohl das in 10 gezeigte beispielhafte SLED 1004 kein Erweiterungsverbindungsstück aufweist, jedes gegebene SLED, das die Ausführungselemente des SLED 1004 aufweist, gemäß einigen Ausführungsformen auch ein Erweiterungsverbindungsstück aufweisen kann. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • 11 veranschaulicht ein Beispiel für ein Datenzentrum 1100, das im Allgemeinen für eines repräsentativ sein kann, in dem / für das eine oder mehrere, hier beschriebene Techniken gemäß verschiedenen Ausführungsformen implementiert sein können. Wie in 11 gezeigt, kann ein physischer Infrastrukturmanagementrahmen 1150A implementiert sein, um die Verwaltung einer physischen Infrastruktur 1100A des Datenzentrums 1100 zu erleichtern. In verschiedenen Ausführungsformen kann eine Funktion des physischen Infrastrukturmanagementrahmens 1150A darin bestehen, automatisierte Wartungsfunktionen innerhalb des Datenzentrums 1100 zu verwalten, wie die Verwendung einer robotischen Wartungsausrüstung, um eine Rechenausrüstung innerhalb der physischen Infrastruktur 1100A zu warten. Bei manchen Ausführungsformen kann die physische Infrastruktur 1100A ein fortgeschrittenes Fernmesssystem aufweisen, welches eine Fernmessberichterstattung ausführt, die ausreichend robust ist, um die entfernte automatisierte Verwaltung der physischen Infrastruktur 1100A zu unterstützen. Bei verschiedenen Ausführungsformen können Fernmessinformationen, die von einem solchen fortgeschrittenen Fernmesssystem bereitgestellt werden, Merkmale wie Fähigkeiten zum Vorhersehen/Vermeiden von Ausfällen sowie zur Kapazitätsplanung unterstützen. Bei manchen Ausführungsformen kann ein physischer Infrastrukturmanagementrahmen 1150A auch dafür ausgelegt sein, die Authentifizierung von physischen Infrastrukturbauteilen unter Verwendung von Hardware-Bestätigungstechniken zu verwalten. Zum Beispiel können Roboter vor der Installation die Authentizität von Bauteilen durch Analysieren von Informationen verifizieren, die von einem jedem Bauteil zugeordneten RFID-Tag (Radiofrequenz-Kennungstag) erfasst werden. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • Wie in 11 gezeigt ist, kann die physische Infrastruktur 1100A des Datenzentrums 1100 eine optische 1112 umfassen, die eine optische Dualmodus-Schaltinfrastruktur 1114 aufweisen kann. Die optische Struktur 1112 und die optische Dualmodus-Schaltinfrastruktur 1114 können gleich - oder ähnlich - der optischen Struktur 412 aus 4 bzw. der optischen Dualmodus-Schaltinfrastruktur 514 aus 5 sein, und sie können eine Mehrfach-Protokoll-Vernetzung unter SLEDs des Datenzentrums 1100 mit hoher Bandbreite und geringer Latenz bereitstellen. Wie oben mit Bezug auf 1 besprochen wurde, kann es in verschiedenen Ausführungsformen die Verfügbarkeit einer solchen Vernetzung möglich machen, Ressourcen wie Beschleuniger, Arbeitsspeicher und Speicher zu trennen und dynamisch zusammenzulegen. Bei manchen Ausführungsformen können zum Beispiel ein oder mehrere zusammengelegte Beschleuniger-SLEDs 1130 in der physischen Infrastruktur 1100A des Datenzentrums 1100 enthalten sein, die jeweils einen Pool von Beschleunigerressourcen - wie zum Beispiel Co-Prozessoren und/oder FPGAs - umfassen können, der über die optische Struktur 1112 und die optische Dualmodus-Schaltinfrastruktur 1114 global für andere SLEDs zugänglich ist.
  • In einem weiteren Beispiel können in verschiedenen Ausführungsformen ein oder mehrere zusammengelegte Speicher-SLEDs 1132 in der physischen Infrastruktur 1100A des Datenzentrums 1100 enthalten sein, die jeweils einen Pool von Speicherressourcen umfassen können, die über die optische Struktur 1112 und die optische Dualmodus-Schaltinfrastruktur 1114 für andere SLEDs global zugänglich sind. Bei manchen Ausführungsformen können solche zusammengelegten SLEDs 1132 Pools von Festkörper-Speichervorrichtungen umfassen, wie Festkörperlaufwerke (Solid State Drives, SSDs). Bei verschiedenen Ausführungsformen können ein oder mehrere Hochleistungs-Verarbeitungs-SLEDs 1134 in der physischen Infrastruktur 1100A des Datenzentrums 1100 enthalten sein. Bei manchen Ausführungsformen können Hochleistungs-Verarbeitungs-SLEDs 1134 Pools von Hochleistungsprozessoren sowie Kühlmerkmale, die die Luftkühlung verbessern, um eine höhere thermische Hülle von bis zu 250 W oder mehr zu ergeben, umfassen. Bei verschiedenen Ausführungsformen kann jedes gegebene Hochleistungs-Verarbeitungs-SLED 1134 ein Erweiterungsverbindungsstück 1117 aufweisen, das ein fernes Speicher-Erweiterungs-SLED aufnehmen kann, so dass der ferne Arbeitsspeicher, der lokal für dieses Hochleistungs-Verarbeitungs-SLED 1134 verfügbar ist, von den Prozessoren und dem nahen Arbeitsspeicher, die auf diesem SLED vorhanden sind, getrennt ist. Bei manchen Ausführungsformen kann ein solches Hochleistungs-Verarbeitungs-SLED 1134 mit einem fernen Arbeitsspeicher unter Verwendung eines Erweiterungs-SLED, das einen SSD-Speicher mit geringer Latenz umfasst, konfiguriert sein. Die optische Infrastruktur ermöglicht es Rechenressourcen auf einem SLED, ferne Beschleuniger-/FPGA-, Arbeitsspeicher- und/oder SSD-Ressourcen zu nutzen, die auf einem SLED getrennt sind, das sich auf demselben Rack oder auf einem anderen Rack im Datenzentrum befindet. Die fernen Ressourcen können sich in der vorstehend mit Bezug auf 5 beschriebenen Spine-Leaf-Netzwerk-Architektur um einen Schaltersprung oder um zwei Schaltersprünge entfernt befinden. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • Bei verschiedenen Ausführungsformen können eine oder mehrere Abstraktionsschichten auf die physischen Ressourcen der physischen Infrastruktur 1100A aufgebracht werden, um eine virtuelle Infrastruktur, wie eine softwaredefinierte Infrastruktur 1100B, zu definieren. Bei manchen Ausführungsformen können virtuelle Rechenressourcen 1136 der softwaredefinierten Infrastruktur 1100B zugewiesen werden, um die Bereitstellung von Cloud-Diensten 1140 zu unterstützen. Bei verschiedenen Ausführungsformen können besondere Sätze von virtuellen Rechenressourcen 1136 zur Bereitstellung für Cloud-Dienste 1140 in Form von SDI-Diensten 1138 gruppiert werden. Beispiele für Cloud-Dienste 1140 können - unter anderem - SaaS-Dienste (Software as a Service) 1142, PaaS-Dienste (Platform as a Service) 1144 und IaaS-Dienste (Infrastructure as a Service) 1146 aufweisen.
  • Bei manchen Ausführungsformen kann eine Verwaltung der softwaredefinierten Infrastruktur 1100B unter Verwendung eines virtuellen Infrastrukturmanagementrahmens 1150B ausgeführt werden. Bei verschiedenen Ausführungsformen kann der virtuelle Infrastrukturmanagementrahmen 1150B so gestaltet sein, dass er Arbeitslast-Fingerabdrucktechniken und/oder Maschinenlerntechniken zusammen mit einer Verwaltungszuordnung von virtuellen Rechenressourcen 1136 und/oder SDI-Diensten 1138 zu Cloud-Diensten 1140 implementiert. Bei manchen Ausführungsformen kann der virtuelle Infrastrukturmanagementrahmen 1150B Fernmessdaten zusammen mit der Durchführung einer solchen Ressourcenzuordnung verwenden/heranziehen. Bei verschiedenen Ausführungsformen kann ein Anwendungs-/Dienstmanagementrahmen 1150C implementiert werden, um QoS-Managementfähigkeiten für Cloud-Dienste 1140 bereitzustellen. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • Nun mit Bezug auf 12 enthält eine beispielhafte Rechenvorrichtung 1200 zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller (NIC) (z. B. den NIC 1214 der Kommunikationsschaltung 1212) neben anderen Bauteilen eine Rechenmaschine 1202, eine Datenspeichervorrichtung 1210 und eine Kommunikationsschaltung 1212. Die Rechenvorrichtung 1200 kann als Server (z. B. eigenständiger Server, Rack-Server, Blade-Server usw.), Rechenknoten, Speicherknoten, Schalter (z. B. getrennter Schalter, Rack-montierter Schalter, eigenständiger Schalter, vollständig verwalteter Schalter, teilweise verwalteter Schalter, Vollduplexschalter und/oder zum Halbduplex-Kommunikationsmodus befähigter Schalter), Router und/oder SLED in einem Datenzentrum (z. B. einer der SLEDs 204, 404, 504, 1004, 1130, 1132, 1134) ausgebildet sein, die jeweils als eine oder mehrere physische und/oder virtuelle Vorrichtungen ausgebildet sein können.
  • Im Gebrauch empfängt, wie nachstehend genauer beschrieben wird, der intelligente NIC 1214 der Rechenvorrichtung 1201 ein Netzpaket (z. B. an einer der Netzwerk-Schnittstellen 1302 des intelligenten NIC 1214 der 13 und 14) von einer anderen (nicht gezeigten) Rechenvorrichtung. Die andere Rechenvorrichtung kann als jede Art von Rechenvorrichtung, wie als mobile Rechenvorrichtung (z. B. Smartphone, Laptop / Tablet-Rechenvorrichtung, tragbare Rechenvorrichtung usw.), Desktop-Rechenvorrichtung, IoT-Vorrichtung (IoT = Internet of Things), Server (z. B. eigenständig, Rack-montiert, Blade usw.), Schalter (z. B. getrennter Schalter, Rack-montierter Schalter, eigenständiger Schalter, vollständig verwalteter Schalter, teilweise verwalteter Schalter, Vollduplex-Schalter und/oder ein zum Halbduplex-Kommunikationsmodus befähigter Schalter), Router, Netzanwendung, Web-Anwendung, verteiltes Rechensystem, prozessorbasiertes System und/oder Multiprozessorsystem ausgebildet sein, die jeweils als eine oder mehrere physische und/oder virtuelle Vorrichtungen ausgebildet sein können. In einer beispielhaften Ausführungsform kann die Quellenrechenvorrichtung als weiteres Server-SLED ausgeführt sein, wie eines der vorstehend beschriebenen SLEDs 204, 404, 504, 1004, 1130, 1132, 1134.
  • Bei Empfang des Netzpakets ist eine Netzwerk-Schnittstelle (z. B. die Netzwerk-Schnittstelle 1302 der 13 und 14) des intelligenten NIC 1214 dafür ausgelegt, den Inhalt des empfangenen Netzpakets (z. B. Kopfzeile(n), Nutzinformationen, Fußzeile(n) usw.) auf verteilte Weise in eine Speicherstruktur („Memory Fabric“) (z. B. die Speicherstruktur 1304 der 13 und 14) des intelligenten NIC 1214 zu schreiben. Demgemäß versteht sich, dass die Arbeitsspeicherstruktur 1304 mehrfache Arbeitsspeicher-Speicherbauteile (nicht gezeigt) aufweist, die hier als Segmente bezeichnet werden und jeweils verwendbar sind, um die Speicherung des Inhalts des empfangenen Netzpakets zu unterstützen. Die Netzwerk-Schnittstelle 1302 ist zusätzlich dafür ausgelegt, nach dem Schreiben des Inhalts des empfangenen Netzpakets in die Arbeitsspeicherstruktur, eine Ereignisnachricht an einen Paketprozessor, der in den 13 und 14 beispielhaft als der flexible Paketprozessor (FXP) 1306 des intelligenten NIC 1214 gezeigt ist, zu übertragen, die anzeigt, dass das Netzpaket empfangen worden ist.
  • Nach Empfang der Ereignisnachricht kann der FXP 1306 einen dem empfangenen Netzpaket zugeordneten Paketfluss identifizieren oder bestimmen, ob eine oder mehrere Operationen an dem empfangenen Netzpaket auszuführen sind. Um die Zuordnung zu identifizieren oder zu bestimmen, ob eine Operation auszuführen ist, ist der FXP 1306 dafür ausgelegt, zumindest einen Teil des Netzpakets aus dem entsprechenden Platz (den entsprechenden Plätzen) der Arbeitsspeicherstruktur 1304, in die die relevanten Teile geschrieben wurden, auszulesen. Falls der zugeordnete Paketfluss nicht identifiziert werden kann (z. B. das empfangene Paket das erste Netzpaket eines Paketflusses ist) oder der FXP 1306 bestimmt hat, dass mindestens eine Operation an dem empfangenen Netzpaket auszuführen ist (z. B. wie es basierend auf einem Nutzungsmodell, das einer Art des empfangenen Netzpakets zugeordnet ist, bestimmt werden kann), ist der FXP 1306 dafür ausgelegt, eine Nachricht zu generieren und an eine Kontrollervorrichtung des intelligenten NIC 1214 zu übertragen, der hier als der Bare-Metal-Kontroller 1314 der 13 und 14 gezeigt ist.
  • Der Bare-Metal-Kontroller 1314 ist dafür ausgelegt, bei Empfang der Nachricht basierend auf der Art der empfangenen Nachricht eine nachfolgende, vorzunehmende Aktion zu identifizieren. Die Art der generierten Nachricht kann von der vorzunehmenden Aktion abhängen (z. B. Identifizierung des Paketflusses, Ausführen einer Operation usw.). Zum Beispiel kann es sich bei der Nachricht um eine Host-Kennung-Anforderungsnachricht handeln, die von dem Bare-Metall-Kontroller 1314 verwendbar ist, um anzuzeigen, dass der dem empfangenen Netzpaket zugeordnete Paketfluss zu identifizieren ist, so dass eine entsprechende Host-Schnittstelle (z. B. eine der Host-Schnittstellen 1312 der 13 und 14) anhand dessen bestimmt werden kann. In einem weiteren Beispiel kann es sich bei der Nachricht um eine Nachricht über den Empfang eines Netzpakets handeln, die vom Bare-Metal-Kontroller 1314 verwendbar ist, um anzuzeigen, dass eine oder mehrere Operationen (z. B. Beschleunigeroperationen) an dem empfangenen Netzpaket auszuführen sind.
  • Der Bare-Metal-Kontroller 1314 ist dafür ausgelegt, falls es sich bei der empfangenen Nachricht um eine Host-Kennung-Anforderungsnachricht handelt, die Nachricht an die On-Chip-Kerne (z. B. einen der On-Chip-Kerne 1318 der 13 und 14) weiterzuleiten, so dass einer oder mehrere der On-Chip-Kerne 1318 die notwendigen Schritte ausführen können, um den Paketfluss und die entsprechende eine der Host-Schnittstellen 1312 zu identifizieren (siehe z. B. das Verfahren 1900 zum Identifizieren einer Host-Schnittstelle, die dem ersten Netzpaket eines Paketflusses aus 19 zugeordnet ist). Alternativ ist der Bare-Metal-Kontroller 1314 dafür ausgelegt, falls es sich bei der empfangenen Nachricht um eine Nachricht über den Empfang eines Netzpakets handelt, zumindest einen Teil des empfangenen Netzpakets zu lesen, den gelesenen Teil mit einer durch eine Software ausgelösten Aktion zu überschreiben, eine Kopfzeile des Netzpakets zu manipulieren, um einen reservierten Bereich zu schaffen, und eine Operationsanforderung (z. B. eine Beschleunigungsanforderung) an die On-Chip-Kerne zu übertragen, so dass einer oder mehrere der On-Chip-Kerne die notwendigen Schritte ausführen können, um die Operation auszuführen (z. B. eine Beschleunigungsoperation mit einem der Beschleunigeragenten 1308 der 13 und 14 zu koordinieren).
  • Die durch die Software ausgelöste Aktion kann irgendeine Angabe aufweisen, wie ein Netzpaket bei Abschluss der Operation(en), die an diesem durch die On-Chip-Kerne 1318 ausgeführt wurde, umstrukturiert werden soll. Zum Beispiel kann eine durch die Software ausgelöste Aktion anzeigen, dass der Bare-Metal-Kontroller 1314 der Struktur der Kopfzeile für eine Kopfzeilen-Verkapselung oder das Hinzufügen von Netzpaket-Metadaten Bytes hinzufügen soll, Bytes aus der Struktur der Kopfzeile für eine Kopfzeilen-Entkapselung oder das Entfernen von bestehenden Netzpaket-Metadaten entfernen soll, eine Startposition eines Netzpaketzeigers ändern soll usw. Es versteht sich, dass der Bare-Metal-Kontroller 1314 in anderen Ausführungsformen dafür ausgelegt sein kann, andere Nachrichtentypen zu empfangen, die verwendbar sind, um bei Empfang andere anschließende Aktionen auszuführen.
  • Wie es beispielhaft in 12 gezeigt ist, weist die Rechenvorrichtung 1200 eine Rechenmaschine 1202, ein Eingabe/Ausgabe(E/A-)-Subsystem 1208, eine oder mehrere Datenspeichervorrichtungen 1210, eine Kommunikationsschaltung 1212 und in manchen Ausführungsformen ein oder mehrere Peripheriegeräte 1216 auf. Natürlich kann in anderen Ausführungsformen die Rechenvorrichtung 1200 andere oder zusätzliche Bauteile enthalten, wie solche, die üblicherweise in einer Rechenvorrichtung vorhanden sind (z. B. eine Stromversorgung, Kühlbauteil(e), eine Grafikverarbeitungseinheit (GPU) usw.). Außerdem können bei manchen Ausführungsformen ein oder mehrere der beispielhaften Bauteile in einem anderen Bauteil inkorporiert sein oder ansonsten einen Teil von diesem bilden.
  • Die Rechenmaschine 1202 kann als jede Art von Vorrichtung oder Sammlung von Vorrichtungen ausgeführt sein, die in der Lage sind, verschiedene, nachstehend beschriebene Rechenfunktionen auszuführen. Bei manchen Ausführungsformen kann die Rechenmaschine 1202 als einzelne Vorrichtung ausgeführt sein, wie als integrierte Schaltung, eingebettetes System, FPGA, System-on-Chip (SoC) oder als ein anderes integriertes System oder eine solche Vorrichtung. Außerdem enthält bei manchen Ausführungsformen die Rechenmaschine 1202 einen Prozessor 1204 und einen Arbeitsspeicher 1206 oder kann ansonsten als solche ausgeführt sein. Der Prozessor 1204 kann als jede Art von Prozessor ausgeführt sein, der in der Lage ist, die hier beschriebenen Funktionen auszuführen. Zum Beispiel kann der Prozessor 1204 als einer oder mehrere einzelne oder Mehrfachkern-Prozessoren, als Mikrokontroller oder als anderer Prozessor oder andere Verarbeitungs-/Steuerschaltung ausgeführt sein. Bei manchen Ausführungsformen kann der Prozessor 1204 als FPGA, anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit, ASIC), rekonfigurierbare Hardware oder Hardwareschaltung oder andere spezialisierte Hardware ausgebildet sein, diese enthalten oder ansonsten an eine solche gekoppelt sein, um die Leistung der hier beschriebenen Funktionen zu erleichtern.
  • Der Arbeitsspeicher 1206 kann als jede Art von flüchtigem (z. B. dynamischem Direktzugriffspeicher, DRAM, usw.) oder nichtflüchtigem Arbeitsspeicher oder Datenspeicher ausgeführt sein, der in der Lage ist, die hier beschriebenen Funktionen auszuführen. Es versteht sich, dass der Arbeitsspeicher 1206 einen Hauptspeicher (d. h. einen primären Arbeitsspeicher) und/oder einen Cache-Speicher (d. h. einen Arbeitsspeicher, auf den man schneller zugreifen kann als auf den Hauptspeicher) enthalten kann. Der flüchtige Arbeitsspeicher kann ein Speichermedium sein, welches Strom benötigt, um den Status von durch das Medium gespeicherten Daten zu erhalten. Nicht einschränkende Beispiele für einen flüchtigen Arbeitsspeicher können verschiedene Arten von Direktzugriffspeichern (RAM), wie einen dynamischen Direktzugriffspeicher (DRAM) oder einen statischen Direktzugriffspeicher (SRAM), einschließen.
  • Eine besondere Art von DRAM, die in einem Speichermodul verwendet werden kann, ist ein synchroner dynamischer Direktzugriffspeicher (SDRAM). Bei besonderen Ausführungsformen kann der DRAM eines Speicherbauteils einem Standard entsprechen, der von JEDEC veröffentlicht wird, wie JESD79F für DDR-SDRAM, JESD79-2F für DDR2-SDRAM, JESD79-3F für DDR3-SDRAM, JESD79-4A für DDR4-SDRAM, JESD209 für Low-Power-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4 (diese Standards sind unter www.jedec.org verfügbar). Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden, und Kommunikationsschnittstellen der Speichervorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • In einer Ausführungsform ist die Speichervorrichtung eine Block-adressierbare Speichervorrichtung, wie solche, die auf NAND- oder NOR-Technologien basieren. Eine Speichervorrichtung kann auch nichtflüchtige Vorrichtungen der künftigen Generationen enthalten, wie eine dreidimensionale Koppelpunkt-Speichervorrichtung (z. B. Intel 3D XPoint™-Speicher) oder andere Byte-adressierbare, nichtflüchtige Write-in-Place-Speichervorrichtungen. In einer Ausführungsform kann es sich bei der Arbeitsspeichervorrichtung um Arbeitsspeichervorrichtungen handeln oder solche enthalten, die Chalcogenglas, einen Mehrfach-Schwellenebenen-NAND-Flash-Speicher, einen NOR-Flash-Speicher, einen ein- oder mehrstufigen Phasenwechselspeicher (PCM), einen Widerstandsspeicher, einen Nanodrahtspeicher, einen ferroelektrischen Transistor-Direktzugriffspeicher (FeTRAM), einen anti-ferroelektrischen Arbeitsspeicher, einen magnetoresistiven Direktzugriffspeicher (MRAM), der eine Memristor-Technologie enthält, einen Widerstandsspeicher, der die Metalloxidbasis, die Sauerstoffleerstellenbasis und den CB-RAM (Conductive Bridge Random Access Memory) enthält, oder einen STT-MRAM (Spin Transfer Torque MRAM), eine speicherbasierte Vorrichtung mit magnetischer Spintronik-Kontaktstelle, eine auf magnetischem Tunnelwiderstand (Magnetic Tunnelig Junction, MTJ) basierende Vorrichtung, eine auf Domänenwand (DW) und Spin-Bahn-Transfer (Spin Orbit Transfer, SOT) basierende Vorrichtung, eine auf einem Thyristor basierende Speichervorrichtung oder eine Kombination aus irgendwelchen der vorstehenden Speicher oder einen anderen Speicher verwenden. Die Speichervorrichtung kann sich auf den Chip selbst und/oder auf ein gepacktes Speicherprodukt beziehen.
  • Bei manchen Ausführungsformen kann ein 3D-Koppelpunktspeicher (z. B. Intel 3D XPoint™-Speicher) eine transistorlose, stapelbare Koppelpunkt-Architektur umfassen, in der sich Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen befinden und individuell adressierbar sind, und in der eine Bitspeicherung auf einer Änderung des Bahnwiderstands basiert. Bei manchen Ausführungsformen kann ein Teil oder kann der gesamte Arbeitsspeicher 1206 im Prozessor 1204 integriert sein. Im Betrieb kann der Arbeitsspeicher 1206 verschiedene Software und Daten speichern, die während des Betriebs verwendet werden, wie Arbeitsanforderungsdaten, Kernel-Abbildungsdaten, Fernmessdaten, Anwendungen, Programme, Bibliotheken und Treiber.
  • Die Rechenmaschine 1202 ist kommunizierend mit anderen Bauteilen der Rechenvorrichtung 1200 über das E/A-Subsystem 1208 gekoppelt, das als Schaltung und/oder Bauteile ausgeführt sein kann, um Eingabe-/Ausgabeoperationen mit der Rechenmaschine 1202 (z. B. dem Prozessor 1204 und/oder dem Arbeitsspeicher 1206) und anderen Bauteilen der Rechenvorrichtung 1200 zu erleichtern. Zum Beispiel kann das E/A-Subsystem 1208 als Speicherkontrollerverteiler, Eingabe-/Ausgabe-Steuerverteiler, integrierte Sensorverteiler, Firmware-Vorrichtungen, Kommunikationsverknüpfungen (z. B. Punkt-Punkt-Verknüpfungen, Busverknüpfungen, Drähte, Kabel, Lichtwellenleiter, gedruckte Leiterplattenbahnen usw.) und/oder andere Bauteile und Subsysteme ausgeführt sein oder diese enthalten, um die Eingabe-/Ausgabe-Operationen zu vereinfachen. Bei manchen Ausführungsformen kann das E/A-Subsystem 1208 einen Teil eines SOC bilden und, zusammen mit einem oder mehreren von dem Prozessor 1204, dem Arbeitsspeicher 1206 und anderen Bauteilen der Rechenvorrichtung 1200, in die Rechenmaschine 1202 integriert werden.
  • Die eine oder die mehreren Datenspeichervorrichtungen 1210 können als irgendeine Art von Vorrichtungen ausgeführt sein, die für eine Kurzzeit- oder Langzeitspeicherung von Daten ausgelegt sind, wie zum Beispiel Speichervorrichtungen und - schaltungen, Speicherkarten, Festplattenlaufwerke, Festkörperlaufwerke oder andere Datenspeichervorrichtungen. Jede Datenspeichervorrichtung 1210 kann eine Systempartition enthalten, die Daten und den Firmwarecode für die Datenspeichervorrichtung 1210 speichert. Außerdem kann jede Datenspeichervorrichtung 1210 auch eine Betriebssystempartition enthalten, die Dateien und ausführbare Dateien für ein Betriebssystem speichert.
  • Die Kommunikationsschaltung 1212 kann als eine beliebige Kommunikationsschaltungsvorrichtung oder eine Sammlung davon, ausgeführt sein, die in der Lage ist, Netzkommunikationen zwischen der Rechenvorrichtung 1200 und einer weiteren Rechenvorrichtung (z. B. einer Quellenrechenvorrichtung) über ein Netz (nicht gezeigt) zu ermöglichen. Ein solches Netz kann als irgendeine Art von drahtgebundenem oder drahtlosem Kommunikationsnetz ausgeführt sein, einschließlich globaler Netze (z. B. das Internet), lokaler Netze (LANs) oder Weitbereichsnetze (WANs), zellularer Netze (z. B. GSM, Global System for Mobile Communications), 3G, langfristiger Weiterentwicklung (Long Term Evolution, LTE), WiMAX (Worldwide Interoperability for Microwave Access) usw.), DSL-Netze (Digital Subscriber Line), Kabelnetze (z. B. koaxiale Netze, Fasernetze usw.), oder irgendeine Kombination davon.
  • Demgemäß kann die Kommunikationsschaltung 1212 dafür ausgelegt sein, irgendeine oder mehrere Kommunikationstechnologien (z. B. drahtgebundene oder drahtlose Kommunikationen) und zugeordnete Protokolle (z. B. Ethernet, Bluetooth®, WiFi®, WiMAX usw.) zu verwenden, um eine solche Kommunikation zu bewirken. Wie oben angemerkt, weist die beispielhafte Kommunikationsschaltung 1212 den intelligenten NIC 1214 auf, der auch als smarter NIC oder intelligente/smarte Host-Fabric-Schnittstelle (HFI) bezeichnet werden kann und genauer in den 13 und 14 beschrieben ist. Der intelligente NIC 1214 kann als eine oder mehrere Add-In-Karten, Tochterkarten, Netzschnittstellenkarten, Kontrollerchips, Chipsets oder andere Vorrichtungen ausgeführt sein, die von der Rechenvorrichtung 1200 verwendet werden können, um Netzkommunikationen an eine andere Rechenvorrichtung zu übertragen bzw. von dieser zu empfangen.
  • Das Peripheriegerät (Die Peripheriegeräte) 1216 kann (können) jede Art von Vorrichtung enthalten, die verwendbar ist, um Informationen in die Rechenvorrichtung 1200 einzugeben und/oder Informationen von der Rechenvorrichtung 1200 zu empfangen. Die Peripheriegeräte 1216 können als jede zusätzliche Vorrichtung ausgeführt sein, die verwendbar ist, um Informationen in die Rechenvorrichtung 1200 einzugeben, wie eine Tastatur, eine Maus, ein Mikrophon, ein Strichcode-Lesegerät, ein Bildscanner usw., oder um Informationen aus der Rechenvorrichtung 1200 auszugeben, wie eine Anzeige, ein Lautsprecher, eine Grafikschaltung, ein Drucker, ein Projektor usw. Es versteht sich, dass bei manchen Ausführungsformen eines oder mehrere der Peripheriegeräte 1216 sowohl als Eingabevorrichtung als auch als Ausgabevorrichtung dienen können (z. B. ein Berührungsbildschirm, ein Digitalisiergerät auf einem Anzeigebildschirm usw.). Es versteht sich ferner, dass die Arten von Peripheriegeräten 1216, die an die Rechenvorrichtung 1200 angeschlossen sind, zum Beispiel von der Art und/oder vom Verwendungszweck der Rechenvorrichtung 1200 abhängen können. Zusätzlich oder alternativ können bei manchen Ausführungsformen die Peripheriegeräte 1216 einen oder mehrere Anschlüsse enthalten, wie zum Beispiel einen USB-Anschluss, um externe Peripheriegeräte an die Rechenvorrichtung 1200 anzuschließen.
  • Nun mit Bezug auf 13 kann der NIC 1214 der Rechenvorrichtung 1200 aus 12 eine Umgebung 1300 während des Betriebs erstellen. Die veranschaulichte Umgebung 1300 enthält die eine oder die mehreren Netzwerk-Schnittstellen 1302, die Arbeitsspeicherstruktur 1304, den FXP 1306, den einen oder die mehreren Beschleunigeragenten 1308, einen Verkehrsmanager 1310, die eine oder die mehreren Host-Schnittstellen 1312, den Bare-Metal-Kontroller 1314, einen oder mehrere On-Chip-Verarbeitungskerne 1318, eine Infrastruktur 1316, eine Arbeitsspeicherlenkeinheit 1320, einen SRAM 1322 und einen oder mehrere Arbeitsspeicherkontroller 1324. Die verschiedenen Bauteile der Umgebung 1300 können als Hardware, Firmware, Software oder eine Kombination davon ausgeführt werden. Als solche können bei manchen Ausführungsformen eines oder mehrere der Bauteile der Umgebung 1300 als Schaltung oder Sammlung von elektrischen Vorrichtungen ausgeführt sein. Zusätzlich können bei manchen Ausführungsformen eines oder mehrere der veranschaulichten Bauteile einen Teil eines anderen Bauteils bilden, und/oder eines oder mehrere der veranschaulichten Bauteile können unabhängig voneinander sein.
  • Die Netzwerk-Schnittstelle(n) 1320 ist (sind) dafür ausgelegt, eingehenden Netzverkehr zu empfangen und abgehenden Netzverkehr zu leiten/übertragen. Um den Empfang von eingehenden und die Übertragung von abgehenden Netzkommunikationen (z. B. Netzverkehr, Netzpakete, Netzpaketflüsse usw.) zu/von der Rechenvorrichtung 1200 zu vereinfachen, sind die Netzwerk-Schnittstellen 1302 dafür ausgelegt, Verbindungen zu physischen und virtuellen Netzanschlüssen (d. h. virtuellen Netzwerk-Schnittstellen) des intelligenten NIC 1214 sowie die diesen zugeordneten Eintritts-/Austrittspuffer/-warteschlangen zu verwalten (z. B. zu schaffen, zu modifizieren, zu löschen usw.). Die Netzwerk-Schnittstellen 1302 sind zusätzlich dafür ausgelegt, mit der Arbeitsspeicherstruktur-Schnittstelle 1332 koordiniert zu werden, um den Inhalt (z. B. Kopfzeile(n), Nutzinformationen, Fußzeile(n) usw.) von an den Netzwerk-Schnittstellen 1302 empfangenen Netzpaketen in die Arbeitsspeicherstruktur 1304 zu speichern.
  • Wie oben angemerkt, enthält die Arbeitsspeicherstruktur 1304 Segmente (nicht gezeigt), die verwendbar sind, um den Inhalt der empfangenen Netzpakete zu speichern. Demgemäß versteht sich, dass die Speicherstruktur-Schnittstelle 1332 dafür ausgelegt ist, das Datenschreiben in die Segmente auf verteilte Weise zu verwalten und eine Angabe (z. B. einen Zeiger) bereitzustellen, der verwendbar ist, um die Speicherplätze der Segmente zu identifizieren, in denen der Inhalt der Netzpakete gespeichert worden ist. Außerdem ist die Speicherstruktur-Schnittstelle 1332 dafür ausgelegt, den FXP 1306 zu informieren, wenn ein empfangenes Netzpaket in der Speicherstruktur 1304 gespeichert worden ist, und dem FXP 1306 den (die) Speicherstrukturplatzzeiger bereitzustellen.
  • Der FXP 1306 ist dafür ausgelegt, einen dem empfangenen Netzpaket zugeordneten Paketfluss zu identifizieren und zu bestimmen, ob die Host-Schnittstelle entsprechend dem Paketfluss benachrichtigt werden soll. Um den Paketfluss zu identifizieren, kann der FXP 1306 ein Nachschlagen in einer Tabelle ausführen, die anzeigt, welche Paketflüsse welcher der Host-Schnittstellen 1312 entsprechen. Falls das Nachschlagen fehlschlägt (z. B. befindet sich der zugeordnete Paketfluss nicht in der Nachschlagetabelle), ist der FXP 1306 dafür ausgelegt, eine Übertragungsnachricht (d. h. eine Host-Kennung-Anforderungsnachricht) zu generieren und an den Bare-Metal-Kontroller 1314 zu übertragen, die von dem Bare-Metal-Kontroller 1314 verwendbar ist, um eine anschließende Aktion vorzunehmen, um den zugeordneten Paketfluss und die entsprechende Host-Schnittstelle 1312 zu identifizieren. Bei manchen Ausführungsformen kann der FXP 1306 zusätzlich dafür ausgelegt sein, bei Empfang eines jeden Netzpakets eine Nachricht (d. h. eine Nachricht über den Empfang des Netzpakets) zu generieren und an den Bare-Metal-Kontroller 1314 zu übertragen, so dass vor der Mitteilung an die passende Host-Schnittstelle 1312 über den Empfang des Netzpakets eine Operation ausgeführt werden kann.
  • Die Beschleunigeragenten 1308 sind jeweils dafür ausgelegt, eine Beschleunigungsoperation an mindestens einem Teil des Netzpakets auszuführen. Zum Beispiel können solche Beschleunigeragenten 1308 eine entfernte Direktspeicherzugriffsoperation (RDMA), eine Kryptographie-Operation oder irgendeine andere Art der Beschleunigung einschließen. Der Verkehrsmanager 1310 ist dafür ausgelegt, ein Verkehrsmanagement in dem Paketverarbeitungsdatenweg durchzuführen, wie es ausgeführt werden kann, um Service Level Agreements (SLAs) zu erzwingen.
  • Jede der Host-Schnittstellen 1312 ist dafür ausgelegt, als Schnittstelle zwischen einer jeweiligen der Host-CPUs 1328 (z. B. einem der Prozessoren 1204 der Rechenmaschine 1202 aus 12) und dem intelligenten NIC 1214 zu dienen. Zum Beispiel sind die Host-Schnittstellen 1312 dafür ausgelegt, als Schnittstelle zwischen den Host-CPUs 1328 (z. B. dem Prozessor 1204 der Rechenmaschine 1202 aus 12) und der Speicherstruktur 1304 (z. B. über die Speicherstruktur-Schnittstelle 1332) sowie als Schnittstelle zwischen den Host-CPUs 1328 und der Infrastruktur 1316 zu dienen. Demgemäß können Nachrichten und/oder Netzpaketdaten zwischen diesen über eine oder mehrere Kommunikationsverknüpfungen versendet werden, wie PCIe-Zusammenschaltungen, um einen Zugriff auf den Host-Arbeitsspeicher 1330 zu gewähren (z. B. den Arbeitsspeicher 1206 der Rechenmaschine 1202 aus 12).
  • Der Bare-Metal-Kontroller 1314 kann als irgendeine Art von virtueller oder physischer Kontrollervorrichtung ausgeführt sein, die in der Lage ist, die hier beschriebenen Funktionen auszuführen. Der Bare-Metal-Kontroller 1314 ist dafür ausgelegt, Nachrichten vom FXP 1306 zu empfangen, um eine anschließende Aktion zu identifizieren, die basierend auf der Art von empfangener Nachricht vorzunehmen ist. Zum Beispiel ist, wie vorstehend beschrieben, falls es sich bei der empfangenen Nachricht um eine Nachricht über den Empfang eines Netzpakets handelt, der Bare-Metal-Kontroller 1314 dafür ausgelegt, zumindest einen Teil des empfangenen Netzpakets zu lesen, den gelesenen Teil mit einer durch eine Software ausgelösten Aktion zu überschreiben, eine Kopfzeile des Netzpakets zu manipulieren, um einen reservierten Bereich zu schaffen, und eine Operationsanforderung (z. B. eine Beschleunigungsanforderung) an die On-Chip-Kerne 1318 zu übertragen, so dass einer oder mehrere der On-Chip-Kerne 1318 die notwendigen Schritte ausführen kann, um die Operation auszuführen (z. B. eine Beschleunigungsoperation mit einem der Beschleunigeragenten 1308 zu koordinieren). Es versteht sich, dass bei manchen Ausführungsformen der Bare-Metal-Kontroller 1314 in ein anderes Bauteil eingebracht werden kann. Zum Beispiel kann nun, mit Bezug auf 14, der NIC 1214 der Rechenvorrichtung 1200 aus 12 eine Umgebung 1400 während der Operation erstellen, bei der der Bare-Metal-Kontroller 1314 mit den Host-Schnittstellen 1312 integriert ist. Es versteht sich ferner, dass bei manchen Ausführungsformen der Bare-Metal-Kontroller 1314 ein physisches oder virtuelles Bauteil sein kann.
  • Nun wieder mit Bezug auf 13 ist der eine oder sind die mehreren On-Chip-Kerne 1318 dafür ausgelegt, Rechnungen lokal am intelligenten NIC 1214 auszuführen. Demgemäß können die On-Chip-Kerne 1318 eine Rechenleistung bereitstellen, um bestimmte Operationen auszuführen, ohne dass die verarbeiteten Daten an eine Stelle entfernt von dem intelligenten NIC 1214 bewegt werden müssen, wodurch die Latenz eliminiert wird, die ansonsten durch Bewegen der Daten eingeführt wird. Die Infrastruktur 1316 kann verschiedene Bauteile enthalten, um die Kommunikationen, den Status und die Steuerungen der On-Chip-Kerne 1318 und/oder der Host-Schnittstelle 1312 zu verwalten, wie eine serielle Kommunikationsschnittstelle (z. B. ein UART (Universal Asynchronous Receiver and Transmitter), ein Serial Peripheral Interface (SPI) Bus usw.), eine Test-/Fehlerbeseitigungsschnittstelle, ein digitaler Wärmesensor, E/A-Kontroller usw.
  • Der SRAM 1322 ist über eine Speicherlenkeinheit 1320 kommunizierend an die On-Chip-Kerne 1318 gekoppelt und kann verwendet werden, um Daten (z. B. Arbeits-Warteschlangen, Benachrichtigungen, Unterbrechungen, Kopfzeilen, Deskriptoren, kritische Strukturen usw.) für die On-Chip-Kerne 1318 zu speichern. Zusätzlich ist die Speicherlenkeinheit 1320 auch an einen oder mehrere Speicherkontroller 1324 gekoppelt. Die Speicherkontroller 1324 können DDR-Speicherkontroller (DDR = Double Data Rate) sein, die dafür ausgelegt sind, den DDR-SDRAM 1326 extern von dem intelligenten NIC 1214, jedoch von diesem verwaltet, zu betreiben, und nicht die Host-CPUs (z. B. Prozessor(en) 1204 der Rechenmaschine 1202 aus 12). Demgemäß sind Zugriffe auf den DDR-SDRAM 1326 schneller im Vergleich zu Zugriffen auf den DDR-SDRAM 1330 (d. h. den Host-Arbeitsspeicher) der Host-CPUs 1328. Die Speicherkontroller 1324 sind zusätzlich kommunizierend über die Speicherstruktur-Schnittstelle 1332 an die Speicherstruktur 1304 gekoppelt, so dass im DDR-SDRAM 1326 gespeicherte Daten an die Speicherstruktur 1304 oder von dieser übertragen werden können.
  • Nun mit Bezug auf 15 kann die Rechenvorrichtung 1200, oder genauer der intelligente NIC 1214 der Rechenvorrichtung 1200, im Gebrauch ein Verfahren 1500 zum Generieren einer Ereignisnachricht in Reaktion auf den Empfang eines Netzpakets ausführen. Das Verfahren 1500 beginnt bei Block 1502, bei dem der intelligente NIC 1214, oder genauer eine Netzwerk-Schnittstelle 1302 des intelligenten NIC 1214, bestimmt, ob ein Netzpaket empfangen worden ist. Wenn dies der Fall ist, geht das Verfahren 1500 zu Block 1504 über, bei dem der intelligente NIC 1214, oder genauer die Speicherstruktur-Schnittstelle 1332 des intelligenten NIC 1214, das empfangene Netzpaket auf verteilte Weise in eine Speicherstruktur (z. B. die Speicherstruktur 1304 aus 13) des intelligenten NIC 1214 schreibt.
  • Hierfür weist bei Block 1506 die Speicherstruktur-Schnittstelle 1332 mehrere Segmente der Speicherstruktur 1304 zu und schreibt den Inhalt (z. B. Kopfzeile(n), Nutzinformationen und Fußzeile(n)) des empfangenen Netzpakets in die zugeordneten Segmente. Bei Block 1508 generiert die Speicherstruktur-Schnittstelle 1332 eine Ereignisnachricht und sendet diese an den FXP (z. B. den FXP 1306 aus 13) mit der Angabe, dass das empfangene Netzpaket empfangen worden ist. Zusätzlich enthält bei Block 1510 die Speicherstruktur-Schnittstelle 1332 einen Speicherstrukturplatzzeiger mit der Ereignisnachricht, der verwendbar ist, um die Speicherplätze zu identifizieren, in die das empfangene Netzpaket geschrieben worden ist.
  • 16 und 17 zeigen anschaulich zwei Beispiele für Verfahren, die bei Empfang einer Ereignisnachricht vom FXP 1306 ausgeführt werden können. Zum Beispiel kann beim Verfahren 1600 aus 16 der FXP 1306 dafür ausgelegt sein, den Bare-Metal-Kontroller 1314 bei jeder empfangenen Ereignisnachricht, die anzeigt, dass ein Netzpaket empfangen worden ist, zu informieren. Alternativ kann beim Verfahren 1700 aus 17 der FXP 1306 dafür ausgelegt sein, zunächst einen dem Netzpaket zugeordneten Paketfluss entsprechend jeder empfangenen Ereignisnachricht zu identifizieren, bevor entweder der Bare-Metal-Kontroller 1314 oder eine entsprechende der Host-Schnittstellen 1312 über das empfangene Netzpaket informiert wird. Es versteht sich, dass bei manchen Ausführungsformen der FXP 1306 dafür ausgelegt sein kann, eine oder mehrere zusätzliche Operationen zumindest an einem Teil des Netzpakets zusätzlich oder alternativ zu den hier beschriebenen auszuführen, wie bei Empfang der Ereignisnachricht, nachdem zusätzliche Operationen an dem Netzpaket (z. B. von einem On-Chip-Kern 1318, einem Agenten 1308 usw.) ausgeführt worden sind, usw. Zum Beispiel kann bei manchen Ausführungsformen der FXP 1306 dafür ausgelegt sein, einen reservierten Bereich in der Kopfzeile des Netzpakets mit einer vorbestimmten Größe zu schaffen, wie durch Verschieben der Kopfzeile. Bei solchen Ausführungsformen kann der FXP 1306 einen reservierten Bereich schaffen, der ausreichend groß ist, um eine weitere Kopfzeile in der Netzpaket-Kopfzeile zu verkapseln, der Netzpaket-Kopfzeile eine besondere Menge an Metadaten hinzuzufügen, usw. Zusätzlich kann der FXP 1306 in solchen Ausführungsformen dafür ausgelegt sein, jeglichen nicht verwendeten Abschnitt des reservierten Bereichs bei Beendigung von darauf auszuführenden Operationen heraus zu komprimieren. Mit anderen Worten kann der FXP 1306 zusätzlich dafür ausgelegt sein, Operationen auszuführen, die ansonsten von den On-Chip-Kernen 1318 und/oder dem Bare-Metal-Kontroller 1314 ausgeführt werden könnten.
  • Nun mit Bezug auf 16 kann die Rechenvorrichtung 1200, oder genauer der intelligente NIC 1214 der Rechenvorrichtung 1200, im Gebrauch ein Verfahren 1600 zum Generieren einer Nachricht über den Empfang eines Netzpakets in Reaktion auf den Empfang einer Ereignisnachricht ausführen. Das Verfahren 1600 beginnt bei Block 1602, wo der intelligente NIC 1214, oder genauer ein FXP (z. B. der FXP 1306) des intelligenten NIC 1214, bestimmt, ob eine Ereignisnachricht von der Speicherstruktur-Schnittstelle 1332 empfangen worden ist (z. B. in Reaktion auf das Empfangen des der Ereignisnachricht zugeordneten Netzpakets). Es versteht sich, dass die Ereignisnachricht einen Speicherstrukturplatzzeiger enthält, der verwendbar ist, um die Speicherplätze zu identifizieren, in die das empfangene Netzpaket in der Speicherstruktur 1304 geschrieben worden ist.
  • Falls der FXP 1306 bestimmt, dass die Ereignisnachricht empfangen worden ist, fährt das Verfahren 1600 mit Block 1604 fort, wo der FXP 1306 eine Nachricht über den Empfang eines Netzpakets generiert und an einen Bare-Metal-Kontroller (z. B. den Bare-Metal-Kontroller 1314) überträgt und eine auszuführende Operation anfordert. Bei manchen Ausführungsformen kann der FXP 1306 dafür ausgelegt sein, die Nachricht über den Empfang eines Netzpakets in Reaktion auf jedes empfangene Netzpaket zu generieren und übertragen. Alternativ kann in anderen Ausführungsformen der FXP 1306 dafür ausgelegt sein, ein oder mehrere Kennzeichen des empfangenen Netzpakets (z. B. einen Paketfluss, eine Quellenkennung, eine Zielkennung usw.) zu identifizieren und zu bestimmen, ob die Nachricht über das empfangene Netzpaket in Abhängigkeit von dem einen oder den mehreren identifizierten Kennzeichen generiert und übertragen werden soll. Zusätzlich enthält bei Block 1606 der FXP 1306 einen Speicherstrukturplatzzeiger mit der Nachricht über ein empfangenes Netzpaket.
  • Nun mit Bezug auf 17 kann die Rechenvorrichtung 1200, oder genauer der intelligente NIC 1214 der Rechenvorrichtung 1200, im Gebrauch ein Verfahren 1700 zum Zuordnen eines Paketflusses einem empfangenen Netzpaket in Reaktion auf den Empfang einer Ereignisnachricht ausführen. Das Verfahren 1700 beginnt bei Block 1702, wo der intelligente NIC 1214, oder genauer ein FXP (z. B. der FXP 1306) des intelligenten NIC 1214, bestimmt, ob eine Ereignisnachricht empfangen worden ist. Wenn dies der Fall ist, fährt das Verfahren 1700 mit Block 1704 fort, wo der FXP 1306 zumindest einen Teil des Netzpakets (z. B. zumindest einen Teil der Kopfzeile(n), der Nutzinformationen und/oder Fußzeile(n), das der empfangenen Ereignisnachricht zugeordnet ist, um einen Paketfluss des Netzpakets zu identifizieren. Hierfür liest der FXP 1306 bei Block 1706 zumindest den Teil des Netzpakets aus einem sich in der Speicherstruktur 1304 befindlichen Segment aus, wobei der Segmentplatz basierend auf einem Speicherstrukturplatzzeiger, der mit der Ereignisnachricht empfangen worden ist, bestimmt worden ist.
  • Bei Block 1708 bestimmt der FXP 1306, ob ein zugeordneter Paketfluss identifiziert worden ist. Hierfür kann zum Beispiel der FXP 1306 dafür ausgelegt sein, ein Nachschlagen in einer Tabelle auszuführen, die anzeigt, welche Paketflüsse einem oder mehreren Kennzeichen des empfangenen Netzpakets entsprechen (z. B. ein Datentyp, eine Quellenkennung, eine Zielkennung usw.). Falls der FXP 1306 bestimmt, dass ein zugeordneter Paketfluss nicht identifiziert worden ist (z. B. das der Ereignisnachricht zugeordnete Netzpaket das erste Netzpaket des Paketflusses ist), zweigt das Verfahren 1700 zu Block 1710 ab. Bei Block 1710 generiert der FXP 1306 eine Host-Kennung-Anforderungsnachricht und überträgt diese an den Bare-Metal-Kontroller 1314 unter Anforderung einer Unterstützung bei der Identifizierung des Paketflusses, so dass eine entsprechende Host-Schnittstelle 1312 anhand dessen identifiziert werden kann (siehe z. B. das Verfahren 1900 aus 19). Zusätzlich enthält bei Block 1712 der FXP 1306 den Speicherstrukturplatzzeiger mit der Host-Kennung-Anforderungsnachricht.
  • Ansonsten, falls der FXP 1306 bestimmt, dass ein zugeordneter Paketfluss identifiziert worden ist, zweigt das Verfahren 1700 zu Block 1714 ab. Bei Block 1714 identifiziert der FXP 1306 eine Host-Schnittstelle entsprechend dem identifizierten zugeordneten Paketfluss. Hierfür kann zum Beispiel der FXP 1306 dafür ausgelegt sein, ein Nachschlagen in einer Tabelle auszuführen, die verwendbar ist, um zu identifizieren, welche Paketflüsse welcher der Host-Schnittstellen 1312 entsprechen. Bei Block 1716 generiert der FXP 1306 eine Benachrichtigung und überträgt diese an die identifizierte Host-Schnittstelle mit der Angabe, dass das Netzpaket empfangen worden ist. Zusätzlich enthält bei Block 1718 der FXP 1306 den Speicherstrukturplatzzeiger mit der Benachrichtigung.
  • Nun mit Bezug auf 18 kann im Gebrauch die Rechenvorrichtung 1200, oder genauer der intelligente NIC 1214 der Rechenvorrichtung 1200, ein Verfahren 1800 zum Erleichtern einer Operation ausführen, die auf einem Netzpaket in Reaktion auf das Empfangen einer Nachricht vom FXP 1306 auszuführen ist. Das Verfahren 1800 beginnt bei Block 1802, wo der intelligente NIC 1214, oder genauer ein Bare-Metal-Kontroller (z. B. der Bare-Metal-Kontroller 1314 aus den 13 und 14) des intelligenten NIC 1214, bestimmt, ob eine Nachricht vom FXP 1306 empfangen worden ist. Wenn dies der Fall ist, fährt das Verfahren 1800 bei Block 1804 fort, wo der Bare-Metal-Kontroller 1314 bestimmt, ob identifiziert werden soll, welche Host-Schnittstelle über den Empfang des Netzpakets, das der Nachricht über den Empfang des Netzpakets zugeordnet ist, informiert werden soll. Hierfür ist der Bare-Metal-Kontroller 1314 dafür ausgelegt, den Typ der empfangenen Nachricht zu bestimmen. Zum Beispiel kann es sich bei der empfangenen Nachricht um eine Nachricht über den Empfang eines Netzpakets (die z. B. durch das Verfahren 1600 aus 16 generiert wurde), eine Host-Kennung-Anforderungsnachricht (die z. B. durch das Verfahren 1700 aus 17 generiert wurde), oder einen anderen Typ von Benachrichtigung handeln (z. B. eine statistische Aktualisierungsbenachrichtigung, eine Planungsanforderungsbenachrichtigung, eine Planungsentscheidungsbenachrichtigung usw.). Demgemäß versteht sich, dass bestimmte Teile des Verfahrens 1800 bei Empfang eines anderen Typs von Benachrichtigung (z. B. Lesen eines Teils des Netzpakets) möglicherweise nicht ausgeführt werden.
  • Falls der Bare-Metal-Kontroller 1314 bestimmt, dass die entsprechende Host-Schnittstelle identifiziert werden soll (z. B. die empfangene Nachricht einer Host-Kennung-Anforderungsnachricht entspricht), zweigt das Verfahren 1800 zu Block 1806 ab, wo der Bare-Metal-Kontroller 1314 sich mit den On-Chip-Kernen (z. B. dem Kern (den Kernen) 1318 aus 13) des intelligenten NIC 1214 koordiniert, um die Host-Schnittstelle zu identifizieren. Zum Beispiel kann der Bare-Metal-Kontroller 1314 einen eingehenden Deskriptor schreiben, der von einem oder mehreren der On-Chip-Kerne verwendbar ist, um anzuzeigen, dass der Bare-Metal-Kontroller 1314 eine Unterstützung bei der Identifizierung des Paketflusses anfordert (siehe z. B. das Verfahren 1900 aus 19). Falls andernfalls der Bare-Metal-Kontroller 1314 bestimmt, dass die Host-Schnittstelle nicht identifiziert werden muss (z. B. die empfangene Nachricht einer Nachricht über den Empfang eines Netzpakets entspricht), zweigt das Verfahren 1800 zu Block 1808 ab.
  • Bei Block 1808 ruft der Bare-Metal-Kontroller 1314 zumindest einen Teil des der empfangenen Nachricht zugeordneten Netzpakets basierend auf einem entsprechenden Speicherstrukturplatzzeiger, der mit der Nachricht empfangen worden ist, ab. Hierfür kann bei Block 1810 bei manchen Ausführungsformen der Bare-Metal-Kontroller 1314 eine Kopfzeile des Netzpakets abrufen. Alternativ kann bei Block 1812 bei anderen Ausführungsformen der Bare-Metal-Kontroller 1314 eine vorbestimmte Größenmenge des Netzpakets abrufen. Bei Block 1814 speichert der Bare-Metal-Kontroller 1314 den abgerufenen Teil des Netzpakets in einem lokal verwalteten Speicherplatz (z. B. dem SRAM 1322, DRAM 1326 usw.). Bei Block 1816 liest der Bare-Metal-Kontroller 1314 den gespeicherten Teil des Netzpakets aus.
  • Bei Block 1818 schreibt der Bare-Metal-Kontroller 1314 einen eingehenden Deskriptor (z. B. in einen Platz in einem lokal verwalteten Speicher), der von den On-Chip-Kernen 1318 verwendbar ist, um eine oder mehrere Operationen bei Empfang des eingehenden Deskriptors auszuführen. Zusätzlich enthält der Bare-Metal-Kontroller 1314 eine Anzeige (z. B. einen Zeiger) des Platzes des lokal gespeicherten Teils des Netzpakets. Bei manchen Ausführungsformen kann bei Block 1822 der Bare-Metal-Kontroller 1314 eine Unterbrechung zu den On-Chip-Kernen 1318 übertragen, um die On-Chip-Kerne 1318 über das Vorhandensein des eingehenden Deskriptors zu informieren.
  • Bei Block 1824 bestimmt der Bare-Metal-Kontroller 1314, ob ein abgehender Deskriptor von den On-Chip-Kernen 1318 empfangen worden ist. Mit anderen Worten sind die On-Chip-Kerne 1318 dafür ausgelegt, eine oder mehrere Operationen an dem Teil des Netzpakets auszuführen und, bei Abschluss, den abgehenden Deskriptor, der den Bare-Metal-Kontroller 1314 über die durch die On-Chip-Kerne 1318 an dem Netzpaket vorgenommenen Änderungen (z. B. Vergrößerung oder Verkleinerung der Kopfzeile, aufgenommene oder entfernte Metadaten usw.) informiert, zu schreiben. Der abgehende Deskriptor kann jegliche Informationen enthalten, die vom Bare-Metal-Kontroller 1314 verwendbar sind, um zu identifizieren, wo der aktualisierte Teil des Netzpakets von dem lokal verwalteten Speicher abzurufen ist, was mit dem Netzpaket geschehen soll (z. B. dass das nächste oder abschließende Bauteil eine Ereignisnachricht empfangen soll, die dem Netzpaket zugeordnet ist, das verwendbar ist, um eine bei deren Erhalt auszuführende Aktion zu identifizieren), wie sich die Struktur des Teils des Netzpakets geändert hat usw.
  • Falls der Bare-Metal-Kontroller 1314 den abgehenden Deskriptor empfangen hat, fährt das Verfahren bei Block 1826 fort, wo der Bare-Metal-Kontroller 1314 den Teil des Netzpakets basierend auf den im abgehenden Deskriptor enthaltenen Informationen umstrukturiert. Zum Beispiel kann der Bare-Metal-Kontroller 1314 dafür ausgelegt sein, eine oder mehrere Hardware-Ebene-Protokoll-Translationen auszuführen, um den Teil des Netzpakets umzustrukturieren, um die an dem Teil des Netzpakets vorgenommenen Änderungen zu berücksichtigen (z. B. wurde der Teil größer gemacht, der Teil wurde kleiner gemacht, der Teil enthält aktualisierte Informationen usw.). Bei Block 1828 schreibt der Bare-Metal-Kontroller 1314 den umstrukturierten Teil des Netzpakets auf verteilte Weise in die Speicherstruktur (z. B. über die Speicherstruktur-Schnittstelle 1332 aus 13). Bei Block 1830 identifiziert der Bare-Metal-Kontroller 1314, basierend auf den Informationen des abgehenden Deskriptors, eine anschließende Aktion, die an dem Netzpaket vorzunehmen ist (z. B. eine zusätzliche Verarbeitung, die Übertragung an eine andere Rechenvorrichtung usw.), und benachrichtigt ein entsprechendes Bauteil (z. B. den FXP 1306, einen der Beschleunigeragenten 1306, eine der Netzwerk-Schnittstellen 1302 usw.) über eine Ereignisnachricht.
  • Nun mit Bezug auf 19 kann die Rechenvorrichtung 1200, oder genauer der intelligente NIC 1214 der Rechenvorrichtung 1200, im Gebrauch ein Verfahren 1900 zum Identifizieren einer einem empfangenen Netzpaket zugeordneten Host-Schnittstelle ausführen. Das Verfahren 1900 beginnt bei Block 1902, wo der intelligente NIC 1214, oder genauer ein oder mehrere On-Chip-Kerne (z. B. die On-Chip-Kerne 1318 der 13 und 14) des intelligenten NIC 1214, bestimmen, ob eine Nachricht von einem Bare-Metal-Kontroller (z. B. dem Bare-Metal-Kontroller 1314 der 13 und 14) des intelligenten NIC 1214 empfangen worden ist. Wenn dies der Fall ist, fährt das Verfahren 1900 bei Block 1904 fort, wo einer der On-Chip-Kerne 1318 basierend auf einem Speicherstrukturplatzzeiger, der mit der Host-Kennung-Anforderungsnachricht empfangen worden ist, das gesamte Netzpaket aus der Speicherstruktur 1304 abruft. Bei Block 1906 speichert der On-Chip-Kern 1318 den Inhalt des Netzpakets in einem lokal gesteuerten Arbeitsspeicher (z. B. dem DDR-SDRAM 1326 aus 13).
  • Bei Block 1908 verarbeitet der On-Chip-Kern 1318 zumindest einen Teil der Netzpaketdaten, um eine entsprechende Host-Schnittstelle zu bestimmen. Zum Beispiel kann der On-Chip-Kern 1318 zumindest einen Teil der Kopfzeile bestimmen, um ein Protokoll, eine Quellenkennung (z. B. eine Quellen-IP-Adresse, einen Quellenanschluss usw.), eine Zielkennung (z. B. eine Ziel-IP-Adresse, einen Zielanschluss usw.) und/oder andere Netzverkehrskennzeichen des Netzpakets zu bestimmen. In einem weiteren Beispiel kann der On-Chip-Kern 1318 zumindest einen Teil der Nutzinformationen des Netzpakets analysieren, um einen Typ oder ein Kennzeichen zu bestimmen, der/das dem Netzpaket zugeordnet ist, wie, ob die Nutzinformationen Audiodaten, Videodaten, Text, einen „Uniform Resource Identifier“ (URI), usw. enthalten. Bei Block 1910 generiert der On-Chip-Kern 1318 eine Angabe der bestimmten entsprechenden Host-Schnittstelle und überträgt diese an den Bare-Metal-Kontroller 1314. Bei manchen Ausführungsformen initiiert der On-Chip-Kern 1318 bei Block 1912 das Schreiben des Netzpakets in die Speicherstruktur 1304 oder den Host-Arbeitsspeicher 1330, der einer Host-CPU 1328 zugeordnet ist, die der identifizierten Host-Schnittstelle 1312 entspricht.
  • Nun mit Bezug auf 20 enthält eine Ausführungsform eines Kommunikationsflusses 2000 zur Verarbeitung eines abgehenden Netzpakets die Rechenmaschine 1202 aus 12 und den NIC der 12-14. Der beispielhafte Kommunikationsfluss 2000 enthält eine Reihe von Datenflüssen, von denen manche je nach Ausführungsform separat oder zusammen ausgeführt werden können. Im Datenfluss 2002 generiert der Prozessor 1204 der Rechenmaschine 1202 Daten für ein Netzpaket zur Übertragung an eine andere Netzvorrichtung (nicht gezeigt). Im Datenfluss 2004 sendet der Prozessor 1204 die Daten an den NIC 1214, oder genauer an eine der Host-Schnittstellen 1312. Im Datenfluss 2006 paketisiert die Host-Schnittstelle 1312 die empfangenen Daten und leitet im Datenfluss 2008 das Netzpaket an die Speicherstruktur-Schnittstelle 1332 weiter.
  • Im Datenfluss 2010 schreibt die Speicherstruktur-Schnittstelle 1332 das Netzpaket auf verteilte Weise (z. B. über mehrere Segmente der Speicherstruktur 1304) in die Speicherstruktur (z. B. die Speicherstruktur 1304 aus 13). Im Datenfluss 2012 generiert die Speicherstruktur-Schnittstelle 1332 eine Ereignisnachricht (z. B. eine neue Netzpaket-Ereignisnachricht), die anzeigt, dass das neue Netzpaket in die Speicherstruktur 1304 geschrieben worden ist. Im Datenfluss 2014 leitet die Hoststruktur-Schnittstelle 1318 die Ereignisnachricht an den FXP 1306 weiter. Es versteht sich, dass bei manchen Ausführungsformen die Speicherstruktur-Schnittstelle 1332 eine gewisse Verarbeitungskapazität aufweisen kann, so dass eine gewisse Analyse von der Speicherstruktur-Schnittstelle 1332 ausgeführt werden kann, ohne den FXP 1306 einbeziehen zu müssen (z. B. kann die Ereignisnachricht direkt an den Bare-Metal-Kontroller 1314 gesendet werden). Zum Beispiel kann bei solchen Ausführungsformen die Speicherstruktur-Schnittstelle 1332 dafür ausgelegt sein, einen dem Netzpaket zugeordneten Fluss vor dem Senden der Ereignisnachricht an den FXP 1306 zu identifizieren, der vom FXP 1306 verwendet werden kann, um eine oder mehrere Operationen daran auszuführen (z. B. einen reservierten Bereich in einer Kopfzeile des Netzpakets zu schaffen), bevor eine anschließende Ereignisnachricht an den Bare-Metal-Kontroller übertragen wird, wie im Datenfluss 2020 beschrieben ist.
  • Bei Empfang der Ereignisnachricht im Datenfluss 2016 ruft der FXP 1306 zumindest einen Teil des Netzpakets aus der Speicherstruktur 1304 ab und liest diesen aus. Es versteht sich, dass hierfür die Ereignisnachricht einen Zeiger aufweisen kann, der verwendbar ist, um den Platz in der Speicherstruktur 1304, an der das neue Netzpaket gespeichert worden ist, zu identifizieren. Im Datenfluss 2018 identifiziert der FXP 1306, ob eine zusätzliche Verarbeitung durch die On-Chip-Kerne 1318 vor der Übertragung des Netzpakets vom NIC 1214 (z. B. über eine der Netzwerk-Schnittstellen 1302) erforderlich ist. Wenn dies der Fall ist, generiert der FXP 1306 im Datenfluss 2020 eine Ereignisnachricht (z. B. eine Ereignisnachricht über die Übertragung eines Netzpakets) und überträgt sie an den Bare-Metal-Kontroller 1314. Bei Empfang ist der Bare-Metal-Kontroller 1314 dafür ausgelegt, die im Verfahren 1800 aus 18 beschriebenen Operationen auszuführen. Im Datenfluss 2022 liest die Speicherstruktur-Schnittstelle 1332, nachdem sie eine Angabe vom Bare-Metal-Kontroller 1314 erhalten hat, dass das Netzpaket zur Übertragung bereit ist, das gesamte Netzpaket aus der Speicherstruktur 1304 aus und ordnet es zur Übertragung an eine andere Netzvorrichtung neu zu.
  • BEISPIELE
  • Anschauungsbeispiele für die hier offenbarten Technologien werden nachstehend angegeben. Eine Ausführungsform der Technologien kann eines oder mehrere und jegliche Kombination der nachstehend beschriebenen Beispiele aufweisen.
  • Beispiel 1 weist eine Rechenvorrichtung zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) der Rechenvorrichtung auf, wobei die Rechenvorrichtung einen Paketprozessor und eine Kontrollervorrichtung umfasst, die jeweils kommunizierend an eine Speicherstruktur des NIC gekoppelt sind, wobei der NIC durch die Kontrollervorrichtung und in Reaktion auf das Empfangen einer Nachricht vom Paketprozessor, dass ein Netzpaket in die Speicherstruktur geschrieben worden ist, basierend auf einem mit der Nachricht empfangenen Speicherstrukturplatzzeiger zumindest einen Teil eines Netzpakets von der Speicherstruktur abrufen soll; durch die Kontrollervorrichtung den abgerufenen Teil des Netzpakets auslesen soll; durch die Kontrollervorrichtung einen eingehenden Deskriptor an einen Platz in einem vom NIC verwalteten Arbeitsspeicher schreiben soll; durch einen oder mehrere On-Chip-Kerne des NIC eine oder mehrere Operationen an dem abgerufenen Teil des Netzpakets in Abhängigkeit von im eingehenden Deskriptor enthaltenen Informationen ausführen soll; durch den einen oder die mehreren On-Chip-Kerne einen abgehenden Deskriptor an einen Platz im vom NIC verwalteten Arbeitsspeicher schreiben soll; durch die Kontrollervorrichtung zumindest einen Teil des abgerufenen Teils des Netzpakets in Abhängigkeit von im abgehenden Deskriptor enthaltenen Informationen umstrukturieren soll; und durch die Kontrollervorrichtung den umstrukturierten Teil des Netzpakets in die Speicherstruktur schreiben soll.
  • Beispiel 2 weist den Gegenstand aus Beispiel 1 auf und umfasst ferner das Speichern, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets in einen vom NIC verwalteten lokalen temporären Datenspeicher.
  • Beispiel 3 weist den Gegenstand aus einem der Beispiele 1 und 2 auf, wobei das Abrufen des Teils des Netzpakets aus der Speicherstruktur das Abrufen zumindest einer Kopfzeile des Netzpakets umfasst.
  • Beispiel 4 weist den Gegenstand aus einem der Beispiele 1-3 auf, wobei das Abrufen des Teils des Netzpakets aus der Speicherstruktur das Abrufen einer vorbestimmten Größenmenge des Netzpakets umfasst.
  • Beispiel 5 weist den Gegenstand aus einem der Beispiele 1-4 auf, wobei der Speicherstrukturplatzzeiger einem Platz in der Speicherstruktur entspricht, in der eine Kopfzeile des Netzpakets gespeichert worden ist.
  • Beispiel 6 weist den Gegenstand aus einem der Beispiele 1-5 auf, und es weist ferner das Verschieben, durch die Kontrollervorrichtung und vor dem Schreiben des eingehenden Deskriptors, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge auf, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  • Beispiel 7 weist den Gegenstand aus einem der Beispiele 1-6 auf, und es weist ferner das Übertragen, durch die Kontrollervorrichtung und nach dem Schreiben des eingehenden Deskriptors, einer Unterbrechungsanforderung an den einen oder die mehreren On-Chip-Kerne.
  • Beispiel 8 weist den Gegenstand aus einem der Beispiele 1-7 auf, und es weist ferner das Verschieben, durch den Paketprozessor und vor dem Übertragen der Nachricht an die Kontrollervorrichtung, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge auf, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  • Beispiel 9 weist den Gegenstand aus einem der Beispiele 1-8 auf, wobei das Umstrukturieren des mindestens einen Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von den in dem abgehenden Deskriptor enthaltenen Informationen eines von dem Hinzufügen von einem oder mehreren Bytes zu einer Struktur des Teils des Netzpakets, dem Entfernen von einem oder mehreren Bytes aus der Struktur des Teils des Netzpakets, oder dem Ändern einer Startposition eines Zeigers an einen Platz in der Speicherstruktur des Netzpakets umfasst.
  • Beispiel 10 weist den Gegenstand aus einem der Beispiele 1-9 auf, und es weist ferner das Identifizieren, durch die Kontrollervorrichtung, eines Bauteils des NIC, um eine anschließende Aktion an dem Netzpaket in Abhängigkeit von dem abgehenden Deskriptor auszuführen, und das Übertragen einer weiteren Ereignisnachricht an das identifizierte Bauteil auf, wobei die weitere Ereignisnachricht verwendbar ist, um die anschließende auszuführende Aktion und einen Platz in der Speicherstruktur des Netzpakets zu identifizieren.
  • Beispiel 11 weist den Gegenstand aus einem der Beispiele 1-10 auf, wobei das Identifizieren des Bauteils des NIC das Identifizieren eines Beschleunigeragenten des NIC umfasst, um eine Beschleunigungsoperation am Netzpaket oder einer Netzwerk-Schnittstelle des NIC auszuführen, um das Netzpaket an eine andere Rechenvorrichtung zu übertragen.
  • Beispiel 12 weist den Gegenstand aus einem der Beispiele 1-11 auf, und es weist ferner das Empfangen, durch eine Netzwerk-Schnittstelle des NIC, des Netzpakets von einer anderen Rechenvorrichtung; das Weiterleiten, durch die Netzwerk-Schnittstelle, des empfangenen Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; das Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; das Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist; und das Übertragen, durch den Paketprozessor und bei Empfang der Ereignisnachricht, der Nachricht an die Kontrollervorrichtung auf, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist.
  • Beispiel 13 weist den Gegenstand aus einem der Beispiele 1-12 auf, und es weist ferner das Bestimmen, durch den Paketprozessor, ob ein Paketfluss bekannt ist, der dem empfangenen Netzpaket entspricht; und das Übertragen, durch den Paketprozessor und in Reaktion auf eine Bestimmung, dass der Paketfluss nicht bekannt ist, einer Host-Kennung-Anforderungsnachricht an die Kontrollervorrichtung auf, wobei die Host-Kennung-Anforderungsnachricht verwendbar ist, um anzuzeigen, dass der Paketfluss, der dem Netzpaket entspricht, nicht bekannt ist.
  • Beispiel 14 weist den Gegenstand aus einem der Beispiele 1-13 auf, wobei das Bestimmen, ob der Paketfluss bekannt ist, das Lesen, durch den On-Chip-Kern des NIC, eines Teils des Netzpakets aus dem Platz im vom NIC verwalteten Arbeitsspeicher, an dem der Teil des Netzpakets gespeichert worden ist, und das Ausführen einer Nachschlagoperation zumindest teilweise basierend auf dem gelesenen Teil des Netzpakets, um den Paketfluss zu bestimmen, aufweist.
  • Beispiel 15 weist den Gegenstand aus einem der Beispiele 1-14 auf, und es weist ferner das Empfangen, durch eine Host-Schnittstelle des NIC, eines Netzpakets von der Rechenmaschine; das Weiterleiten, durch die Host-Schnittstelle, des Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; das Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; das Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Ereignisnachricht anzeigt, dass das Netzpaket von der Rechenmaschine empfangen worden ist; das Identifizieren, durch den Paketprozessor, ob das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll; und das Übertragen, durch den Paketprozessor und nach der Identifizierung, dass das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll, einer weiteren Ereignisnachricht an die Kontrollervorrichtung auf, wobei die weitere Ereignisnachricht anzeigt, dass das Netzpaket empfangen worden ist und den Speicherstrukturplatzzeiger enthält.
  • Beispiel 16 weist ein Verfahren zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) einer Rechenvorrichtung auf, wobei die Rechenvorrichtung das Abrufen, durch eine Kontrollervorrichtung eines Netzwerk-Schnittstellenkontrollers (NIC) der Rechenvorrichtung und in Reaktion auf das Empfangen einer Nachricht von einem Paketprozessor des NIC, dass ein Netzpaket in eine Speicherstruktur des NIC geschrieben worden ist, zumindest eines Teils eines Netzpakets von der Speicherstruktur basierend auf einem mit der Nachricht empfangenen Speicherstrukturplatzzeiger; das Lesen, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets; das Schreiben, durch die Kontrollervorrichtung, eines eingehenden Deskriptors an einen Platz in einem vom NIC verwalteten Arbeitsspeicher; das Ausführen, durch einen oder mehrere On-Chip-Kerne des NIC, einer oder mehrerer Operationen an dem abgerufenen Teil des Netzpakets in Abhängigkeit von im eingehenden Deskriptor enthaltenen Informationen; das Schreiben, durch den einen oder die mehreren On-Chip-Kerne, eines abgehenden Deskriptors an einen Platz in einem vom NIC verwalteten Arbeitsspeicher; das Umstrukturieren, durch die Kontrollervorrichtung, zumindest eines Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von im abgehenden Deskriptor enthaltenen Informationen; und das Schreiben, durch die Kontrollervorrichtung, des umstrukturierten Teils des Netzpakets in die Speicherstruktur aufweist.
  • Beispiel 17 weist den Gegenstand aus Beispiel 16 auf, und es weist ferner das Speichern, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets in einen vom NIC verwalteten lokalen temporären Datenspeicher auf.
  • Beispiel 18 weist den Gegenstand aus einem der Beispiele 16 und 17 auf, wobei das Abrufen des Teils des Netzpakets aus der Speicherstruktur das Abrufen zumindest einer Kopfzeile des Netzpakets umfasst.
  • Beispiel 19 weist den Gegenstand aus einem der Beispiele 16-18 auf, wobei das Abrufen des Teils des Netzpakets aus der Speicherstruktur das Abrufen einer vorbestimmten Größenmenge des Netzpakets umfasst.
  • Beispiel 20 weist den Gegenstand aus einem der Beispiele 16-19 auf, wobei der Speicherstrukturplatzzeiger einem Platz in der Speicherstruktur entspricht, an dem eine Kopfzeile des Netzpakets gespeichert worden ist.
  • Beispiel 21 weist den Gegenstand aus einem der Beispiele 16-20 auf, und es weist ferner das Verschieben, durch die Kontrollervorrichtung und vor dem Schreiben des eingehenden Deskriptors, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge auf, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  • Beispiel 22 weist den Gegenstand aus einem der Beispiele 16-21 auf, und es weist ferner das Übertragen, durch die Kontrollervorrichtung und nach dem Schreiben des eingehenden Deskriptors, einer Unterbrechungsanforderung an den einen oder die mehreren On-Chip-Kerne auf.
  • Beispiel 23 weist den Gegenstand aus einem der Beispiele 16-22 auf, und es weist ferner das Verschieben, durch den Paketprozessor und vor dem Übertragen der Nachricht an die Kontrollervorrichtung, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge auf, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  • Beispiel 24 weist den Gegenstand aus einem der Beispiele 16-23 auf, wobei das Umstrukturieren des mindestens einen Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von den in dem abgehenden Deskriptor enthaltenen Informationen eines von dem Hinzufügen von einem oder mehreren Bytes zu einer Struktur des Teils des Netzpakets, dem Entfernen von einem oder mehreren Bytes aus der Struktur des Teils des Netzpakets, oder dem Ändern einer Startposition eines Zeigers an einem Platz in der Speicherstruktur des Netzpakets umfasst.
  • Beispiel 25 weist den Gegenstand aus einem der Beispiele 16-24 auf, und es weist ferner das Identifizieren, durch die Kontrollervorrichtung, eines Bauteils des NIC, um eine anschließende Aktion an dem Netzpaket in Abhängigkeit von dem abgehenden Deskriptor auszuführen, und das Übertragen einer weiteren Ereignisnachricht an das identifizierte Bauteil auf, wobei die weitere Ereignisnachricht verwendbar ist, um die anschließende auszuführende Aktion und einen Platz in der Speicherstruktur des Netzpakets zu identifizieren.
  • Beispiel 26 weist den Gegenstand aus einem der Beispiele 16-25 auf, wobei das Identifizieren des Bauteils des NIC das Identifizieren eines Beschleunigeragenten des NIC umfasst, um eine Beschleunigungsoperation am Netzpaket oder einer Netzwerk-Schnittstelle des NIC auszuführen, um das Netzpaket an eine andere Rechenvorrichtung zu übertragen.
  • Beispiel 27 weist den Gegenstand aus einem der Beispiele 16-26 auf, und es weist ferner das Empfangen, durch eine Netzwerk-Schnittstelle des NIC, des Netzpakets von einer anderen Rechenvorrichtung; das Weiterleiten, durch die Netzwerk-Schnittstelle, des empfangenen Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; das Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; das Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist; und das Übertragen, durch den Paketprozessor und bei Empfang der Ereignisnachricht, der Nachricht an die Kontrollervorrichtung auf, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist.
  • Beispiel 28 weist den Gegenstand aus einem der Beispiele 16-27 auf, und es weist ferner das Bestimmen, durch den Paketprozessor, ob ein Paketfluss bekannt ist, der dem empfangenen Netzpaket entspricht; und das Übertragen, durch den Paketprozessor und in Reaktion auf eine Bestimmung, dass der Paketfluss nicht bekannt ist, einer Host-Kennung-Anforderungsnachricht an die Kontrollervorrichtung auf, wobei die Host-Kennung-Anforderungsnachricht verwendbar ist, um anzuzeigen, dass der Paketfluss, der dem Netzpaket entspricht, nicht bekannt ist.
  • Beispiel 29 weist den Gegenstand aus einem der Beispiele 16-28 auf, wobei das Bestimmen, ob der Paketfluss bekannt ist, (i) das Lesen, durch den On-Chip-Kern des NIC, eines Teils des Netzpakets aus dem Platz im vom NIC verwalteten Arbeitsspeicher, an dem der Teil des Netzpakets gespeichert worden ist, und (ii) das Ausführen einer Nachschlagoperation zumindest teilweise basierend auf dem gelesenen Teil des Netzpakets, um den Paketfluss zu bestimmen, umfasst.
  • Beispiel 30 weist den Gegenstand aus einem der Beispiele 16-29 auf, und es weist ferner das Empfangen, durch eine Host-Schnittstelle des NIC, eines Netzpakets von der Rechenmaschine; das Weiterleiten, durch die Host-Schnittstelle, des Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; das Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; das Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Ereignisnachricht anzeigt, dass das Netzpaket von der Rechenmaschine empfangen worden ist; das Identifizieren, durch den Paketprozessor, ob das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll; und das Übertragen, durch den Paketprozessor und nach der Identifizierung, dass das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll, einer weiteren Ereignisnachricht an die Kontrollervorrichtung auf, wobei die weitere Ereignisnachricht anzeigt, dass das Netzpaket empfangen worden ist und den Speicherstrukturplatzzeiger enthält.
  • Beispiel 31 weist ein oder mehrere maschinenlesbare Speichermedien eines Netzwerk-Schnittstellenkontrollers (NIC) einer Rechenvorrichtung auf, die mehrere darin gespeicherte Anweisungen umfasst, die, wenn sie ausgeführt werden, den NIC der Rechenvorrichtung veranlassen, das Verfahren aus einem der Beispiele 16-30 auszuführen.
  • Beispiel 32 weist eine Rechenvorrichtung zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) der Rechenvorrichtung, wobei die Rechenvorrichtung einen oder mehrere Prozessor(en) umfasst; und einen Netzwerk-Schnittstellenkontroller (NIC) auf, in dem mehrere Anweisungen gespeichert sind, die, wenn sie vom NIC ausgeführt werden, die Rechenvorrichtung veranlassen, das Verfahren aus einem der Beispiele 16-30 auszuführen.
  • Beispiel 33 weist eine Rechenvorrichtung zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) der Rechenvorrichtung auf, wobei die Rechenvorrichtung Mittel zum Abrufen, durch eine Kontrollervorrichtung eines Netzwerk-Schnittstellenkontrollers (NIC) der Rechenvorrichtung und in Reaktion auf das Empfangen einer Nachricht von einem Paketprozessor des NIC, dass ein Netzpaket in eine Speicherstruktur des NIC geschrieben worden ist, zumindest eines Teils eines Netzpakets von der Speicherstruktur basierend auf einem mit der Nachricht empfangenen Speicherstrukturplatzzeiger; Mittel zum Lesen, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets; Mittel zum Schreiben, durch die Kontrollervorrichtung, eines eingehenden Deskriptors an einen Platz in einem vom NIC verwalteten Arbeitsspeicher; Mittel zum Ausführen, durch einen oder mehrere On-Chip-Kerne des NIC, einer oder mehrerer Operationen an dem abgerufenen Teil des Netzpakets in Abhängigkeit von im eingehenden Deskriptor enthaltenen Informationen; Mittel zum Schreiben, durch den einen oder die mehreren On-Chip-Kerne, eines abgehenden Deskriptors an einen Platz in einem vom NIC verwalteten Arbeitsspeicher; Mittel zum Umstrukturieren, durch die Kontrollervorrichtung, zumindest eines Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von im abgehenden Deskriptor enthaltenen Informationen; und Mittel zum Schreiben, durch die Kontrollervorrichtung, des umstrukturierten Teils des Netzpakets in die Speicherstruktur umfasst.
  • Beispiel 34 weist den Gegenstand aus Beispiel 33 auf, und es weist ferner Mittel zum Speichern, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets in einen vom NIC verwalteten lokalen temporären Datenspeicher auf.
  • Beispiel 35 weist den Gegenstand aus einem der Beispiele 33 und 34 auf, wobei die Mittel zum Abrufen des Teils des Netzpakets aus der Speicherstruktur Mittel zum Abrufen zumindest einer Kopfzeile des Netzpakets umfassen.
  • Beispiel 36 weist den Gegenstand aus einem der Beispiele 33-35 auf, wobei die Mittel zum Abrufen des Teils des Netzpakets aus der Speicherstruktur Mittel zum Abrufen einer vorbestimmten Größenmenge des Netzpakets umfassen.
  • Beispiel 37 weist den Gegenstand aus einem der Beispiele 33-36 auf, wobei der Speicherstrukturplatzzeiger einem Platz in der Speicherstruktur entspricht, an dem eine Kopfzeile des Netzpakets gespeichert worden ist.
  • Beispiel 38 weist den Gegenstand aus einem der Beispiele 33-37 auf, und es weist ferner Mittel zum Verschieben, durch die Kontrollervorrichtung und vor dem Schreiben des eingehenden Deskriptors, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge, um einen reservierten Bereich in der Kopfzeile zu schaffen, auf.
  • Beispiel 39 weist den Gegenstand aus einem der Beispiele 33-38 auf, und es weist ferner Mittel zum Übertragen, durch die Kontrollervorrichtung und nach dem Schreiben des eingehenden Deskriptors, einer Unterbrechungsanforderung an den einen oder die mehreren On-Chip-Kerne auf.
  • Beispiel 40 weist den Gegenstand aus einem der Beispiele 33-39 auf, und es weist ferner Mittel zum Verschieben, durch den Paketprozessor und vor dem Übertragen der Nachricht an die Kontrollervorrichtung, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge, um einen reservierten Bereich in der Kopfzeile zu schaffen, auf.
  • Beispiel 41 weist den Gegenstand aus einem der Beispiele 33-40 auf, wobei die Mittel zum Umstrukturieren des mindestens einen Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von den in dem abgehenden Deskriptor enthaltenen Informationen eines von (i) Mitteln zum Hinzufügen von einem oder mehreren Bytes zu einer Struktur des Teils des Netzpakets, (ii) Mitteln zum Entfernen von einem oder mehreren Bytes aus der Struktur des Teils des Netzpakets, oder (iii) Mitteln zum Ändern einer Startposition eines Zeigers an einen Platz in der Speicherstruktur des Netzpakets umfassen.
  • Beispiel 42 weist den Gegenstand aus einem der Beispiele 33-41 auf, und es weist ferner Mittel (i) zum Identifizieren, durch die Kontrollervorrichtung, eines Bauteils des NIC, um eine anschließende Aktion an dem Netzpaket in Abhängigkeit von dem abgehenden Deskriptor auszuführen, und Mittel (ii) zum Übertragen einer weiteren Ereignisnachricht an das identifizierte Bauteil auf, wobei die weitere Ereignisnachricht verwendbar ist, um die anschließende auszuführende Aktion und einen Platz in der Speicherstruktur des Netzpakets zu identifizieren.
  • Beispiel 43 weist den Gegenstand aus einem der Beispiele 33-42 auf, wobei die Mittel zum Identifizieren des Bauteils des NIC Mittel zum Identifizieren eines Beschleunigeragenten des NIC umfassen, um eine Beschleunigungsoperation am Netzpaket oder einer Netzwerk-Schnittstelle des NIC auszuführen, um das Netzpaket an eine andere Rechenvorrichtung zu übertragen.
  • Beispiel 44 weist den Gegenstand aus einem der Beispiele 33-43 auf, und es weist ferner Mittel zum Empfangen, durch eine Netzwerk-Schnittstelle des NIC, des Netzpakets von einer anderen Rechenvorrichtung; Mittel zum Weiterleiten, durch die Netzwerk-Schnittstelle, des empfangenen Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; Mittel zum Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; Mittel zum Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist; und Mittel zum Übertragen, durch den Paketprozessor und bei Empfang der Ereignisnachricht, der Nachricht an die Kontrollervorrichtung auf, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist.
  • Beispiel 45 weist den Gegenstand aus einem der Beispiele 33-44 auf, und es weist ferner Mittel zum Bestimmen, durch den Paketprozessor, ob ein Paketfluss bekannt ist, der dem empfangenen Netzpaket entspricht; und Mittel zum Übertragen, durch den Paketprozessor und in Reaktion auf eine Bestimmung, dass der Paketfluss nicht bekannt ist, einer Host-Kennung-Anforderungsnachricht an die Kontrollervorrichtung auf, wobei die Host-Kennung-Anforderungsnachricht verwendbar ist, um anzuzeigen, dass der Paketfluss, der dem Netzpaket entspricht, nicht bekannt ist.
  • Beispiel 46 weist den Gegenstand aus einem der Beispiele 33-45 auf, wobei die Mittel zum Bestimmen, ob der Paketfluss bekannt ist, Mittel (i) zum Lesen, durch den On-Chip-Kern des NIC, eines Teils des Netzpakets aus dem Platz im vom NIC verwalteten Arbeitsspeicher, an dem der Teil des Netzpakets gespeichert worden ist, und Mittel (ii) zum Ausführen einer Nachschlagoperation zumindest teilweise basierend auf dem gelesenen Teil des Netzpakets, um den Paketfluss zu bestimmen, aufweisen.
  • Beispiel 47 weist den Gegenstand aus einem der Beispiele 33-46 auf, und es weist ferner Mittel zum Empfangen, durch eine Host-Schnittstelle des NIC, eines Netzpakets von der Rechenmaschine; Mittel zum Weiterleiten, durch die Host-Schnittstelle, des Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; Mittel zum Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; Mittel zum Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Ereignisnachricht anzeigt, dass das Netzpaket von der Rechenmaschine empfangen worden ist; Mittel zum Identifizieren, durch den Paketprozessor, ob das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll; und Mittel zum Übertragen, durch den Paketprozessor und nach der Identifizierung, dass das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll, einer weiteren Ereignisnachricht an die Kontrollervorrichtung auf, wobei die weitere Ereignisnachricht anzeigt, dass das Netzpaket empfangen worden ist und den Speicherstrukturplatzzeiger enthält.
  • Zeichenerklärung
    • 1
      • 100 - Datenzentrum
      • 102A-D - Rack
      • 105A-D, 106 - Physische Ressourcen
    • 2
      • 202 - Rack
      • 204-1 bis 204-4 - SLED
      • 205-1 - Physische Speicherressourcen
      • 205-2 - Physische Beschleunigerressourcen
      • 205-3 - Physische Arbeitsspeicherressourcen
      • 205-4 - Physische Rechenressourcen
      • 206 - Physische Ressourcen
    • 3
      • 300 - Datenzentrum
      • Access Pathway - Zugriffsweg
      • Rack - Rack
    • 4
      • 400 - Datenzentrum
      • Rack - Rack
      • Sled - SLED
      • 412 - Optische Struktur
    • 5
      • Sled - SLED
      • Optical Fabric - optische Struktur
      • HPC Links - HPC-Verbindungen
      • 514 - optische Dualmodus-Schaltinfrastruktur
      • 515 - optischer Dualmodus-Schalter
      • 520 - optischer Dualmodus-Spine-Schalter
      • 530 - optischer Dualmodus-Leaf-Schalter
    • 6
      • 601 - Rack-Zugriffsbereich
      • Sled Space - SLED-Platz
      • MPCM - MPCM
    • 7
      • 704 - SLED
      • 717 - Erweiterungsverbindungsstück
      • 718 - Erweiterungs-SLED
      • 705B - Ergänzende physische Rechenressourcen
      • 705 - physische Ressourcen
    • 8
      • 803 - SLED-Platz
      • Exp'n Region - Erweiterungsbereich
      • Primary Region - Primärer Bereich
      • MPCM - MPCM
    • 9
      • 914 - optische Dualmodus-Schaltinfrastruktur
      • MPCM - MPCM
      • PM-PM
      • 921 - Externe Stromquelle
    • 10
      • 1004 - SLED
      • 1016 - MPCM
      • 1016A - optisches Verbindungsstück
      • 1016B - Stromverbindungsstück
      • 1025 - optische Zeichengabe
      • 1024 - Strom
      • 1027 - optische(s) Sendeempfängermodul(e)
      • 1026 - optische Dualmodus-Netwerk-Schnittstellenschaltung
      • 1028 - Elektrische Zeichengabe
      • 1005 - Physische Ressourcen
    • 11
      • 1100 - Datenzentrum
      • 1100A - Physische Infrastruktur
      • 1112 - Optische Struktur
      • 1114 - optische Dualmodus-Schaltinfrastruktur
      • 1130 - Zusammengelegte Beschleunigungs-SLEDs
      • 1132 - Zusammengelegte Speicher-SLEDs
      • 1134 - Hochleistungs-Verarbeitungs-SLEDs
      • 1117 - Erweiterungsverbindungsstücke
      • 1150A - Physischer Infrastrukturmanagementrahmen
      • 1100B - Softwaredefinierte Infrastruktur
      • 1136 - Virtuelle Rechenressourcen Gruppierung
      • 1138 - SDI-Dienste
      • 1150B - Virtueller Infrastrukturmanagementrahmen
      • 1140 - Cloud-Dienste
      • 1142 - SaaS-Dienste
      • 1144 - PaaS-Dienste
      • 1146 - IaaS-Dienste
      • 1150C - Anwendungs-/Dienstmanagementrahmen
    • 12
      • 1200 - Rechenvorrichtung
      • 1202 - Rechenmaschine
      • 1204 - Prozessor(en)
      • 1206 - Arbeitsspeicher
      • 1208 - E/A-Subsystem
      • 1210 - Datenspeichervorrichtung(en)
      • 1212 - Kommunikationsschaltung
      • 1214 - Intelligenter NIC
      • 1216 - Peripheriegerät(e)
    • 13 und 14
      • 1330 - DDR
      • Host-CPU (1)
      • Host-CPU (N)
      • DDR
      • 1316 - Infrastruktur
      • 1318 - Kern(e)
      • 1320 - Speicherlenkung
      • 1322 - SRAM
      • 1324 - Speicherkontroller
      • 1326 - DDR
      • 1314 - Bare-Metal-Kontroller
      • 1312 - Host-Schnittstellen
      • 1332 - Speicherstruktur-Schnittstelle
      • 1304 - Speicherstruktur
      • 1332 - Speicherstruktur-Schnittstelle
      • 1302 - Netzwerk-Schnittstelle(n)
      • 1214 - Intelligenter NIC
      • 1310 - Verkehrsmanager
      • 1308 - Beschleunigeragent(en)
      • 1306 - Flexibler Paketprozessor
    • 15
      • No - Nein
      • Yes - Ja
      • 1502 - Netzpaket empfangen?
      • 1504 - Schreibe das empfangene Netzpaket auf verteilte Weise in eine Speicherstruktur
      • 1506 - Schreibe den Inhalt des empfangenen Netzpakets in mehrere Segmente der Speicherstruktur
      • 1508 - Generiere eine Ereignisnachricht und sende sie an einen flexiblen Paketprozessor (FXP) mit der Angabe, dass das empfangene Netzpaket in einen Speicherplatz geschrieben wurde
      • 1510 - Nehme einen Speicherstrukturplatzzeiger mit der Angabe eines Speicherplatzes des empfangenen Netzpakets in der Speicherstruktur auf
    • 16
      • No - Nein
      • Yes - Ja
      • 1602 - Ereignisnachricht empfangen?
      • 1604 - Generiere eine Nachricht über den Empfang eines Netzpakets und übertrage sie an den Bare-Metal-Kontroller unter Anforderung einer Operation, die basierend auf dem der Ereignisnachricht zugeordneten Netzpaket ausgeführt werden soll
      • 1606 - Nehme einen mit der Ereignisnachricht empfangenen Speicherstrukturplatzzeiger auf
    • 17
      • No - Nein
      • Yes - Ja
      • 1702 - Ereignisnachricht empfangen?
      • 1704 - Lese zumindest einen Teil eines der Ereignisnachricht zugeordneten Netzpakets, um einen dem Netzpaket zugeordneten Fluss zu identifizieren
      • 1706 - Lese aus einem Platz in der Speicherstruktur basierend auf einem mit der Ereignisnachricht empfangenen Speicherstrukturplatzzeiger
      • 1708 - Zugeordneter Fluss identifiziert?
      • 1710 - Generiere eine Host-Kennung-Anforderungsnachricht und übertrage sie an den BMC unter Anforderung einer Unterstützung bei der Identifizierung des zugeordneten Flusses
      • 1712 - Nehme den Speicherstrukturplatzzeiger auf
      • 1714 - Identifiziere eine Host-Schnittstelle, die dem zugeordneten identifizierten Fluss entspricht
      • 1716 - Generiere eine Benachrichtigung und übertrage sie an die identifizierte Host-Schnittstelle mit der Angabe, dass das Netzpaket empfangen worden ist
      • 1718 - Nehme den Speicherstrukturplatzzeiger auf
    • 18
      • No - Nein
      • Yes - Ja
      • 1802 - Nachricht empfangen?
      • 1804 - Host-Schnittstelle identifizieren?
      • 1806 - Koordiniere mit den On-Chip-Kernen zur Identifizierung der Host-Schnittstelle
      • 1808 - Rufe zumindest einen Teil eines der empfangenen Nachricht zugeordneten Netzpakets basierend auf einem Speicherstrukturplatzzeiger ab
      • 1810 - Rufe eine Kopfzeile des Netzpakets ab
      • 1812 - Rufe eine vorbestimmte Größenmenge des Netzpakets ab
      • 1814 - Speichere den abgerufenen Teil des Netzpakets in einen lokal verwalteten Speicherplatz
      • 1816 - Lese den gespeicherten Teil des Netzpakets
      • 1818 - Schreibe einen eingehenden Deskriptor, der von dem (den) On-Chip-Kern(en) verwendbar ist, um bei Empfang (eine) Operation(en) auszuführen
      • 1820 - Nehme eine Angabe des Platzes des lokal gespeicherten Teils des Netzpakets auf
      • 1822 - Übertrage eine Unterbrechung an den (die) On-Chip-Kern(e)
      • 1824 - Abgehender Deskriptor empfangen?
      • 1826 - Strukturiere den Teil des Netzpakets basierend auf dem abgehenden Deskriptor um
      • 1828 - Schreibe den umstrukturierten Teil des Netzpakets in die Speicherstruktur
      • 1830 - Identifiziere und informiere ein Bauteil, eine anschließende Aktion an dem Netzpaket basierend auf dem abgehenden Deskriptor auszuführen
    • 19
      • No - Nein
      • Yes - Ja
      • 1902 - Host-ID-Anforderungsnachricht empfangen?
      • 1904 - Rufe das gesamte Netzpaket aus der Speicherstruktur basierend auf einem mit der angeforderten Nachricht empfangenen Speicherstrukturplatzzeiger ab
      • 1906 - Speichere das abgerufene Netzpaket in einen lokal verwalteten Speicherplatz
      • 1908 - Verarbeite zumindest einen Teil der Netzpaketdaten zur Bestimmung einer entsprechenden Host-Schnittstelle
      • 1910 - Generiere eine Angabe der bestimmten entsprechenden Host-Schnittstelle und übertrage sie an den Bare-Metal-Kontroller
      • 1912 - Schreibe das Netzpaket zurück in die Speicherstruktur oder den Host-Arbeitsspeicher
    • 20
      • 1202 - Rechenmaschine
      • 1204 - Prozessor
      • 1312 - Host-Schnittstelle
      • 1332 - Speicherstruktur-Schnittstelle
      • 1306 - Flexibler Paketprozessor
      • 1214-NIC
      • 2002 - Generiere Daten für ein neues Netzpaket
      • 2004 - Sende die Daten an den NIC
      • 2006 - Paketisiere die empfangenen Daten in ein neues Netzpaket
      • 2008 - Leite das Netzpaket an die Speicherstruktur-Schnittstelle weiter
      • 2010 - Schreibe das Netzpaket auf verteilte Weise in die Speicherstruktur
      • 2012 - Generiere eine Ereignisnachricht mit der Angabe, dass das neue Netzpaket geschrieben worden ist
      • 2014 - Leite die Ereignisnachricht an den FXP weiter
      • 2022 - Lese das gesamte Netzpaket aus der Speicherstruktur aus und weise es neu zu
      • 2016 - Lese zumindest einen Teil des Netzpakets aus der Speicherstruktur aus
      • 2018 - Identifiziere, ob eine Verarbeitung durch On-Chip-Kerne erforderlich ist
      • 2020 - Generiere eine Ereignisnachricht und übertrage sie an den Bare-Metal-Kontroller
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62427268 [0001]
    • IN 201741030632 [0001]

Claims (25)

  1. Rechenvorrichtung zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) der Rechenvorrichtung, wobei die Rechenvorrichtung umfasst: einen Paketprozessor und eine Kontrollervorrichtung, die jeweils kommunizierend an eine Speicherstruktur des NIC gekoppelt sind, wobei der NIC: durch die Kontrollervorrichtung und in Reaktion auf das Empfangen einer Nachricht vom Paketprozessor, dass ein Netzpaket in die Speicherstruktur geschrieben worden ist, zumindest einen Teil eines Netzpakets von der Speicherstruktur basierend auf einem mit der Nachricht empfangenen Speicherstrukturplatzzeiger abrufen soll; den abgerufenen Teil des Netzpakets durch die Kontrollervorrichtung auslesen soll; einen eingehenden Deskriptor durch die Kontrollervorrichtung an einen Platz in einem vom NIC verwalteten Arbeitsspeicher schreiben soll; eine oder mehrere Operationen an dem abgerufenen Teil des Netzpakets in Abhängigkeit von im eingehenden Deskriptor enthaltenen Informationen durch einen oder mehrere On-Chip-Kerne des NIC ausführen soll; einen abgehenden Deskriptor durch den einen oder die mehreren On-Chip-Kerne an einen Platz in einem vom NIC verwalteten Arbeitsspeicher schreiben soll; zumindest einen Teil des abgerufenen Teils des Netzpakets in Abhängigkeit von im abgehenden Deskriptor enthaltenen Informationen durch die Kontrollervorrichtung umstrukturieren soll; und den umstrukturierten Teil des Netzpakets durch die Kontrollervorrichtung in die Speicherstruktur schreiben soll.
  2. Rechenvorrichtung nach Anspruch 1, ferner umfassend das Speichern, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets in einen vom NIC verwalteten lokalen temporären Datenspeicher.
  3. Rechenvorrichtung nach Anspruch 1, wobei das Abrufen des Teils des Netzpakets aus der Speicherstruktur das Abrufen eines von einer Kopfzeile des Netzpakets oder einer vorbestimmten Größenmenge des Netzpakets umfasst.
  4. Rechenvorrichtung nach Anspruch 1, ferner umfassend das Verschieben, durch die Kontrollervorrichtung und vor dem Schreiben des eingehenden Deskriptors, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  5. Rechenvorrichtung nach Anspruch 1, ferner umfassend das Übertragen, durch die Kontrollervorrichtung und nach dem Schreiben des eingehenden Deskriptors, einer Unterbrechungsanforderung an den einen oder die mehreren On-Chip-Kerne.
  6. Rechenvorrichtung nach Anspruch 1, ferner umfassend das Verschieben, durch den Paketprozessor und vor dem Übertragen der Nachricht an die Kontrollervorrichtung, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  7. Rechenvorrichtung nach Anspruch 1, wobei das Umstrukturieren des mindestens einen Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von den im abgehenden Deskriptor enthaltenen Informationen eines von dem Hinzufügen von einem oder mehreren Bytes zu einer Struktur des Teils des Netzpakets, dem Entfernen von einem oder mehreren Bytes aus der Struktur des Teils des Netzpakets, oder dem Ändern einer Startposition eines Zeigers an einem Platz in der Speicherstruktur des Netzpakets umfasst.
  8. Rechenvorrichtung nach Anspruch 1, ferner umfassend das Identifizieren, durch die Kontrollervorrichtung, eines Bauteils des NIC, um eine anschließende Aktion an dem Netzpaket in Abhängigkeit von dem abgehenden Deskriptor auszuführen, und das Übertragen einer weiteren Ereignisnachricht an das identifizierte Bauteil, wobei die weitere Ereignisnachricht verwendbar ist, um die anschließende auszuführende Aktion und einen Platz in der Speicherstruktur des Netzpakets zu identifizieren.
  9. Rechenvorrichtung nach Anspruch 8, wobei das Identifizieren des Bauteils des NIC das Identifizieren eines Beschleunigeragenten des NIC umfasst, um eine Beschleunigungsoperation am Netzpaket oder einer Netzwerk-Schnittstelle auszuführen, um das Netzpaket an eine weitere Rechenvorrichtung zu übertragen.
  10. Rechenvorrichtung nach Anspruch 1, ferner umfassend: Empfangen, durch eine Netzwerk-Schnittstelle des NIC, des Netzpakets von einer weiteren Rechenvorrichtung; Weiterleiten, durch die Netzwerk-Schnittstelle, des empfangenen Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist; und Übertragen, durch den Paketprozessor und bei Empfang der Ereignisnachricht, der Nachricht an die Kontrollervorrichtung, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist.
  11. Rechenvorrichtung nach Anspruch 1, ferner umfassend: Bestimmen, durch den Paketprozessor, ob ein Paketfluss, der dem empfangenen Netzpaket entspricht, bekannt ist; und Übertragen, durch den Paketprozessor und in Reaktion auf eine Bestimmung, dass der Paketfluss nicht bekannt ist, einer Host-Kennung-Anforderungsnachricht an die Kontrollervorrichtung, wobei die Host-Kennung-Anforderungsnachricht verwendbar ist, um anzuzeigen, dass der Paketfluss, der dem Netzpaket entspricht, nicht bekannt ist.
  12. Rechenvorrichtung nach Anspruch 11, wobei das Bestimmen, ob der Paketfluss bekannt ist, das Lesen, durch den einen oder die mehreren On-Chip-Kerne des NIC, eines Teils des Netzpakets aus dem Platz im vom NIC verwalteten Arbeitsspeicher, an dem der Teil des Netzpakets gespeichert worden ist, und das Ausführen einer Nachschlagoperation zumindest teilweise basierend auf dem gelesenen Teil des Netzpakets, um den Paketfluss zu bestimmen, aufweist.
  13. Rechenvorrichtung nach Anspruch 1, ferner umfassend: Empfangen, durch eine Host-Schnittstelle des NIC, eines Netzpakets von einer Rechenmaschine der Rechenvorrichtung; Weiterleiten, durch die Host-Schnittstelle, des Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Ereignisnachricht anzeigt, dass das Netzpaket von der Rechenmaschine empfangen worden ist; Identifizieren, durch den Paketprozessor, ob das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll; und Übertragen, durch den Paketprozessor und nach der Identifizierung, dass das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll, einer weiteren Ereignisnachricht an die Kontrollervorrichtung, wobei die weitere Ereignisnachricht anzeigt, dass das Netzpaket empfangen worden ist und den Speicherstrukturplatzzeiger enthält.
  14. Verfahren zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) einer Rechenvorrichtung, wobei die Rechenvorrichtung umfasst: Abrufen, durch eine Kontrollervorrichtung eines Netzwerk-Schnittstellenkontrollers (NIC) der Rechenvorrichtung, und in Reaktion auf das Empfangen einer Nachricht von einem Paketprozessor des NIC, dass ein Netzpaket in eine Speicherstruktur des NIC geschrieben worden ist, zumindest eines Teils eines Netzpakets aus der Speicherstruktur basierend auf einem mit der Nachricht empfangenen Speicherstrukturplatzzeiger; Lesen, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets; Schreiben, durch die Kontrollervorrichtung, eines eingehenden Deskriptors an einen Platz in einem vom NIC verwalteten Arbeitsspeicher; Ausführen, durch einen oder mehrere On-Chip-Kerne des NIC, einer oder mehrerer Operationen an dem abgerufenen Teil des Netzpakets in Abhängigkeit von im eingehenden Deskriptor enthaltenen Informationen; Schreiben, durch den einen oder die mehreren On-Chip-Kerne, eines abgehenden Deskriptors an einen Platz in einem vom NIC verwalteten Arbeitsspeicher; Umstrukturieren, durch die Kontrollervorrichtung, zumindest eines Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von im abgehenden Deskriptor enthaltenen Informationen; und Schreiben, durch die Kontrollervorrichtung, des umstrukturierten Teils des Netzpakets in die Speicherstruktur.
  15. Verfahren nach Anspruch 14, ferner umfassend das Speichern, durch die Kontrollervorrichtung, des abgerufenen Teils des Netzpakets in einem vom NIC verwalteten lokalen temporären Datenspeicher.
  16. Verfahren nach Anspruch 14, wobei das Abrufen des Teils des Netzpakets aus der Speicherstruktur das Abrufen eines von einer Kopfzeile des Netzpakets oder einer vorbestimmten Größenmenge des Netzpakets umfasst.
  17. Verfahren nach Anspruch 14, ferner umfassend das Verschieben, durch die Kontrollervorrichtung und vor dem Schreiben des eingehenden Deskriptors, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  18. Verfahren nach Anspruch 14, ferner umfassend das Übertragen, durch die Kontrollervorrichtung und nach dem Schreiben des eingehenden Deskriptors, einer Unterbrechungsanforderung an den einen oder die mehreren On-Chip-Kerne.
  19. Verfahren nach Anspruch 14, ferner umfassend das Verschieben, durch den Paketprozessor und vor dem Übertragen der Nachricht an die Kontrollervorrichtung, einer Kopfzeile des Netzpakets um eine vorbestimmte Größenmenge, um einen reservierten Bereich in der Kopfzeile zu schaffen.
  20. Verfahren nach Anspruch 14, wobei das Umstrukturieren des mindestens einen Teils des abgerufenen Teils des Netzpakets in Abhängigkeit von den im abgehenden Deskriptor enthaltenen Informationen eines von dem Hinzufügen von einem oder mehreren Bytes zu einer Struktur des Teils des Netzpakets, dem Entfernen von einem oder mehreren Bytes aus der Struktur des Teils des Netzpakets oder dem Ändern einer Startposition eines Zeigers an einen Platz in der Speicherstruktur des Netzpakets umfasst.
  21. Verfahren nach Anspruch 14, ferner umfassend das Identifizieren, durch die Kontrollervorrichtung, eines Bauteils des NIC, um eine anschließende Aktion an dem Netzpaket in Abhängigkeit von dem abgehenden Deskriptor auszuführen, und das Übertragen einer weiteren Ereignisnachricht an das identifizierte Bauteil, wobei die weitere Ereignisnachricht verwendbar ist, um die anschließende auszuführende Aktion und einen Platz in der Speicherstruktur des Netzpakets zu identifizieren.
  22. Verfahren nach Anspruch 14, ferner umfassend: Empfangen, durch eine Netzwerk-Schnittstelle des NIC, des Netzpakets von einer weiteren Rechenvorrichtung; Weiterleiten, durch die Netzwerk-Schnittstelle, des empfangenen Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist, und den Speicherstrukturplatzzeiger aufweist; und Übertragen, durch den Paketprozessor und bei Empfang der Ereignisnachricht, der Nachricht an die Kontrollervorrichtung, wobei die Nachricht anzeigt, dass das Netzpaket in die Speicherstruktur geschrieben worden ist und den Speicherstrukturplatzzeiger aufweist.
  23. Verfahren nach Anspruch 14, ferner umfassend: Empfangen, durch eine Host-Schnittstelle des NIC, eines Netzpakets von einer Rechenmaschine der Rechenvorrichtung; Weiterleiten, durch die Host-Schnittstelle, des Netzpakets an eine Speicherstruktur-Schnittstelle der Speicherstruktur; Schreiben, durch die Speicherstruktur-Schnittstelle, des Netzpakets in die Speicherstruktur auf verteilte Weise; Übertragen, durch die Speicherstruktur-Schnittstelle, einer Ereignisnachricht an den Paketprozessor, wobei die Ereignisnachricht anzeigt, dass das Netzpaket von der Rechenmaschine empfangen worden ist; Identifizieren, durch den Paketprozessor, ob das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll; und Übertragen, durch den Paketprozessor und nach der Identifizierung, dass das Netzpaket von dem einen oder den mehreren On-Chip-Kernen verarbeitet werden soll, einer weiteren Ereignisnachricht an die Kontrollervorrichtung, wobei die weitere Ereignisnachricht anzeigt, dass das Netzpaket empfangen worden ist und den Speicherstrukturplatzzeiger enthält.
  24. Ein oder mehrere maschinenlesbare Speichermedien eines Netzwerk-Schnittstellenkontrollers (NIC) einer Rechenvorrichtung, die mehrere darin gespeicherte Anweisungen umfasst, die, wenn sie ausgeführt werden, den NIC der Rechenvorrichtung veranlassen, das Verfahren nach einem der Patentansprüche 14-23 auszuführen.
  25. Rechenvorrichtung zur Verarbeitung von Netzpaketen durch einen Netzwerk-Schnittstellenkontroller (NIC) der Rechenvorrichtung, wobei die Rechenvorrichtung umfasst: einen oder mehrere Prozessor(en); und einen Netzwerk-Schnittstellenkontroller (NIC), in dem mehrere Anweisungen gespeichert sind, die, wenn sie vom NIC ausgeführt werden, die Rechenvorrichtung veranlassen, das Verfahren nach einem der Patentansprüche 14-23 auszuführen.
DE102018006890.1A 2016-11-29 2018-08-30 Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller Active DE102018006890B4 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662427268P 2016-11-29 2016-11-29
US62/427,268 2016-11-29
IN201741030632 2017-08-30
IN201741030632 2017-08-30
US15/721,815 2017-09-30
US15/721,815 US10732879B2 (en) 2016-11-29 2017-09-30 Technologies for processing network packets by an intelligent network interface controller

Publications (2)

Publication Number Publication Date
DE102018006890A1 true DE102018006890A1 (de) 2018-12-06
DE102018006890B4 DE102018006890B4 (de) 2023-09-21

Family

ID=62190163

Family Applications (6)

Application Number Title Priority Date Filing Date
DE102018006890.1A Active DE102018006890B4 (de) 2016-11-29 2018-08-30 Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
DE102018214774.4A Pending DE102018214774A1 (de) 2016-11-29 2018-08-30 Technologien zum dynamischen Managen der Zuverlässigkeit disaggregierter Betriebsmittel in einem gemanagten Knoten
DE102018006893.6A Pending DE102018006893A1 (de) 2016-11-29 2018-08-30 Technologien zum sicheren Verschlüsseln eines externen Speichers für feldprogrammierbare Gatteranordnungen (FPGAs)
DE102018214775.2A Pending DE102018214775A1 (de) 2016-11-29 2018-08-30 Technologien zum Aufteilen der Arbeit über Beschleunigervorrichtungen hinweg
DE102018006894.4A Pending DE102018006894A1 (de) 2016-11-29 2018-08-30 Technologien zum Auslagern von Beschleunigungsaufgaben-Ablaufplanungsoperationen an Beschleunigerschlitten
DE102018214776.0A Pending DE102018214776A1 (de) 2016-11-29 2018-08-30 Technologien für die Verwaltung von Netz-Statistik-Zählern

Family Applications After (5)

Application Number Title Priority Date Filing Date
DE102018214774.4A Pending DE102018214774A1 (de) 2016-11-29 2018-08-30 Technologien zum dynamischen Managen der Zuverlässigkeit disaggregierter Betriebsmittel in einem gemanagten Knoten
DE102018006893.6A Pending DE102018006893A1 (de) 2016-11-29 2018-08-30 Technologien zum sicheren Verschlüsseln eines externen Speichers für feldprogrammierbare Gatteranordnungen (FPGAs)
DE102018214775.2A Pending DE102018214775A1 (de) 2016-11-29 2018-08-30 Technologien zum Aufteilen der Arbeit über Beschleunigervorrichtungen hinweg
DE102018006894.4A Pending DE102018006894A1 (de) 2016-11-29 2018-08-30 Technologien zum Auslagern von Beschleunigungsaufgaben-Ablaufplanungsoperationen an Beschleunigerschlitten
DE102018214776.0A Pending DE102018214776A1 (de) 2016-11-29 2018-08-30 Technologien für die Verwaltung von Netz-Statistik-Zählern

Country Status (3)

Country Link
US (33) US20180150256A1 (de)
DE (6) DE102018006890B4 (de)
WO (5) WO2018102443A1 (de)

Families Citing this family (245)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9922099B2 (en) 2014-09-30 2018-03-20 Splunk Inc. Event limited field picker
US10235460B2 (en) 2014-09-30 2019-03-19 Splunk Inc. Sharing configuration information for searches in data intake and query systems
US9990423B2 (en) 2014-09-30 2018-06-05 Splunk Inc. Hybrid cluster-based data intake and query
CN107209663B (zh) * 2015-04-23 2020-03-10 华为技术有限公司 数据格式转换装置、缓冲芯片及方法
JP6701863B2 (ja) * 2016-03-24 2020-05-27 日本電気株式会社 ファームウェア配信システム、配信装置、ファームウェア配信方法およびファームウェア配信プログラム
US10390114B2 (en) 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US10686688B2 (en) * 2016-07-22 2020-06-16 Intel Corporation Methods and apparatus to reduce static and dynamic fragmentation impact on software-defined infrastructure architectures
EP3549350A4 (de) * 2016-11-29 2021-03-24 Intel Corporation Technologien für millimeterwellen-rack-verbindungen
US20180150256A1 (en) 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
US11301144B2 (en) 2016-12-28 2022-04-12 Amazon Technologies, Inc. Data storage system
US10514847B2 (en) 2016-12-28 2019-12-24 Amazon Technologies, Inc. Data storage system with multiple durability levels
US10771550B2 (en) * 2016-12-28 2020-09-08 Amazon Technologies, Inc. Data storage system with redundant internal networks
US10484015B2 (en) 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
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
TWI730325B (zh) * 2017-02-14 2021-06-11 美商莫仕有限公司 伺服器盒子
US10970119B2 (en) 2017-03-28 2021-04-06 Intel Corporation Technologies for hybrid field-programmable gate array application-specific integrated circuit code acceleration
CN110731070A (zh) 2017-03-29 2020-01-24 芬基波尔有限责任公司 通过多个交替数据路径进行分组喷射的无阻塞的任意到任意数据中心网络
US10637685B2 (en) 2017-03-29 2020-04-28 Fungible, Inc. Non-blocking any-to-any data center network having multiplexed packet spraying within access node groups
WO2018183526A1 (en) 2017-03-29 2018-10-04 Fungible, Inc. Non-blocking, full-mesh data center network having optical permutors
CN110741356B (zh) 2017-04-10 2024-03-15 微软技术许可有限责任公司 多处理器系统中的中继一致存储器管理
US10656987B1 (en) * 2017-04-26 2020-05-19 EMC IP Holding Company LLC Analysis system and method
US10853159B1 (en) * 2017-04-26 2020-12-01 EMC IP Holding Company, LLC Analysis system and method
NO343359B1 (en) * 2017-05-02 2019-02-11 Numascale As Interconnect switch in multiprocessor systems
US10958990B2 (en) * 2017-05-03 2021-03-23 Intel Corporation Trusted platform telemetry mechanisms inaccessible to software
US10656964B2 (en) * 2017-05-16 2020-05-19 Oracle International Corporation Dynamic parallelization of a calculation process
CN110915173B (zh) 2017-07-10 2022-04-29 芬基波尔有限责任公司 用于计算节点和存储节点的数据处理单元
WO2019014268A1 (en) 2017-07-10 2019-01-17 Fungible, Inc. DATA PROCESSING UNIT FOR FLOW PROCESSING
JP6891961B2 (ja) * 2017-07-12 2021-06-18 日本電気株式会社 ネットワーク制御システム、方法およびプログラム
US11030126B2 (en) * 2017-07-14 2021-06-08 Intel Corporation Techniques for managing access to hardware accelerator memory
US10318461B2 (en) * 2017-08-04 2019-06-11 Dell Products L.P. Systems and methods for interconnecting GPU accelerated compute nodes of an information handling system
US10841246B2 (en) 2017-08-30 2020-11-17 Arista Networks, Inc. Distributed core switching with orthogonal fabric card and line cards
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
US11119835B2 (en) 2017-08-30 2021-09-14 Intel Corporation Technologies for providing efficient reprovisioning in an accelerator device
US10963295B2 (en) * 2017-09-08 2021-03-30 Oracle International Corporation Hardware accelerated data processing operations for storage data
US10819649B2 (en) * 2017-09-14 2020-10-27 American Megatrends International, Llc Pooled system management engine on service processor of computing blade
CN107872545B (zh) * 2017-09-26 2022-12-06 中兴通讯股份有限公司 一种报文传输方法及装置、计算机可读存储介质
CN111164938A (zh) 2017-09-29 2020-05-15 芬基波尔有限责任公司 使用选择性多路径分组流喷射的弹性网络通信
WO2019068013A1 (en) 2017-09-29 2019-04-04 Fungible, Inc. FABRIC CONTROL PROTOCOL FOR DATA CENTER NETWORKS WITH PACKAGING OF PACKETS ON MULTIPLE ALTERNATIVE DATA PATHWAYS
US10659390B2 (en) * 2017-09-29 2020-05-19 Xilinx, Inc. Network interface device
CN111164573A (zh) * 2017-10-06 2020-05-15 康维达无线有限责任公司 启用雾服务层并应用于智能运输系统
US10659531B2 (en) * 2017-10-06 2020-05-19 International Business Machines Corporation Initiator aware data migration
KR102602696B1 (ko) * 2017-10-13 2023-11-16 삼성전자주식회사 암호화 장치 및 복호화 장치, 이들의 동작방법
CN109725835B (zh) * 2017-10-27 2022-04-29 伊姆西Ip控股有限责任公司 用于管理盘阵列的方法、设备和计算机程序产品
US10841245B2 (en) 2017-11-21 2020-11-17 Fungible, Inc. Work unit stack data structures in multiple core processor system for stream data processing
EP3724776A4 (de) * 2017-12-13 2021-07-28 Telefonaktiebolaget LM Ericsson (PUBL) Verfahren, funktionsmanager und anordnung zur handhabung von funktionsanrufen
EP3729264A1 (de) * 2017-12-20 2020-10-28 Telefonaktiebolaget LM Ericsson (publ) Verfahren und ressourcenplaner, um es einer recheneinheit zu ermöglichen, entfernte speicherressourcen zu verwenden
US10776160B2 (en) * 2017-12-28 2020-09-15 Mcgraw Hill Llc Management of sequenced execution of service tasks in a multi-service system
CN110109915B (zh) * 2018-01-18 2024-01-05 伊姆西Ip控股有限责任公司 用于管理哈希表的方法、设备和计算机程序产品
US10942783B2 (en) * 2018-01-19 2021-03-09 Hypernet Labs, Inc. Distributed computing using distributed average consensus
US10878482B2 (en) 2018-01-19 2020-12-29 Hypernet Labs, Inc. Decentralized recommendations using distributed average consensus
US10909150B2 (en) 2018-01-19 2021-02-02 Hypernet Labs, Inc. Decentralized latent semantic index using distributed average consensus
US11244243B2 (en) 2018-01-19 2022-02-08 Hypernet Labs, Inc. Coordinated learning using distributed average consensus
WO2019152063A1 (en) 2018-02-02 2019-08-08 Fungible, Inc. Efficient work unit processing in a multicore system
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
TWI647615B (zh) * 2018-03-29 2019-01-11 緯創資通股份有限公司 使用多嵌入式控制器韌體的韌體系統的開機方法
US11068876B2 (en) * 2018-03-30 2021-07-20 Norton LifeLock Securing of internet of things devices based on monitoring of information concerning device purchases
US11429413B2 (en) * 2018-03-30 2022-08-30 Intel Corporation Method and apparatus to manage counter sets in a network interface controller
US11194800B2 (en) * 2018-04-26 2021-12-07 Microsoft Technology Licensing, Llc Parallel search in program synthesis
US10990373B2 (en) * 2018-05-18 2021-04-27 Nutanix, Inc. Service managers and firmware version selections in distributed computing systems
US11144357B2 (en) * 2018-05-25 2021-10-12 International Business Machines Corporation Selecting hardware accelerators based on score
US10691529B2 (en) * 2018-06-20 2020-06-23 Intel Corporation Supporting random access of compressed data
US20190392287A1 (en) 2018-06-22 2019-12-26 Samsung Electronics Co., Ltd. Neural processor
US11036651B2 (en) 2018-06-29 2021-06-15 Micron Technology, Inc. Host side caching security for flash memory
CN109101347B (zh) * 2018-07-16 2021-07-20 北京理工大学 一种基于OpenCL的FPGA异构计算平台的脉冲压缩处理方法
CN109086383A (zh) * 2018-07-26 2018-12-25 佛山市甜慕链客科技有限公司 一种用于数据库加速的方法及设备
US20200045352A1 (en) * 2018-08-02 2020-02-06 Imagine Communications Corp. System and process for generalized real-time transport protocol stream segmentation and reconstruction
CN109325494B (zh) * 2018-08-27 2021-09-17 腾讯科技(深圳)有限公司 图片处理方法、任务数据处理方法和装置
US11797684B2 (en) * 2018-08-28 2023-10-24 Eclypsium, Inc. Methods and systems for hardware and firmware security monitoring
US11133076B2 (en) * 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
CN113661035A (zh) * 2018-09-28 2021-11-16 艾利文Ai有限公司 用于机器人代理管理的系统和方法
US10936370B2 (en) * 2018-10-31 2021-03-02 International Business Machines Corporation Apparatus that generates optimal launch configurations
US11216314B2 (en) * 2018-11-02 2022-01-04 EMC IP Holding Company LLC Dynamic reallocation of resources in accelerator-as-a-service computing environment
US10973148B2 (en) * 2018-11-05 2021-04-06 Cisco Technology, Inc. Networking device with orthogonal switch bars
CN111147927A (zh) * 2018-11-06 2020-05-12 中国电信股份有限公司 视频响应系统和方法及智能网卡
US10929175B2 (en) 2018-11-21 2021-02-23 Fungible, Inc. Service chaining hardware accelerators within a data stream processing integrated circuit
US10892944B2 (en) 2018-11-29 2021-01-12 International Business Machines Corporation Selecting and using a cloud-based hardware accelerator
US11856724B2 (en) 2018-11-30 2023-12-26 Ovh System comprising a rack, with support members and components insertable in the rack and connectable via liquid connectors
EP3661339B1 (de) 2018-11-30 2022-04-13 Ovh Gestell zur aufnahme einer komponente und system mit dem gestell und der komponente
WO2020117683A1 (en) 2018-12-03 2020-06-11 Salesforce.Com, Inc. Application programming interface for automated operations management
US10908895B2 (en) 2018-12-21 2021-02-02 Pensando Systems Inc. State-preserving upgrade of an intelligent server adapter
US11044099B2 (en) * 2018-12-28 2021-06-22 Intel Corporation Technologies for providing certified telemetry data indicative of resources utilizations
US10579547B2 (en) * 2018-12-28 2020-03-03 Intel Corporation Technologies for providing I/O channel abstraction for accelerator device kernels
US11750531B2 (en) * 2019-01-17 2023-09-05 Ciena Corporation FPGA-based virtual fabric for data center computing
US11625806B2 (en) * 2019-01-23 2023-04-11 Qualcomm Incorporated Methods and apparatus for standardized APIs for split rendering
US10831497B2 (en) * 2019-01-31 2020-11-10 International Business Machines Corporation Compression/decompression instruction specifying a history buffer to be used in the compression/decompression of data
US10795718B2 (en) * 2019-02-08 2020-10-06 Microsoft Technology Licensing, Llc Updating hardware with reduced virtual machine downtime
DK3697183T3 (da) 2019-02-13 2021-05-17 Ovh Stativ indrettet til modtagelse af en komponent, system der inkluderer stativet og komponenten og fremgangsmåde til forsyning af strøm til en komponent monteret i et stativ
US20190188111A1 (en) * 2019-02-26 2019-06-20 Intel Corporation Methods and apparatus to improve performance data collection of a high performance computing application
US20200274931A1 (en) * 2019-02-27 2020-08-27 Asahi Kasei Kabushiki Kaisha Device management apparatus and system for remotely managing internet of things device
CN110007855B (zh) * 2019-02-28 2020-04-28 华中科技大学 一种硬件支持的3d堆叠nvm内存数据压缩方法及系统
US10977315B2 (en) * 2019-03-01 2021-04-13 Cyborg Inc. System and method for statistics-based pattern searching of compressed data and encrypted data
CN109934729A (zh) * 2019-03-25 2019-06-25 重庆大学 非稳态数据实时采集数据深度压缩方法
US10963269B2 (en) * 2019-03-28 2021-03-30 Lenovo (Singapore) Pte. Ltd. Apparatus, method, and program product for storing a hardware manifest
US10534747B2 (en) * 2019-03-29 2020-01-14 Intel Corporation Technologies for providing a scalable architecture for performing compute operations in memory
FR3094865B1 (fr) * 2019-04-04 2021-10-29 Bull Sas Armoire informatique comprenant des dispositifs d’interconnexion de commutateurs d’interconnexion et d’elements montables en bâti
US10986423B2 (en) 2019-04-11 2021-04-20 Arista Networks, Inc. Network device with compact chassis
US11671111B2 (en) 2019-04-17 2023-06-06 Samsung Electronics Co., Ltd. Hardware channel-parallel data compression/decompression
US11211944B2 (en) 2019-04-17 2021-12-28 Samsung Electronics Co., Ltd. Mixed-precision compression with random access
US11269395B2 (en) 2019-04-25 2022-03-08 Intel Corporation Technologies for providing adaptive power management in an accelerator sled
US20190253518A1 (en) * 2019-04-26 2019-08-15 Intel Corporation Technologies for providing resource health based node composition and management
US20200341824A1 (en) * 2019-04-26 2020-10-29 Intel Corporation Technologies for providing inter-kernel communication abstraction to support scale-up and scale-out
US10909054B2 (en) * 2019-04-26 2021-02-02 Samsung Electronics Co., Ltd. Method for status monitoring of acceleration kernels in a storage device and storage device employing the same
CN111858016A (zh) * 2019-04-29 2020-10-30 阿里巴巴集团控股有限公司 计算作业处理方法、系统、移动设备及加速设备
US11003479B2 (en) * 2019-04-29 2021-05-11 Intel Corporation Device, system and method to communicate a kernel binary via a network
CN109995508B (zh) * 2019-04-30 2021-02-02 上海安路信息科技有限公司 一种fpga码流的加解密装置及方法
US11474700B2 (en) * 2019-04-30 2022-10-18 Intel Corporation Technologies for compressing communication for accelerator devices
US11893266B2 (en) 2019-05-03 2024-02-06 University of Pittsburgh—of the Commonwealth System of Higher Education Method and apparatus for adaptive page migration and pinning for oversubscribed irregular applications
US11381526B2 (en) * 2019-05-08 2022-07-05 Cisco Technology, Inc. Multi-tenant optimized serverless placement using smart network interface cards and commodity storage
CN110311948B (zh) * 2019-05-17 2022-07-15 深圳致星科技有限公司 容器/容器组间的通信方法及基于此的容器云网络系统
US11615052B1 (en) * 2019-05-23 2023-03-28 Xilinx, Inc. Packet identification (ID) assignment for routing network
DE112020002497T5 (de) 2019-05-23 2022-04-28 Hewlett Packard Enterprise Development Lp System und verfahren zur dynamischen zuweisung von reduktionsmotoren
CN110138556A (zh) * 2019-05-28 2019-08-16 上海兆芯集成电路有限公司 数据处理装置及数据处理方法
US11398899B2 (en) 2019-05-28 2022-07-26 Shanghai Zhaoxin Semiconductor Co., Ltd. Data processing device and data processing method
US11012315B2 (en) * 2019-05-29 2021-05-18 Cisco Technology, Inc. Retroactively detecting state change in a network fabric across times
KR20200140560A (ko) 2019-06-07 2020-12-16 삼성전자주식회사 전자 장치 및 그 시스템
CN110166240B (zh) * 2019-06-25 2024-05-03 南方电网科学研究院有限责任公司 一种网络隔离密码板卡
JP7238643B2 (ja) * 2019-06-28 2023-03-14 株式会社リコー 電子機器、情報処理システムおよび情報処理方法
US10949362B2 (en) 2019-06-28 2021-03-16 Intel Corporation Technologies for facilitating remote memory requests in accelerator devices
US11169723B2 (en) 2019-06-28 2021-11-09 Amazon Technologies, Inc. Data storage system with metadata check-pointing
US11556382B1 (en) * 2019-07-10 2023-01-17 Meta Platforms, Inc. Hardware accelerated compute kernels for heterogeneous compute environments
US11146663B2 (en) * 2019-07-18 2021-10-12 EMC IP Holding Company LLC Facilitating improved overall performance of remote data facility replication systems
US11151682B2 (en) * 2019-07-22 2021-10-19 Verizon Patent And Licensing Inc. System and methods for distributed GPU using multi-access edge compute services
US11792078B2 (en) * 2019-07-26 2023-10-17 Verizon Patent And Licensing Inc. Multi-access Edge Computing cloud discovery and communications
US11586194B2 (en) 2019-08-12 2023-02-21 Micron Technology, Inc. Storage and access of neural network models of automotive predictive maintenance
US11853863B2 (en) 2019-08-12 2023-12-26 Micron Technology, Inc. Predictive maintenance of automotive tires
US11775816B2 (en) 2019-08-12 2023-10-03 Micron Technology, Inc. Storage and access of neural network outputs in automotive predictive maintenance
US11748626B2 (en) 2019-08-12 2023-09-05 Micron Technology, Inc. Storage devices with neural network accelerators for automotive predictive maintenance
US11635893B2 (en) 2019-08-12 2023-04-25 Micron Technology, Inc. Communications between processors and storage devices in automotive predictive maintenance implemented via artificial neural networks
US11586943B2 (en) 2019-08-12 2023-02-21 Micron Technology, Inc. Storage and access of neural network inputs in automotive predictive maintenance
US11126236B2 (en) * 2019-08-14 2021-09-21 Dell Products L.P. System and method for the redirection of trapped power in a shared infrastructure environment
US11228539B2 (en) * 2019-08-14 2022-01-18 Intel Corporation Technologies for managing disaggregated accelerator networks based on remote direct memory access
US11702086B2 (en) 2019-08-21 2023-07-18 Micron Technology, Inc. Intelligent recording of errant vehicle behaviors
US11498388B2 (en) 2019-08-21 2022-11-15 Micron Technology, Inc. Intelligent climate control in vehicles
US11477163B2 (en) * 2019-08-26 2022-10-18 At&T Intellectual Property I, L.P. Scrubbed internet protocol domain for enhanced cloud security
LU101361B1 (en) * 2019-08-26 2021-03-11 Microsoft Technology Licensing Llc Computer device including nested network interface controller switches
CN113302585A (zh) * 2019-09-03 2021-08-24 谷歌有限责任公司 加速应用和子包安装
US11693562B2 (en) 2019-09-05 2023-07-04 Micron Technology, Inc. Bandwidth optimization for different types of operations scheduled in a data storage device
US11409654B2 (en) 2019-09-05 2022-08-09 Micron Technology, Inc. Intelligent optimization of caching operations in a data storage device
US11436076B2 (en) 2019-09-05 2022-09-06 Micron Technology, Inc. Predictive management of failing portions in a data storage device
US11650746B2 (en) 2019-09-05 2023-05-16 Micron Technology, Inc. Intelligent write-amplification reduction for data storage devices configured on autonomous vehicles
US11184191B1 (en) * 2019-09-12 2021-11-23 Trend Micro Incorporated Inspection of network traffic on accelerated platforms
US11144290B2 (en) * 2019-09-13 2021-10-12 Huawei Technologies Co., Ltd. Method and apparatus for enabling autonomous acceleration of dataflow AI applications
US11266007B2 (en) 2019-09-18 2022-03-01 Arista Networks, Inc. Linecard system using riser printed circuit boards (PCBS)
US11245538B2 (en) * 2019-09-28 2022-02-08 Intel Corporation Methods and apparatus to aggregate telemetry data in an edge environment
US11436193B2 (en) * 2019-09-30 2022-09-06 Dell Products L.P. System and method for managing data using an enumerator
US11151011B2 (en) 2019-10-01 2021-10-19 International Business Machines Corporation Uncore input/output latency analysis
US11651209B1 (en) * 2019-10-02 2023-05-16 Google Llc Accelerated embedding layer computations
US11748174B2 (en) * 2019-10-02 2023-09-05 Intel Corporation Method for arbitration and access to hardware request ring structures in a concurrent environment
CN112631954A (zh) * 2019-10-09 2021-04-09 联想企业解决方案(新加坡)有限公司 可扩展的双列直插式内存模块
US11210162B2 (en) * 2019-10-11 2021-12-28 EMC IP Holding Company LLC Approach to improve decompression performance by scatter gather compression units and also updating checksum mechanism
US11093283B2 (en) * 2019-10-15 2021-08-17 EMC IP Holding Company LLC System and method of dynamically allocating compression jobs
US11429573B2 (en) * 2019-10-16 2022-08-30 Dell Products L.P. Data deduplication system
US20210117441A1 (en) * 2019-10-17 2021-04-22 Dell Products L.P. Data replication system
EP3816781A1 (de) * 2019-10-30 2021-05-05 Sunlight.io Limited Speicherbereichsnetzwerksteuergerät
US11580233B1 (en) * 2019-11-13 2023-02-14 Meta Platforms, Inc. Baseboard-management-controller storage module
US11461123B1 (en) 2019-11-21 2022-10-04 Amazon Technologies, Inc. Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations
US11573839B1 (en) * 2019-11-21 2023-02-07 Amazon Technologies, Inc. Dynamic scheduling for live migration between cloud regions and edge locations
US11734038B1 (en) 2019-11-21 2023-08-22 Amazon Technologies, Inc Multiple simultaneous volume attachments for live migration between cloud regions and edge locations
US11782810B2 (en) * 2019-11-22 2023-10-10 Dell Products, L.P. Systems and methods for automated field replacement component configuration
US11610102B1 (en) * 2019-11-27 2023-03-21 Amazon Technologies, Inc. Time-based memory allocation for neural network inference
US11250648B2 (en) 2019-12-18 2022-02-15 Micron Technology, Inc. Predictive maintenance of automotive transmission
US20200133649A1 (en) * 2019-12-23 2020-04-30 Intel Corporation Processor controlled programmable logic device modification
US11243890B2 (en) * 2020-01-14 2022-02-08 EMC IP Holding Company LLC Compressed data verification
US11182150B2 (en) 2020-01-14 2021-11-23 Pensando Systems Inc. Zero packet loss upgrade of an IO device
US11487592B2 (en) * 2020-01-22 2022-11-01 EMC IP Holding Company LLC Dynamic application migration across storage platforms
US11372180B2 (en) 2020-01-31 2022-06-28 Ciena Corporation Modular networking hardware platform
US11709625B2 (en) 2020-02-14 2023-07-25 Micron Technology, Inc. Optimization of power usage of data storage devices
US11531339B2 (en) 2020-02-14 2022-12-20 Micron Technology, Inc. Monitoring of drive by wire sensors in vehicles
US11856736B1 (en) * 2020-03-02 2023-12-26 Core Scientific Operating Company Computing device system and method with racks connected together to form a sled
US11650965B2 (en) * 2020-03-05 2023-05-16 Zscaler, Inc. Systems and methods for efficiently maintaining records in a cloud-based system
US11892924B2 (en) * 2020-03-20 2024-02-06 UncommonX Inc. Generation of an issue detection evaluation regarding a system aspect of a system
US11115497B2 (en) * 2020-03-25 2021-09-07 Intel Corporation Technologies for providing advanced resource management in a disaggregated environment
US11616859B2 (en) * 2020-03-31 2023-03-28 Microsoft Technology Licensing, Llc Unified counting platform
EP4120077A4 (de) * 2020-03-31 2023-04-05 Huawei Technologies Co., Ltd. Verfahren zur planung eines hardware-beschleunigers und aufgabenplaner
US11570808B2 (en) * 2020-04-08 2023-01-31 Qualcomm Incorporated Two-step random access procedure in wireless communication
US11741319B2 (en) * 2020-04-27 2023-08-29 Carrier Corporation Configuration of building automation system controllers using near field communication
US11483943B2 (en) * 2020-04-30 2022-10-25 Hewlett Packard Enterprise Development Lp Computing device
US11934330B2 (en) * 2020-05-08 2024-03-19 Intel Corporation Memory allocation for distributed processing devices
US11182096B1 (en) 2020-05-18 2021-11-23 Amazon Technologies, Inc. Data storage system with configurable durability
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
CN113742028A (zh) * 2020-05-28 2021-12-03 伊姆西Ip控股有限责任公司 资源使用方法、电子设备和计算机程序产品
US11962518B2 (en) 2020-06-02 2024-04-16 VMware LLC Hardware acceleration techniques using flow selection
US11687376B2 (en) 2020-06-12 2023-06-27 Baidu Usa Llc Method for data protection in a data processing cluster with dynamic partition
US11687629B2 (en) * 2020-06-12 2023-06-27 Baidu Usa Llc Method for data protection in a data processing cluster with authentication
US11563745B2 (en) 2020-06-12 2023-01-24 Baidu Usa Llc Method for data protection in a data processing cluster with policy-based partition
US11847501B2 (en) * 2020-06-12 2023-12-19 Baidu Usa Llc Method for data protection in a data processing cluster with partition
US11800554B2 (en) * 2020-06-17 2023-10-24 Lg Electronics Inc. Method and apparatus for handling tasks in parallel
US11212219B1 (en) * 2020-06-26 2021-12-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. In-band telemetry packet size optimization
CN112019589B (zh) * 2020-06-30 2023-09-05 浙江远望信息股份有限公司 一种多层级负载均衡数据包处理方法
CN114090274A (zh) * 2020-07-31 2022-02-25 华为技术有限公司 网络接口卡、存储装置、报文接收方法和发送方法
US11681443B1 (en) 2020-08-28 2023-06-20 Amazon Technologies, Inc. Durable data storage with snapshot storage space optimization
WO2022061160A1 (en) * 2020-09-18 2022-03-24 Nubis Communications Inc. Data processing systems including optical communication modules
US10997106B1 (en) 2020-09-22 2021-05-04 Pensando Sytems Inc. Inter-smartNIC virtual-link for control and datapath connectivity
US20210011787A1 (en) * 2020-09-25 2021-01-14 Francesc Guim Bernat Technologies for scaling inter-kernel technologies for accelerator device kernels
US11736565B2 (en) 2020-09-28 2023-08-22 Vmware, Inc. Accessing an external storage through a NIC
US11792134B2 (en) 2020-09-28 2023-10-17 Vmware, Inc. Configuring PNIC to perform flow processing offload using virtual port identifiers
US11875172B2 (en) 2020-09-28 2024-01-16 VMware LLC Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC
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
US11704151B2 (en) * 2020-09-28 2023-07-18 International Business Machines Corporation Estimate and control execution time of a utility command
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
US20210117242A1 (en) * 2020-10-03 2021-04-22 Intel Corporation Infrastructure processing unit
KR20220045758A (ko) * 2020-10-06 2022-04-13 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11988874B2 (en) 2020-10-07 2024-05-21 Nubis Communications, Inc. Data processing systems including optical communication modules
US11914903B2 (en) * 2020-10-12 2024-02-27 Samsung Electronics Co., Ltd. Systems, methods, and devices for accelerators with virtualization and tiered memory
US11829798B2 (en) * 2020-10-21 2023-11-28 Dell Products L.P. System and method to improve data compression ratios for fixed block sizes in a smart data accelerator interface device
KR20220056986A (ko) * 2020-10-29 2022-05-09 삼성전자주식회사 메모리 확장기, 이종 컴퓨팅 장치, 및 이종 컴퓨팅 장치의 동작 방법
US11477267B2 (en) * 2020-11-09 2022-10-18 Microsoft Technology Licensing, Llc Operating cloud-managed remote edge sites at reduced disk capacity
US11544116B2 (en) * 2020-11-30 2023-01-03 Hewlett Packard Enterprise Development Lp Method and system for facilitating dynamic hardware resource allocation in an active switch
US11516087B2 (en) * 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations
US11182221B1 (en) * 2020-12-18 2021-11-23 SambaNova Systems, Inc. Inter-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS)
US20220197793A1 (en) * 2020-12-22 2022-06-23 Intel Corporation Compressed cache memory with decompress on fault
US20220004330A1 (en) * 2020-12-26 2022-01-06 Intel Corporation Memory pool data placement technologies
TWI760036B (zh) * 2020-12-30 2022-04-01 技嘉科技股份有限公司 透過http/https的伺服器韌體的資料傳輸方法及伺服器
US11281453B1 (en) 2021-01-06 2022-03-22 Pensando Systems, Inc. Methods and systems for a hitless rollback mechanism during software upgrade of a network appliance
US20220236870A1 (en) * 2021-01-26 2022-07-28 EMC IP Holding Company LLC Method and system for compression in block-based storage systems
US11726827B2 (en) * 2021-02-19 2023-08-15 Vast Data Ltd. Hierarchical workload allocation in a storage system
US11641681B2 (en) * 2021-03-02 2023-05-02 Micron Technology, Inc. Data transmission and remote activity monitoring
US20220283840A1 (en) * 2021-03-05 2022-09-08 Vmware, Inc. Configuring direct access to hardware accelerator in an o-ran system
US11507285B1 (en) 2021-05-12 2022-11-22 TORmem Inc. Systems and methods for providing high-performance access to shared computer memory via different interconnect fabrics
EP4095705A1 (de) * 2021-05-28 2022-11-30 Cetitec GmbH Kommunikationsknoten für datennetzwerke und busse
EP4356175A1 (de) * 2021-06-17 2024-04-24 Nubis Communications, Inc. Kommunikationssysteme mit steckbaren modulen
JP2023007800A (ja) * 2021-07-02 2023-01-19 富士通株式会社 コンピュータシステムおよび制御方法
US20230004414A1 (en) * 2021-07-05 2023-01-05 VNware, Inc. Automated instantiation and management of mobile networks
US11755489B2 (en) * 2021-08-31 2023-09-12 Apple Inc. Configurable interface circuit
US11588750B1 (en) * 2021-09-16 2023-02-21 International Business Machines Corporation Dynamic orchestration of disaggregated resources
US11750581B1 (en) * 2021-09-17 2023-09-05 Graphiant, Inc. Secure communication network
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
US11567873B1 (en) * 2021-09-27 2023-01-31 Sap Se Extended cache for efficient object store access by a database
CN113595807B (zh) * 2021-09-28 2022-03-01 阿里云计算有限公司 计算机系统、rdma网卡及数据通信方法
US11553038B1 (en) * 2021-10-22 2023-01-10 Kyndryl, Inc. Optimizing device-to-device communication protocol selection in an edge computing environment
US20230145253A1 (en) * 2021-11-11 2023-05-11 Advanced Micro Devices, Inc. Reducing latency in highly scalable hpc applications via accelerator-resident runtime management
US11863376B2 (en) 2021-12-22 2024-01-02 Vmware, Inc. Smart NIC leader election
US11995024B2 (en) 2021-12-22 2024-05-28 VMware LLC State sharing between smart NICs
US20230222045A1 (en) * 2022-01-13 2023-07-13 Dell Products L.P. System and method for enhanced container deployment
US11971990B2 (en) 2022-01-13 2024-04-30 Dell Products L.P. System and method for container validation
US20230236889A1 (en) * 2022-01-27 2023-07-27 Microsoft Technology Licensing, Llc Distributed accelerator
US20230244664A1 (en) * 2022-02-02 2023-08-03 Samsung Electronics Co., Ltd. Hybrid database scan acceleration system
US11906800B2 (en) * 2022-03-25 2024-02-20 Arista Networks, Inc. High speed network device with orthogonal pluggable optics modules
US11747980B1 (en) 2022-05-19 2023-09-05 International Business Machines Corporation Decompression of a file
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
US11928367B2 (en) 2022-06-21 2024-03-12 VMware LLC Logical memory addressing for network devices
US11977505B2 (en) * 2022-07-29 2024-05-07 Dell Products L.P. Data center asset client bridging via a passthrough device

Family Cites Families (318)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2458153A (en) * 1946-06-07 1949-01-04 Festge Charles Safety device for electric plugs
US3651444A (en) * 1970-06-23 1972-03-21 Amp Inc Printed circuit board connector
US4176897A (en) * 1976-11-19 1979-12-04 Bunker Ramo Corporation EMI protected connector assembly
JPH0418226Y2 (de) * 1987-01-26 1992-04-23
US4863232A (en) * 1988-06-16 1989-09-05 Northern Telecom Limited Optical connector
US4890894A (en) * 1988-06-16 1990-01-02 Northern Telecom Limited Optical connector
JPH02222087A (ja) * 1989-02-23 1990-09-04 Toshiba Corp 記録媒体接続装置
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
US5372515A (en) * 1993-06-10 1994-12-13 Martin Marietta Corporation Mechanical ESD protector
JPH08138785A (ja) * 1994-11-10 1996-05-31 Yazaki Corp シャッター機構付コネクタ
US6785888B1 (en) 1997-08-29 2004-08-31 International Business Machines Corporation Memory allocator for a multiprocessor computer system
US6085295A (en) 1997-10-20 2000-07-04 International Business Machines Corporation Method of maintaining data coherency in a computer system having a plurality of interconnected nodes
US6115372A (en) 1998-02-04 2000-09-05 Newcom Technologies, Inc. Synchronous packet switching
US6367018B1 (en) 1998-02-05 2002-04-02 3Com Corporation Method for detecting dedicated link between an end station and a network device
US6058356A (en) * 1998-04-30 2000-05-02 Cooper Instrument Corporation Hand-held electronic instrument
AU6311299A (en) 1998-07-08 2000-02-01 Broadcom Corporation Network switching architecture with multiple table synchronization, and forwarding of both IP and IPX packets
US6714549B1 (en) 1998-12-23 2004-03-30 Worldcom, Inc. High resiliency network infrastructure
US6353885B1 (en) 1999-01-26 2002-03-05 Dell Usa, L.P. System and method for providing bios-level user configuration of a computer system
US6650620B1 (en) * 1999-05-04 2003-11-18 Tut Systems, Inc. Resource constrained routing in active networks
FR2801432B1 (fr) * 1999-11-19 2001-12-21 Marechal Sepm Socle de prise de courant muni d'un joint d'etancheite a soufflet
US6368129B1 (en) * 1999-12-24 2002-04-09 Delta Electronics, Inc. Electrical connector with outer and inner sleeves
US6678746B1 (en) 2000-08-01 2004-01-13 Hewlett-Packard Development Company, L.P. Processing network packets
JP3431015B2 (ja) 2000-11-17 2003-07-28 日本電気株式会社 回線終端装置のリンクレイヤープロトコル変更システム及び方法
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
US6731832B2 (en) 2001-02-28 2004-05-04 Lambda Opticalsystems Corporation Detection of module insertion/removal in a modular optical network, and methods and apparatus therefor
US20030028594A1 (en) 2001-07-31 2003-02-06 International Business Machines Corporation Managing intended group membership using domains
US6454580B1 (en) * 2001-08-22 2002-09-24 Hon Hai Precision Ind. Co., Ltd. Guide rail for receiving a GBIC module
JP2003296022A (ja) * 2002-04-01 2003-10-17 Pioneer Electronic Corp タッチパネル一体型表示装置
US8284844B2 (en) * 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
US7181531B2 (en) * 2002-04-30 2007-02-20 Microsoft Corporation Method to synchronize and upload an offloaded network stack connection with a network stack
EP1361671B1 (de) 2002-05-07 2007-11-21 Abb Research Ltd. Mikrowellenleiterbus für digitale Vorrichtungen
JP4406604B2 (ja) * 2002-06-11 2010-02-03 アシシュ エイ パンドヤ Tcp/ip、rdma、及びipストレージアプリケーションのための高性能ipプロセッサ
CN1266887C (zh) 2002-07-10 2006-07-26 华为技术有限公司 提供虚拟局域网段业务的虚拟交换机及方法
US8850223B1 (en) * 2002-07-19 2014-09-30 F5 Networks, Inc. Method and system for hard disk emulation and cryptographic acceleration on a blade server
AU2003270054A1 (en) 2002-09-03 2004-03-29 Thomson Licensing S.A. Mechanism for providing quality of service in a network utilizing priority and reserved bandwidth protocols
EP1579638A1 (de) 2002-12-02 2005-09-28 Operax AB Anordnungen und verfahren zur hierarchischen betriebsmittelverwaltung in einer geschichteten netzwerkarchitektur
US7231512B2 (en) * 2002-12-18 2007-06-12 Intel Corporation Technique for reconstituting a pre-boot firmware environment after launch of an operating system
US7987449B1 (en) * 2003-05-22 2011-07-26 Hewlett-Packard Development Company, L.P. Network for lifecycle management of firmware and software in electronic devices
WO2005013137A1 (ja) * 2003-08-04 2005-02-10 Fujitsu Limited データ転送処理方法
US7136958B2 (en) 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US8838772B2 (en) 2003-08-29 2014-09-16 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
US7689738B1 (en) * 2003-10-01 2010-03-30 Advanced Micro Devices, Inc. Peripheral devices and methods for transferring incoming data status entries from a peripheral to a host
US7826614B1 (en) * 2003-11-05 2010-11-02 Globalfoundries Inc. Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation
US7236588B2 (en) * 2003-12-12 2007-06-26 Nokia Corporation Interlocking cover for mobile terminals
US6952530B2 (en) * 2003-12-19 2005-10-04 The Aerospace Corporation Integrated glass ceramic systems
US7756008B2 (en) 2003-12-19 2010-07-13 At&T Intellectual Property Ii, L.P. Routing protocols with predicted outrage notification
KR100693663B1 (ko) * 2003-12-30 2007-03-14 엘지엔시스(주) 노드 장애 감지 방법 및 시스템
BRPI0417896A (pt) * 2004-01-07 2007-04-27 Dow Global Technologies Inc inserto absorvente de impacto para uma embalagem protetora, embalagem protetora para um artigo frágil e método para reter o inserto absorvente de impacto em um invólucro definido pelo usuário
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US7724532B2 (en) * 2004-07-02 2010-05-25 Apple Inc. Handheld computing device
US7712100B2 (en) 2004-09-14 2010-05-04 International Business Machines Corporation Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
EP1643710A1 (de) * 2004-09-30 2006-04-05 Nagravision S.A. Verfahren zum Aktualisieren einer Nachschlagetabelle mit Adressen und Identifizierungsnummern
JP2008527496A (ja) * 2004-12-29 2008-07-24 ネットセル コーポレイション 低減されたローカルバストラフィックでのディスクドライブ動作のためのインテリジェントストレージエンジン
CN1816003A (zh) 2005-02-06 2006-08-09 华为技术有限公司 一种异种链路协议的通信方法及其设备
US20060176524A1 (en) * 2005-02-08 2006-08-10 Willrich Scott Consulting Group, Inc. Compact portable document digitizer and organizer with integral display
US8526881B2 (en) * 2005-04-18 2013-09-03 The Boeing Company Mechanically isolated wireless communications system and method
US8059660B2 (en) 2005-04-22 2011-11-15 Nextel Communications Inc. Communications routing systems and methods
US7739677B1 (en) 2005-05-27 2010-06-15 Symantec Operating Corporation System and method to prevent data corruption due to split brain in shared data clusters
US7368307B2 (en) * 2005-06-07 2008-05-06 Eastman Kodak Company Method of manufacturing an OLED device with a curved light emitting surface
US9813283B2 (en) * 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US7884315B2 (en) * 2006-07-11 2011-02-08 Apple Inc. Invisible, light-transmissive display system
US8407424B2 (en) 2005-11-07 2013-03-26 Silicon Graphics International Corp. Data coherence method and apparatus for multi-node computer system
JP4770446B2 (ja) * 2005-12-20 2011-09-14 サンケン電気株式会社 電源装置の過熱保護回路、および直流電源装置
US7694160B2 (en) * 2006-08-31 2010-04-06 Ati Technologies Ulc Method and apparatus for optimizing power consumption in a multiprocessor environment
JP4172807B2 (ja) * 2006-09-08 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害発生の原因箇所の発見を支援する技術
WO2008035736A1 (fr) * 2006-09-22 2008-03-27 Nissha Printing Co., Ltd. Étui de boîtier, procédé de fabrication de l'étui de boîtier et insert en verre formant une filière utilisé dans le procédé
US8428071B2 (en) 2006-09-25 2013-04-23 Rockstar Consortium Us Lp Scalable optical-core network
US7962736B1 (en) 2006-10-03 2011-06-14 American Megatrends, Inc. Interactive pre-OS firmware update with repeated disabling of interrupts
KR100930576B1 (ko) * 2006-12-04 2009-12-09 한국전자통신연구원 가상화 기반 고가용성 클러스터 시스템 및 고가용성클러스터 시스템에서 장애 관리 방법
WO2008070191A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller
US7987469B2 (en) * 2006-12-14 2011-07-26 Intel Corporation RDMA (remote direct memory access) data transfer in a virtual environment
US7870316B1 (en) * 2006-12-29 2011-01-11 Unisys Corporation System and method for providing an inline data conversion for multiplexed data streams
US7668984B2 (en) 2007-01-10 2010-02-23 International Business Machines Corporation Low latency send queues in I/O adapter hardware
US8205205B2 (en) 2007-03-16 2012-06-19 Sap Ag Multi-objective allocation of computational jobs in client-server or hosting environments
US8341611B2 (en) * 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US7929474B2 (en) * 2007-06-22 2011-04-19 Vubiq Incorporated System and method for wireless communication in a backplane fabric architecture
US8897184B2 (en) 2007-06-22 2014-11-25 Vubiq Networks, Inc. System and method for wireless communication in a backplane fabric architecture
US8037272B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting multiple speed bus
US7921264B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Dual-mode memory chip for high capacity memory subsystem
US7996641B2 (en) * 2007-06-27 2011-08-09 International Business Machines Corporation Structure for hub for supporting high capacity memory subsystem
US8248928B1 (en) 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
US9143406B2 (en) 2007-10-17 2015-09-22 Verizon Patent And Licensing Inc. Apparatus, method and computer-readable storage medium for calculating throughput requirements of a network
US9003054B2 (en) * 2007-10-25 2015-04-07 Microsoft Technology Licensing, Llc Compressing null columns in rows of the tabular data stream protocol
KR100956638B1 (ko) * 2007-12-11 2010-05-11 한국전자통신연구원 대규모 클러스터 모니터링 시스템과 그의 자동 구축 및복구 방법
US7603428B2 (en) 2008-02-05 2009-10-13 Raptor Networks Technology, Inc. Software application striping
US8082418B2 (en) * 2007-12-17 2011-12-20 Intel Corporation Method and apparatus for coherent device initialization and access
US7953912B2 (en) * 2008-02-22 2011-05-31 International Business Machines Corporation Guided attachment of accelerators to computer systems
US8306652B2 (en) * 2008-03-14 2012-11-06 International Business Machines Corporation Dual-band communication of management traffic in a blade server system
US9391921B1 (en) * 2008-03-18 2016-07-12 Packeteer, Inc. Virtual bandwidth management deployment architectures
US8238087B2 (en) * 2010-01-06 2012-08-07 Apple Inc. Display module
JP5044510B2 (ja) * 2008-06-03 2012-10-10 株式会社東芝 筐体、電子機器、および筐体の製造方法
US7697281B2 (en) * 2008-09-05 2010-04-13 Apple Inc. Handheld computing device
JP2010103982A (ja) 2008-09-25 2010-05-06 Sony Corp ミリ波伝送装置、ミリ波伝送方法、ミリ波伝送システム
US8687359B2 (en) * 2008-10-13 2014-04-01 Apple Inc. Portable computer unified top case
US8713312B2 (en) * 2008-12-07 2014-04-29 Trend Micrio Incorporated Method and system for detecting data modification within computing device
US9170864B2 (en) 2009-01-29 2015-10-27 International Business Machines Corporation Data processing in a hybrid computing environment
CN102388003B (zh) * 2009-03-02 2014-11-19 苹果公司 用于强化用于便携式电子设备的玻璃盖的技术
US8493364B2 (en) * 2009-04-30 2013-07-23 Motorola Mobility Llc Dual sided transparent display module and portable electronic device incorporating the same
US8479220B2 (en) * 2009-06-04 2013-07-02 International Business Machines Corporation Automatically correlating transaction events
US20100312962A1 (en) * 2009-06-09 2010-12-09 Dekoning Rodney A N-way directly connected any to any controller architecture
US8554892B2 (en) * 2009-06-22 2013-10-08 Citrix Systems, Inc. Systems and methods for n-core statistics aggregation
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8832142B2 (en) 2010-08-30 2014-09-09 Oracle International Corporation Query and exadata support for hybrid columnar compressed data
US8776066B2 (en) * 2009-11-30 2014-07-08 International Business Machines Corporation Managing task execution on accelerators
WO2011083505A1 (en) * 2010-01-05 2011-07-14 Hitachi, Ltd. Method and server system for testing and executing migration between virtual servers
US9455937B2 (en) * 2010-01-07 2016-09-27 Force10 Networks, Inc. Distributed packet switch having a wireless control plane
EP2526505B1 (de) * 2010-01-20 2015-06-17 Intrinsic ID B.V. Vorrichtung und verfahren zum erhalt eines kryptographischen schlüssels
US8195883B2 (en) * 2010-01-27 2012-06-05 Oracle America, Inc. Resource sharing to reduce implementation costs in a multicore processor
US8463865B2 (en) * 2010-03-09 2013-06-11 Texas Instruments Incorporated Video synchronization with distributed modules
US8869138B2 (en) * 2011-11-11 2014-10-21 Wyse Technology L.L.C. Robust firmware update with recovery logic
US8442064B2 (en) 2010-03-19 2013-05-14 Juniper Networks, Inc. Virtual link aggregation of network traffic in an aggregation switch
US8264837B2 (en) * 2010-04-19 2012-09-11 Apple Inc. Systems and methods for cover assembly retention of a portable electronic device
US9300576B2 (en) 2010-05-03 2016-03-29 Pluribus Networks Inc. Methods, systems, and fabrics implementing a distributed network operating system
US8386855B2 (en) 2010-05-25 2013-02-26 Red Hat, Inc. Distributed healthchecking mechanism
US8898324B2 (en) * 2010-06-24 2014-11-25 International Business Machines Corporation Data access management in a hybrid memory server
US8914805B2 (en) * 2010-08-31 2014-12-16 International Business Machines Corporation Rescheduling workload in a hybrid computing environment
US8739171B2 (en) 2010-08-31 2014-05-27 International Business Machines Corporation High-throughput-computing in a hybrid computing environment
FR2964501B1 (fr) * 2010-09-07 2013-05-17 Schneider Electric Ind Sas Ensemble de prises electriques
US8824140B2 (en) * 2010-09-17 2014-09-02 Apple Inc. Glass enclosure
US8782339B2 (en) * 2010-10-11 2014-07-15 Open Invention Network, Llc Storage system having cross node data redundancy and method and computer readable medium for same
US8503879B2 (en) 2010-10-25 2013-08-06 Nec Laboratories America, Inc. Hybrid optical/electrical switching system for data center networks
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
US20120137289A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Protecting high priority workloads in a virtualized datacenter
US8996644B2 (en) * 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US9600429B2 (en) * 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
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
US8638767B2 (en) 2011-02-14 2014-01-28 Qualcomm Incorporated Multi-communication mode packet routing mechanism for wireless communications systems
US8892788B2 (en) * 2011-02-22 2014-11-18 Red Hat Israel, Ltd. Exposing a DMA engine to guests in a virtual machine system
US8861369B2 (en) * 2011-03-07 2014-10-14 Oracle International Corporation Virtual network interface with packet filtering hooks
US9025603B2 (en) 2011-03-08 2015-05-05 Qualcomm Incorporated Addressing scheme for hybrid communication networks
US20120240125A1 (en) * 2011-03-18 2012-09-20 Qnx Software Systems Co System Resource Management In An Electronic Device
US8462780B2 (en) * 2011-03-30 2013-06-11 Amazon Technologies, Inc. Offload device-based stateless packet processing
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
US8825900B1 (en) * 2011-04-05 2014-09-02 Nicira, Inc. Method and apparatus for stateless transport layer tunneling
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
US8745614B2 (en) * 2011-05-13 2014-06-03 Lsi Corporation Method and system for firmware upgrade of a storage subsystem hosted in a storage virtualization environment
US20120311127A1 (en) * 2011-05-31 2012-12-06 Microsoft Corporation Flyway Generation in Data Centers
US8400335B2 (en) * 2011-07-21 2013-03-19 International Business Machines Corporation Using variable length code tables to compress an input data stream to a compressed output data stream
EP2737718B1 (de) 2011-07-29 2019-09-04 Vubiq Networks Inc. System und verfahren zur drahtlosen kommunikation in einer backplane-vernetzungsarchitektur
US9240900B2 (en) 2011-09-06 2016-01-19 Texas Instruments Incorporated Wireless router system
US8943227B2 (en) * 2011-09-21 2015-01-27 Kevin Mark Klughart Data storage architecture extension system and method
US8825964B1 (en) * 2011-09-26 2014-09-02 Emc Corporation Adaptive integration of cloud data services with a data storage system
WO2012167533A1 (zh) * 2011-10-31 2012-12-13 华为技术有限公司 一种构建内存访问模型的方法及装置
US20130151725A1 (en) * 2011-12-13 2013-06-13 B Method and System for Handling a Domain Name Service Request
JP5573829B2 (ja) 2011-12-20 2014-08-20 富士通株式会社 情報処理装置およびメモリアクセス方法
US8788663B1 (en) 2011-12-20 2014-07-22 Amazon Technologies, Inc. Managing resource dependent workflows
JP6083687B2 (ja) 2012-01-06 2017-02-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 分散計算方法、プログラム、ホストコンピュータおよび分散計算システム(アクセラレータ装置を用いた分散並列計算)
CN104220981A (zh) * 2012-02-23 2014-12-17 惠普发展公司,有限责任合伙企业 用于修改有效固件的固件包
US9996394B2 (en) 2012-03-01 2018-06-12 Microsoft Technology Licensing, Llc Scheduling accelerator tasks on accelerators using graphs
ITRM20120094A1 (it) * 2012-03-14 2013-09-14 Istituto Naz Di Fisica Nuclea Re Scheda di interfaccia di rete per nodo di rete di calcolo parallelo su gpu, e relativo metodo di comunicazione internodale
JP5884578B2 (ja) * 2012-03-16 2016-03-15 富士通株式会社 アクセラレータ管理装置、アクセラレータ管理方法および入出力装置
EP3654178B1 (de) * 2012-03-30 2023-07-12 Intel Corporation Vorrichtung zur erzeugung von anfragen an einen beschleuniger aus mehreren threads
US9158686B2 (en) * 2012-03-30 2015-10-13 Altera Corporation Processing system and method including data compression API
WO2013152311A1 (en) * 2012-04-06 2013-10-10 Live Nation Entertainment, Inc. Methods and systems of inhibiting automated scripts from accessing a ticket site
WO2013158511A1 (en) 2012-04-16 2013-10-24 Dinan Esmael Hejazi Cell group configuration for uplink transmission in a multicarrier wireless device and base station with timing advance groups
US8983293B2 (en) 2012-04-25 2015-03-17 Ciena Corporation Electro-optical switching fabric systems and methods
US9223634B2 (en) 2012-05-02 2015-12-29 Cisco Technology, Inc. System and method for simulating virtual machine migration in a network environment
US9665521B2 (en) 2012-05-18 2017-05-30 Dell Products, Lp System and method for providing a processing node with input/output functionality by an I/O complex switch
US9110761B2 (en) * 2012-06-27 2015-08-18 Microsoft Technology Licensing, Llc Resource data structures for firmware updates
US9391841B2 (en) 2012-07-03 2016-07-12 Solarflare Communications, Inc. Fast linkup arbitration
US8838577B2 (en) * 2012-07-24 2014-09-16 International Business Machines Corporation Accelerated row decompression
CN103577266B (zh) * 2012-07-31 2017-06-23 国际商业机器公司 用于对现场可编程门阵列资源进行分配的方法及系统
US8887056B2 (en) 2012-08-07 2014-11-11 Advanced Micro Devices, Inc. System and method for configuring cloud computing systems
US9152532B2 (en) * 2012-08-07 2015-10-06 Advanced Micro Devices, Inc. System and method for configuring a cloud computing system with a synthetic test workload
CN103634330A (zh) 2012-08-20 2014-03-12 曙光信息产业(北京)有限公司 一种云计算环境下的资源自动分配方法
US8872677B2 (en) * 2013-03-15 2014-10-28 Dialogic Networks (Israel) Ltd. Method and apparatus for compressing data-carrying signals
CN102882811B (zh) 2012-09-10 2016-04-13 西安电子科技大学 基于阵列波导光栅的数据中心光互连网络系统及通信方法
US9026765B1 (en) 2012-09-11 2015-05-05 Emc Corporation Performing write operations in a multi-tiered storage environment
US9213649B2 (en) * 2012-09-24 2015-12-15 Oracle International Corporation Distributed page-table lookups in a shared-memory system
US9253053B2 (en) 2012-10-11 2016-02-02 International Business Machines Corporation Transparently enforcing policies in hadoop-style processing infrastructures
US10505747B2 (en) * 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
TWI568335B (zh) 2013-01-15 2017-01-21 英特爾股份有限公司 架組成件結構
EP2946296A4 (de) 2013-01-17 2016-11-16 Xockets Ip Llc Weitergabe von prozessormodulen zur verbindung mit einem systemspeicher
US9203699B2 (en) 2014-02-11 2015-12-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Constructing and verifying switch fabric cabling schemes
US9817699B2 (en) * 2013-03-13 2017-11-14 Elasticbox Inc. Adaptive autoscaling for virtualized applications
US9335950B2 (en) * 2013-03-15 2016-05-10 Western Digital Technologies, Inc. Multiple stream compression and formatting of data for data storage systems
US9312591B2 (en) * 2013-03-19 2016-04-12 Texas Instruments Incorporated Dielectric waveguide with corner shielding
US9384204B2 (en) * 2013-05-22 2016-07-05 Amazon Technologies, Inc. Efficient data compression and analysis as a service
US9424079B2 (en) 2013-06-27 2016-08-23 Microsoft Technology Licensing, Llc Iteration support in a heterogeneous dataflow engine
US9652470B2 (en) * 2013-07-01 2017-05-16 International Business Machines Corporation Storing data in a dispersed storage network
CN104297871B (zh) 2013-07-19 2017-11-10 泰科电子(上海)有限公司 光纤互连系统及方法
US9613394B2 (en) * 2013-08-28 2017-04-04 Intel Corporation Lossy color compression using adaptive quantization
US9444914B2 (en) * 2013-09-16 2016-09-13 Annapurna Labs Ltd. Configurable parser and a method for parsing information units
US9575782B2 (en) 2013-10-13 2017-02-21 Nicira, Inc. ARP for logical router
CN106537863B (zh) 2013-10-17 2019-11-26 马维尔国际贸易有限公司 用于并发地处理网络分组的方法和设备
CN105793839B (zh) * 2013-12-20 2019-08-06 英特尔公司 执行卸载
US9619381B2 (en) * 2013-12-24 2017-04-11 International Business Machines Corporation Collaborative health management in a storage system
US9336056B2 (en) * 2013-12-31 2016-05-10 International Business Machines Corporation Extendible input/output data mechanism for accelerators
US20150205542A1 (en) * 2014-01-22 2015-07-23 Vmware, Inc. Virtual machine migration in shared storage environment
GB2522650A (en) 2014-01-31 2015-08-05 Ibm Computer system with groups of processor boards
US9549196B2 (en) * 2014-02-04 2017-01-17 Microsoft Technology Licensing, Llc Data unit identification for compressed video streams
US9671857B2 (en) * 2014-03-25 2017-06-06 Qualcomm Incorporated Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain
US9496592B2 (en) 2014-03-27 2016-11-15 Intel Corporation Rack level pre-installed interconnect for enabling cableless server/storage/networking deployment
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9294304B2 (en) * 2014-03-31 2016-03-22 Juniper Networks, Inc. Host network accelerator for data center overlay network
US9813258B2 (en) 2014-03-31 2017-11-07 Tigera, Inc. Data center networks
US10218645B2 (en) * 2014-04-08 2019-02-26 Mellanox Technologies, Ltd. Low-latency processing in a network node
CN104009941A (zh) 2014-05-16 2014-08-27 江苏鼎云信息科技有限公司 一种基于阵列波导光栅的数据中心机架内部网络结构
US9509434B2 (en) 2014-05-19 2016-11-29 Ciena Corporation Margin-based optimization systems and methods in optical networks by intentionally reducing margin
CA2951695A1 (en) * 2014-06-13 2015-12-17 Lord Corporation System and method for monitoring component service life
US10382279B2 (en) * 2014-06-30 2019-08-13 Emc Corporation Dynamically composed compute nodes comprising disaggregated components
EP3164977B1 (de) 2014-07-03 2020-03-25 ABB Schweiz AG Vorrichtung und verfahren zur verarbeitung von daten
US20160196131A1 (en) * 2014-07-07 2016-07-07 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US20160050194A1 (en) 2014-08-18 2016-02-18 Tawkur LLC Web-based governance of messaging services
US9367343B2 (en) * 2014-08-29 2016-06-14 Red Hat Israel, Ltd. Dynamic batch management of shared buffers for virtual machines
US9686143B2 (en) 2014-09-24 2017-06-20 Intel Corporation Mechanism for management controllers to learn the control plane hierarchy in a data center environment
US9378461B1 (en) * 2014-09-26 2016-06-28 Oracle International Corporation Rule based continuous drift and consistency management for complex systems
USD810031S1 (en) * 2014-09-26 2018-02-13 Intel Corporation Protective cover for an electronic connector
US9425543B2 (en) * 2014-09-26 2016-08-23 Intel Corporation Protective cover for a connector
US9721660B2 (en) 2014-10-24 2017-08-01 Microsoft Technology Licensing, Llc Configurable volatile memory without a dedicated power source for detecting a data save trigger condition
US9612651B2 (en) * 2014-10-27 2017-04-04 Futurewei Technologies, Inc. Access based resources driven low power control and management for multi-core system on a chip
WO2016069011A1 (en) 2014-10-31 2016-05-06 Hewlett Packard Enterprise Development Lp Management controller
US9774503B2 (en) 2014-11-03 2017-09-26 Intel Corporation Method, apparatus and system for automatically discovering nodes and resources in a multi-node system
US10489145B2 (en) 2014-11-14 2019-11-26 Hewlett Packard Enterprise Development Lp Secure update of firmware and software
EP3024175B1 (de) * 2014-11-19 2019-07-31 Tanaza S.p.A. Verfahren und system zur fernverwaltung von netzwerkvorrichtungen
US9612765B2 (en) 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
US9749448B2 (en) 2014-11-25 2017-08-29 Intel Corporation Header parity error handling
JP6147240B2 (ja) 2014-12-05 2017-06-14 キヤノン株式会社 情報処理装置、該装置の制御方法、並びにプログラム
US9733980B1 (en) 2014-12-05 2017-08-15 Amazon Technologies, Inc. Virtual machine management using I/O device logging
US10355935B2 (en) 2014-12-09 2019-07-16 Ciena Corporation Reduced link bandwidth update systems and methods for improved scalability, efficiency, and performance
KR20160070512A (ko) * 2014-12-10 2016-06-20 삼성전자주식회사 반도체 장치 및 그 동작 방법
US9846576B2 (en) * 2014-12-27 2017-12-19 Intel Corporation Technologies for reprogramming network interface cards over a network
US9507581B2 (en) * 2015-01-14 2016-11-29 Dell Products Lp Systems and methods of device firmware delivery for pre-boot updates
US10198183B2 (en) 2015-02-06 2019-02-05 Liqid Inc. Tunneling of storage operations between storage nodes
US9648402B2 (en) 2015-02-10 2017-05-09 Ciena Corporation In-band communication channel in optical networks
JP6476018B2 (ja) 2015-03-10 2019-02-27 日本光電工業株式会社 プローブ
US9734311B1 (en) * 2015-03-17 2017-08-15 American Megatrends, Inc. Secure authentication of firmware configuration updates
US20160306677A1 (en) * 2015-04-14 2016-10-20 Globalfoundries Inc. Automatic Analytical Cloud Scaling of Hardware Using Resource Sub-Cloud
US9753653B2 (en) * 2015-04-14 2017-09-05 Sandisk Technologies Llc High-priority NAND operations management
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
IL238690B (en) * 2015-05-07 2019-07-31 Mellanox Technologies Ltd Network-based computational accelerator
US10244032B2 (en) * 2015-06-04 2019-03-26 Juniper Networks, Inc. Reducing application detection notification traffic
US10587935B2 (en) * 2015-06-05 2020-03-10 Quanta Computer Inc. System and method for automatically determining server rack weight
US9606836B2 (en) * 2015-06-09 2017-03-28 Microsoft Technology Licensing, Llc Independently networkable hardware accelerators for increased workflow optimization
US10733164B2 (en) * 2015-06-23 2020-08-04 Microsoft Technology Licensing, Llc Updating a bit vector search index
US10372914B2 (en) * 2015-06-24 2019-08-06 Lenovo (Singapore) Pte. Ltd. Validating firmware on a computing device
US9674090B2 (en) * 2015-06-26 2017-06-06 Microsoft Technology Licensing, Llc In-line network accelerator
US10061596B2 (en) * 2015-07-10 2018-08-28 Dell Products L.P. Systems and methods for loading firmware modules
US9715475B2 (en) * 2015-07-21 2017-07-25 BigStream Solutions, Inc. Systems and methods for in-line stream processing of distributed dataflow based computations
US9891935B2 (en) 2015-08-13 2018-02-13 Altera Corporation Application-based dynamic heterogeneous many-core systems and methods
CN105183561B (zh) 2015-09-02 2018-09-14 浪潮(北京)电子信息产业有限公司 一种资源分配方法和系统
US10530692B2 (en) 2015-09-04 2020-01-07 Arista Networks, Inc. Software FIB ARP FEC encoding
US9484954B1 (en) * 2015-09-10 2016-11-01 Intel Corporation Methods and apparatus to parallelize data decompression
US20170076195A1 (en) * 2015-09-10 2017-03-16 Intel Corporation Distributed neural networks for scalable real-time analytics
DE112015006944B4 (de) 2015-09-25 2023-03-23 Intel Corporation Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
US10846411B2 (en) * 2015-09-25 2020-11-24 Mongodb, Inc. Distributed database systems and methods with encrypted storage engines
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
US9690488B2 (en) * 2015-10-19 2017-06-27 Intel Corporation Data compression using accelerator with multiple search engines
US20170116003A1 (en) 2015-10-27 2017-04-27 International Business Machines Corporation Dynamic determination of the applicability of a hardware accelerator to a request
US10127032B2 (en) * 2015-11-05 2018-11-13 Quanta Computer Inc. System and method for unified firmware management
US9996473B2 (en) * 2015-11-13 2018-06-12 Samsung Electronics., Ltd Selective underlying exposure storage mapping
US9946642B2 (en) * 2015-11-13 2018-04-17 Samsung Electronics Co., Ltd Distributed multimode storage management
US10206297B2 (en) 2015-11-23 2019-02-12 Liqid Inc. Meshed architecture rackmount storage assembly
US10169073B2 (en) * 2015-12-20 2019-01-01 Intel Corporation Hardware accelerators and methods for stateful compression and decompression operations
WO2017111935A1 (en) 2015-12-22 2017-06-29 Halliburton Energy Services, Inc. Selective nmr pulse for downhole measurements
US10445271B2 (en) * 2016-01-04 2019-10-15 Intel Corporation Multi-core communication acceleration using hardware queue device
WO2017120403A1 (en) 2016-01-08 2017-07-13 Blue Danube Systems, Inc. Antenna mapping and diversity
US9832548B2 (en) 2016-01-29 2017-11-28 Ciena Corporation Flexible behavior modification during restoration in optical networks
JP6897574B2 (ja) * 2016-01-29 2021-06-30 日本電気株式会社 アクセラレータ制御装置、アクセラレータ制御方法およびプログラム
US10162682B2 (en) * 2016-02-16 2018-12-25 Red Hat, Inc. Automatically scaling up physical resources in a computing infrastructure
US10778809B2 (en) 2016-02-26 2020-09-15 Arista Networks, Inc. Per-input port, per-control plane network data traffic class control plane policing
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
US9852040B1 (en) * 2016-03-09 2017-12-26 Altera Corporation Methods for updating memory maps of a system-on-chip
US10187290B2 (en) 2016-03-24 2019-01-22 Juniper Networks, Inc. Method, system, and apparatus for preventing tromboning in inter-subnet traffic within data center architectures
US10120582B1 (en) * 2016-03-30 2018-11-06 Amazon Technologies, Inc. Dynamic cache management in storage devices
JP2017187889A (ja) * 2016-04-04 2017-10-12 京セラドキュメントソリューションズ株式会社 設定実行システムおよび設定実行プログラム
US10142397B2 (en) * 2016-04-05 2018-11-27 International Business Machines Corporation Network file transfer including file obfuscation
US10305815B2 (en) 2016-04-29 2019-05-28 Huawei Technologies Co., Ltd. System and method for distributed resource management
US11681770B2 (en) 2016-05-16 2023-06-20 International Business Machines Corporation Determining whether to process identified uniform resource locators
US20180004835A1 (en) * 2016-06-30 2018-01-04 Facebook, Inc. Data classification workflows implemented with dynamically modifiable directed graphs
CN105979007B (zh) 2016-07-04 2020-06-02 华为技术有限公司 加速资源处理方法、装置及网络功能虚拟化系统
US10404800B2 (en) * 2016-07-15 2019-09-03 Hewlett Packard Enterprise Development Lp Caching network fabric for high performance computing
US20180024964A1 (en) * 2016-07-19 2018-01-25 Pure Storage, Inc. Disaggregated compute resources and storage resources in a storage system
US10390114B2 (en) 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US10234833B2 (en) 2016-07-22 2019-03-19 Intel Corporation Technologies for predicting power usage of a data center
US10686688B2 (en) 2016-07-22 2020-06-16 Intel Corporation Methods and apparatus to reduce static and dynamic fragmentation impact on software-defined infrastructure architectures
US10387303B2 (en) * 2016-08-16 2019-08-20 Western Digital Technologies, Inc. Non-volatile storage system with compute engine to accelerate big data applications
US10467195B2 (en) 2016-09-06 2019-11-05 Samsung Electronics Co., Ltd. Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system
US10277677B2 (en) * 2016-09-12 2019-04-30 Intel Corporation Mechanism for disaggregated storage class memory over fabric
US20180089324A1 (en) * 2016-09-26 2018-03-29 Splunk Inc. Dynamic resource allocation for real-time search
US10740468B2 (en) * 2016-09-30 2020-08-11 Hewlett Packard Enterprise Development Lp Multiple roots of trust to verify integrity
US11036552B2 (en) * 2016-10-25 2021-06-15 International Business Machines Corporation Cognitive scheduler
US10404614B2 (en) * 2016-11-21 2019-09-03 Vmware, Inc. Multi-cloud resource allocation
EP3549350A4 (de) 2016-11-29 2021-03-24 Intel Corporation Technologien für millimeterwellen-rack-verbindungen
US20180150256A1 (en) 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
US10599590B2 (en) 2016-11-30 2020-03-24 International Business Machines Corporation Uniform memory access architecture
US10114633B2 (en) * 2016-12-08 2018-10-30 International Business Machines Corporation Concurrent I/O enclosure firmware/field-programmable gate array (FPGA) update in a multi-node environment
BR112019009566A2 (pt) 2016-12-12 2019-08-06 Intel Corp aparelhos e métodos para uma arquitetura de processador
US10282296B2 (en) * 2016-12-12 2019-05-07 Intel Corporation Zeroing a cache line
US10404836B2 (en) * 2016-12-26 2019-09-03 Intel Corporation Managing state data in a compression accelerator
US20180191629A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Time-based flexible packet scheduling
KR20180106202A (ko) 2017-03-17 2018-10-01 주식회사 만도 차량용 쇽업소버
US10630654B2 (en) * 2017-03-22 2020-04-21 Microsoft Technology Licensing, Llc Hardware-accelerated secure communication management
US11094029B2 (en) * 2017-04-10 2021-08-17 Intel Corporation Abstraction layers for scalable distributed machine learning
US10324706B1 (en) * 2017-05-09 2019-06-18 Amazon Technologies, Inc. Automated software deployment for electromechanical systems
US10311002B2 (en) * 2017-05-15 2019-06-04 International Business Machines Corporation Selectable peripheral logic in programmable apparatus
US11119835B2 (en) 2017-08-30 2021-09-14 Intel Corporation Technologies for providing efficient reprovisioning in an accelerator device
US20190044809A1 (en) 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
US20190065253A1 (en) 2017-08-30 2019-02-28 Intel Corporation Technologies for pre-configuring accelerators by predicting bit-streams
US20190068466A1 (en) 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
US10841243B2 (en) * 2017-11-08 2020-11-17 Mellanox Technologies, Ltd. NIC with programmable pipeline
US11394666B2 (en) * 2017-12-18 2022-07-19 Intel Corporation Scalable communication with a packet processing unit
US11263162B2 (en) * 2017-12-20 2022-03-01 Intel Corporation System decoder for training accelerators
US11270201B2 (en) * 2017-12-29 2022-03-08 Intel Corporation Communication optimizations for distributed machine learning
US10613847B2 (en) * 2018-02-13 2020-04-07 Dell Products, L.P. Information handling system to treat demoted firmware with replacement firmware
US11630693B2 (en) * 2018-04-12 2023-04-18 Intel Corporation Technologies for power-aware scheduling for network packet processing
US11223606B2 (en) 2018-06-29 2022-01-11 Intel Corporation Technologies for attesting a deployed workload using blockchain
US11507430B2 (en) * 2018-09-27 2022-11-22 Intel Corporation Accelerated resource allocation techniques
US11301407B2 (en) * 2019-01-08 2022-04-12 Intel Corporation Technologies for accelerator fabric protocol multipathing
US11003539B2 (en) 2019-01-15 2021-05-11 EMC IP Holding Company LLC Offload processing using a storage slot
US20200241926A1 (en) 2019-01-24 2020-07-30 Intel Corporation Selection and management of disaggregated computing resources
US20190207868A1 (en) * 2019-02-15 2019-07-04 Intel Corporation Processor related communications
CN113396401A (zh) 2019-03-15 2021-09-14 英特尔公司 多贴片存储器管理
US20200341810A1 (en) 2019-04-24 2020-10-29 Intel Corporation Technologies for providing an accelerator device discovery service
US10949362B2 (en) * 2019-06-28 2021-03-16 Intel Corporation Technologies for facilitating remote memory requests in accelerator devices
US20210209035A1 (en) 2020-12-26 2021-07-08 Intel Corporation Memory accesses using a memory hub

Also Published As

Publication number Publication date
US20220107741A1 (en) 2022-04-07
US20180151975A1 (en) 2018-05-31
US10963176B2 (en) 2021-03-30
US10191684B2 (en) 2019-01-29
US20180150240A1 (en) 2018-05-31
DE102018214776A1 (de) 2018-12-06
US20180150330A1 (en) 2018-05-31
WO2018102414A1 (en) 2018-06-07
US10712963B2 (en) 2020-07-14
US10732879B2 (en) 2020-08-04
US10990309B2 (en) 2021-04-27
US11200104B2 (en) 2021-12-14
US11137922B2 (en) 2021-10-05
US11354053B2 (en) 2022-06-07
US10628068B2 (en) 2020-04-21
WO2018102456A1 (en) 2018-06-07
US20180150256A1 (en) 2018-05-31
US10268412B2 (en) 2019-04-23
US20180150298A1 (en) 2018-05-31
US20210141552A1 (en) 2021-05-13
US10824360B2 (en) 2020-11-03
US20210271403A1 (en) 2021-09-02
DE102018006893A1 (de) 2018-12-06
US11907557B2 (en) 2024-02-20
US20180150372A1 (en) 2018-05-31
US11687264B2 (en) 2023-06-27
WO2018102416A1 (en) 2018-06-07
US20180150471A1 (en) 2018-05-31
US20180152202A1 (en) 2018-05-31
US20180152366A1 (en) 2018-05-31
US10635338B2 (en) 2020-04-28
US20180152200A1 (en) 2018-05-31
US20230176919A1 (en) 2023-06-08
US20180150343A1 (en) 2018-05-31
US11429297B2 (en) 2022-08-30
US20180150644A1 (en) 2018-05-31
US20220179575A1 (en) 2022-06-09
US10768842B2 (en) 2020-09-08
US20180150334A1 (en) 2018-05-31
US10768841B2 (en) 2020-09-08
DE102018006890B4 (de) 2023-09-21
US20190307014A1 (en) 2019-10-03
US11995330B2 (en) 2024-05-28
US20180152317A1 (en) 2018-05-31
US20180152201A1 (en) 2018-05-31
US20210365199A1 (en) 2021-11-25
US10824358B2 (en) 2020-11-03
US20180152540A1 (en) 2018-05-31
WO2018102443A1 (en) 2018-06-07
US20220317906A1 (en) 2022-10-06
US20240143410A1 (en) 2024-05-02
DE102018214774A1 (de) 2019-01-24
DE102018214775A1 (de) 2018-12-06
US20230195346A1 (en) 2023-06-22
US20210318823A1 (en) 2021-10-14
US10747457B2 (en) 2020-08-18
US20180150293A1 (en) 2018-05-31
US11579788B2 (en) 2023-02-14
US20180152383A1 (en) 2018-05-31
US20200393986A1 (en) 2020-12-17
WO2018102441A1 (en) 2018-06-07
US20200356294A1 (en) 2020-11-12
DE102018006894A1 (de) 2018-12-06
US10795595B2 (en) 2020-10-06
US20180150391A1 (en) 2018-05-31
US11977923B2 (en) 2024-05-07
US20180150299A1 (en) 2018-05-31
US11029870B2 (en) 2021-06-08
US11307787B2 (en) 2022-04-19

Similar Documents

Publication Publication Date Title
DE102018006890B4 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
DE102018212479A1 (de) Technologien zum Verwalten einer flexiblen Host-Schnittstelle eines Netzwerkschnittstellen-Controllers
DE112017003684T5 (de) Technologien zum vermitteln von netzwerkverkehr in einem datenzentrum
DE112020001833T5 (de) Netzwerkschnittstelle für Datentransport in heterogenen Rechenumgebungen
DE112020007201T5 (de) Speicherzuordnung für verteilte Verarbeitungsvorrichtungen
DE102020125046A1 (de) Konfigurationsschnittstelle zum auslagern von fähigkeiten an eine netzwerkschnittstelle
US20210255915A1 (en) Cloud-based scale-up system composition
DE102018006546A1 (de) Plattformschnittstellenschicht und protokoll für beschleuniger
DE102018004327A1 (de) Systeme und Verfahren zum Zugreifen auf Massenspeicher als Arbeitsspeicher
DE102020201834A1 (de) Technologien für netzvorrichtungslastausgleichseinrichtungen für beschleunigte funktionen-als-dienst
DE102020110582A1 (de) TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG
DE102022107778A1 (de) Adressübersetzung an einer zielnetzwerk-schnittstellenvorrichtung
DE102022126611A1 (de) Service-mesh-auslagerung an netzwerkvorrichtungen
DE112021001470T5 (de) Konfigurieren von datenverarbeitungsknoten in einer dreidimensionalen netztopologie
DE102020130555A1 (de) Adaptiver datenversand basierend auf lastfunktionen
DE102022119909A1 (de) Reduzierte netzwerkbelastung mit kombiniertem put oder get und vom empfänger verwaltetem offset
DE102018130446B4 (de) Techniken zum Ethernet-Gateway-Überlastungsmanagement in Hochleistungs-Computerarchitekturen
DE102020114020A1 (de) Technologien zum bereitstellen von effizientem nachrichten-polling
DE102018212478A1 (de) Technologien zum bereitstellen eines aufgeteilten speicherpools für vollständige rackkonnektivität
DE102018212476A1 (de) Technologien zum bereitstellen von effizientem pooling für eine hyperkonvergente infrastruktur

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division