DE102018006890A1 - Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller - Google Patents
Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 32
- 238000005516 engineering process Methods 0.000 title abstract description 7
- 230000015654 memory Effects 0.000 claims abstract description 279
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 64
- 230000009471 action Effects 0.000 claims description 22
- 230000001133 acceleration Effects 0.000 claims description 10
- 230000003287 optical effect Effects 0.000 description 78
- 239000002184 metal Substances 0.000 description 61
- 238000004891 communication Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 20
- 230000006855 networking Effects 0.000 description 15
- 238000007726 management method Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 14
- 230000011664 signaling Effects 0.000 description 13
- 238000001816 cooling Methods 0.000 description 12
- 239000003795 chemical substances by application Substances 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000004744 fabric Substances 0.000 description 5
- 230000013011 mating Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- JQGGAELIYHNDQS-UHFFFAOYSA-N Nic 12 Natural products CC(C=CC(=O)C)c1ccc2C3C4OC4C5(O)CC=CC(=O)C5(C)C3CCc2c1 JQGGAELIYHNDQS-UHFFFAOYSA-N 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101100116570 Caenorhabditis elegans cup-2 gene Proteins 0.000 description 1
- 101100116572 Drosophila melanogaster Der-1 gene Proteins 0.000 description 1
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052798 chalcogen Inorganic materials 0.000 description 1
- 150000001787 chalcogens Chemical class 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000010583 slow cooling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0709—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring 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/3079—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/73—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/76—Protecting 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent 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/3891—Concurrent 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R13/00—Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
- H01R13/44—Means for preventing access to live contacts
- H01R13/447—Shutter or cover plate
- H01R13/453—Shutter or cover plate opened by engagement of counterpart
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R13/00—Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
- H01R13/44—Means for preventing access to live contacts
- H01R13/447—Shutter or cover plate
- H01R13/453—Shutter or cover plate opened by engagement of counterpart
- H01R13/4536—Inwardly pivoting shutter
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R13/00—Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
- H01R13/44—Means for preventing access to live contacts
- H01R13/447—Shutter or cover plate
- H01R13/453—Shutter or cover plate opened by engagement of counterpart
- H01R13/4538—Covers sliding or withdrawing in the direction of engagement
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R13/00—Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
- H01R13/62—Means for facilitating engagement or disengagement of coupling parts or for holding them in engagement
- H01R13/629—Additional means for facilitating engagement or disengagement of coupling parts, e.g. aligning or guiding means, levers, gas pressure electrical locking indicators, manufacturing tolerances
- H01R13/631—Additional 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1731—Optimisation thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
- H03M7/6029—Pipelining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/2878—Access multiplexer, e.g. DSLAM
- H04L12/2879—Access multiplexer, e.g. DSLAM characterised by the network type on the uplink side, i.e. towards the service provider network
- H04L12/2881—IP/Ethernet DSLAM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/104—Asynchronous transfer mode [ATM] switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0822—Key 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
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1438—Back panels or connecting means therefor; Terminals; Coding means to avoid wrong insertion
- H05K7/1452—Mounting of connectors; Switching; Reinforcing of back panels
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1485—Servers; Data center rooms, e.g. 19-inch computer racks
- H05K7/1487—Blade assemblies, e.g. blade cases or inner arrangements within a blade
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1485—Servers; Data center rooms, e.g. 19-inch computer racks
- H05K7/1488—Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
- H05K7/1491—Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures having cable management arrangements
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1485—Servers; Data center rooms, e.g. 19-inch computer racks
- H05K7/1488—Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
- H05K7/1492—Cabinets 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1438—Back panels or connecting means therefor; Terminals; Coding means to avoid wrong insertion
- H05K7/1447—External 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 indische Patentanmeldung Nr. 201741030632 - 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 aus1 ; -
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 der1 ,3 und4 eingerichtet werden kann; -
6 ist ein Schaubild einer Rack-Architektur, die für eine Architektur eines beliebigen der in1 bis4 gezeigten Racks gemäß einigen Ausführungsformen repräsentativ sein kann; -
7 ist ein Schaubild eines Ausführungsbeispiels eines SLED, das mit der Rack-Architektur aus6 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 aus8 implementiert ist; -
10 ist ein Schaubild eines Ausführungsbeispiels eines SLED, das zur Verwendung zusammen mit dem Rack aus9 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 aus12 eingerichtet werden kann; -
14 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform einer weiteren Umgebung, die durch den intelligenten NIC aus12 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 der12-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 der13 und14 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 der13 und14 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 der13 und14 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 der13 und14 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 Datenzentrums100 , 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 in1 gezeigt ist, kann das Datenzentrum100 im Allgemeinen mehrere Racks enthalten, die jeweils eine Rechenausrüstung aufnehmen können, die einen jeweiligen Satz von physischen Ressourcen umfasst. In dem in1 gezeigten, nicht einschränkenden besonderen Beispiel enthält das Datenzentrum100 vier Racks102A bis102D , die eine Rechenausrüstung aufnehmen, die jeweilige Sätze von physischen Ressourcen (PCRs)105A bis105D umfasst. Gemäß diesem Beispiel umfasst ein gemeinsamer Satz von physischen Ressourcen106 des Datenzentrums100 die verschiedenen Sätze von physischen Ressourcen105A bis105D , die über die Racks102A bis102D verteilt sind. Die physischen Ressourcen106 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 Rack102A ,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. Kategorie5 , Kategorie5e , Kategorie6 usw.). Aufgrund der Zusammenschaltungen und der Netzwerkarchitektur mit hoher Bandbreite und geringer Latenz kann das Datenzentrum100 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 Datenzentrum100 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 Datenzentrums100 können physische Ausführungsmerkmale aufweisen, die die Automatisierung einer Vielfalt von Arten von Wartungsaufgaben erleichtern. Zum Beispiel kann das Datenzentrum100 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 Racks102A ,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 Racks202 des Datenzentrums100 . Wie in2 gezeigt ist, kann das Rack202 im Allgemeinen mehrere SLEDs aufnehmen, die jeweils einen jeweiligen Satz von physischen Ressourcen umfassen können. In dem in2 gezeigten besonderen, nicht einschränkenden Beispiel nimmt das Rack202 die SLEDs204 -1 bis204 -4 auf, die jeweilige Sätze von physischen Ressourcen205 -1 bis205 -4 umfassen, die jeweils einen Abschnitt des gemeinsamen Satzes von physischen Ressourcen206 bilden, die im Rack202 enthalten sind. Mit Bezug auf1 können, falls das Rack202 zum Beispiel für das Rack102A repräsentativ ist, die physischen Ressourcen206 den physischen Ressourcen105A , die im Rack102A enthalten sind, entsprechen. Im Zusammenhang mit diesem Beispiel können die physischen Ressourcen105A somit aus den jeweiligen Sätzen von physischen Ressourcen erstellt werden, einschließlich der physischen Speicherressourcen205 -1 , der physischen Beschleunigerressourcen205 -2 , der physischen Arbeitsspeicherressourcen205 -3 und der physischen Rechenressourcen205 -5 , die in den SLEDs204 -1 bis204 -4 des Racks202 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 Datenzentrum300 , 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 in3 gezeigten besonderen, nicht einschränkenden Beispiel umfasst das Datenzentrum die Racks302 -1 bis302 -32 . In verschiedenen Ausführungsformen können die Racks des Datenzentrums300 auf eine solche Weise angeordnet sein, dass verschiedene Zugriffswege definiert und/oder untergebracht werden. Zum Beispiel können, wie in3 gezeigt ist, die Racks des Datenzentrums300 so angeordnet sein, dass die Zugriffswege311A ,311B ,311C und311D 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 Datenzentrums300 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 Zugriffswege311A ,311B ,311C und311D , die Abmessungen der Racks302 -1 bis302 -32 und/oder eine oder mehrere Aspekte der physischen Gestaltung des Datenzentrums300 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 Datenzentrum400 , 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 in4 gezeigt ist, kann das Datenzentrum400 eine optische Struktur412 aufweisen. Die optische Struktur412 kann im Allgemeinen eine Kombination aus optischen Zeichengabemedien (wie eine optische Verkabelung) und einer optischen Schaltinfrastruktur umfassen, über die jedes besondere SLED im Datenzentrum400 Signale an jedes der anderen SLEDs im Datenzentrum400 senden (und Signale von diesen empfangen) kann. Die Zeichengabevernetzung, die die optische Struktur412 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 in4 gezeigten besonderen, nicht einschränkenden Beispiel umfasst das Datenzentrum400 vier Racks402A bis402D . Die Racks402A bis402D nehmen jeweilige Paare von SLEDs404A -1 und404A -2 ,404B -1 und404B -2 ,404C -1 und404C -2 und404D -1 und404D -2 auf. Somit umfasst das Datenzentrum400 in diesem Beispiel insgesamt acht SLEDs. Über die optische Struktur412 kann jedes solche SLED eine Zeichengabevernetzung mit jedem der sieben anderen SLEDs im Datenzentrum400 besitzen. Zum Beispiel kann das SLED404A -1 im Rack402A über die optische Struktur412 eine Zeichengabevernetzung mit dem SLED404A -2 im Rack402A sowie den sechs anderen SLEDs404B -1 ,404B -2 ,404C -1 ,404C -2 ,404D -1 und404D -2 , die über die anderen Racks402B ,402C und402D des Datenzentrums400 verteilt sind, besitzen. Die Ausführungsformen sind nicht auf dieses Beispiel beschränkt. -
5 veranschaulicht einen Überblick über einen Vernetzungsplan500 , 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 Datenzentren100 ,300 und400 der1 ,3 und4 , eingerichtet werden kann. Der Vernetzungsplan500 kann unter Verwendung einer optischen Struktur implementiert sein, die eine optische Dualmodus-Schaltinfrastruktur514 aufweist. Die optische Dualmodus-Schaltinfrastruktur514 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-Schaltinfrastruktur514 unter Verwendung eines oder mehrerer optischer Dualmodus-Schalter515 implementiert sein. In verschiedenen Ausführungsformen können die optischen Dualmodus-Schalter515 im Allgemeinen High-Radix-Schalter umfassen. Bei manchen Ausführungsformen können optische Dualmodus-Schalter515 mehrlagige Schalter, wie vierlagige Schalter umfassen. Bei verschiedenen Ausführungsformen können die optischen Dualmodus-Schalter515 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-Schalter515 Leaf-Schalter530 in einer Leaf-Spine-Architektur bilden, die zusätzlich einen oder mehrere optische Dualmodus-Spine-Schalter520 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 Vernetzungsplan500 in Bezug auf jedes besondere Paar von SLEDs504A und504B , 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-Architektur600 , die für eine Architektur irgendeines besonderen der in den1 bis4 gezeigten Racks gemäß einigen Ausführungsformen repräsentativ sein kann. Wie in6 gezeigt ist, kann die Rack-Architektur600 im Allgemeinen mehrere SLED-Plätze aufweisen, in die SLEDs eingeführt werden können, auf die jeweils ein Roboter über einen Rack-Zugriffsbereich601 zugreifen kann. In dem in6 gezeigten besonderen, nicht einschränkenden Beispiel weist die Rack-Architektur600 fünf SLED-Plätze603 -1 bis603 -5 auf. Die SLED-Plätze603 -1 bis603 -5 weisen jeweilige Mehrzweck-Verbindungsmodule (MCPMs)616 -1 bis616 -5 auf. -
7 veranschaulicht ein Beispiel für ein SLED704 , das für ein SLED einer solchen Art repräsentativ sein kann. Wie in7 gezeigt ist, kann das SLED704 einen Satz von physischen Ressourcen705 sowie ein MPCM716 umfassen, das dazu ausgelegt ist, mit einem Gegenstück-MPCM gekoppelt zu werden, wenn das SLED704 in einen SLED-Platz, wie einen der SLED- Plätze603 -1 bis603 -5 aus6 , eingesteckt wird. Das SLED704 kann auch ein Erweiterungsverbindungsstück717 aufweisen. Das Erweiterungsverbindungsstück717 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-SLED718 . Durch Koppeln mit einem Gegenverbindungsstück auf dem Erweiterungs-SLED718 kann das Erweiterungsverbindungsstück717 physische Ressourcen705 mit Zugriff auf ergänzende Rechenressourcen705B , die sich auf dem Erweiterungs-SLED718 befinden, bereitstellen. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt. -
8 veranschaulicht ein Beispiel für eine Rack-Architektur800 , 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 SLED704 aus7 . In dem besonderen, in8 gezeigten, nicht einschränkenden Beispiel umfasst die Rack-Architektur800 sieben SLED-Plätze803 -1 bis803 -7 , die jeweilige MPCMs816 -1 bis817 -7 aufweisen. Die SLED-Plätze803 -1 bis803 -7 umfassen jeweilige primäre Bereiche803 -1A bis803 -7A und jeweilige Erweiterungsbereiche803 -1B bis803 -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-SLED718 aus7 , wenn das eingesteckte SLED mit einem solchen Modul konfiguriert ist. -
9 veranschaulicht ein Beispiel für ein Rack902 , das für ein Rack repräsentativ sein kann, das gemäß der Rack-Architektur800 aus8 gemäß einigen Ausführungsformen implementiert ist. In dem besonderen, in9 gezeigten, nicht einschränkenden Beispiel weist das Rack902 sieben SLED-Plätze903 -1 bis903 -7 auf, die jeweilige primäre Bereiche903 -1A bis903 -7A und jeweilige Erweiterungsbereiche903 -1B bis903 -7B umfassen. In verschiedenen Ausführungsformen kann eine Temperaturregelung im Rack902 unter Verwendung eines Luftkühlsystems implementiert werden. Zum Beispiel kann das Rack902 , wie es in9 gezeigt ist, mehrere Gebläse919 aufweisen, die im Allgemeinen so angeordnet sind, dass sie eine Luftkühlung innerhalb der verschiedenen SLED-Plätze903 -1 bis903 -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äse919 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 bis916 -7 können dafür ausgelegt sein, eingesteckte SLEDs mit einem Zugriff auf Energie zu versorgen, die von jeweiligen Leistungsmodulen920 -1 bis920 -7 bereitgestellt wird, von denen jedes Energie von einer externen Stromquelle921 beziehen kann. In verschiedenen Ausführungsformen kann die externe Stromquelle921 dem Rack902 Wechselstrom (AC) liefern, und die Strommodule920 -1 bis920 -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 Strommodule920 -1 bis920 -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 MPCMs916 -1 bis916 -7 umzuwandeln. Die Ausführungsformen sind nicht auf dieses Beispiel beschränkt. - Die MPCMs
916 -1 bis916 -7 können auch so angeordnet sein, dass sie eingesteckte SLEDs mit einer optischen Zeichengabevernetzung an eine optische Dualmodus-Schaltinfrastruktur914 versehen, wobei es sich um die gleiche - oder eine ähnliche - optische Dualmodus-Schaltinfrastruktur514 wie in5 handeln kann. In verschiedenen Ausführungsformen können die in den MPCMs916 -1 bis916 -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 Verkabelungen922 -1 bis922 -7 mit einer optischen Zeichengabevernetzung zur optischen Dualmodus-Schaltinfrastruktur914 zu versorgen. Bei manchen Ausführungsformen kann sich jede solche Strecke der optischen Verkabelung von ihrem entsprechenden MPCM zu einem optischen Verbindungsbaum923 erstrecken, der außerhalb der SLED-Plätze des Racks902 liegt. Bei verschiedenen Ausführungsformen kann der optische Verbindungsbaum923 so angeordnet sein, dass er durch einen Trägerpfosten oder eine andere Art von lasttragendem Element des Racks902 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 SLED1004 , das für ein SLED repräsentativ sein kann, das zur Verwendung im Zusammenhang mit dem Rack902 aus9 gemäß einigen Ausführungsformen ausgelegt ist. Das SLED1004 kann ein MPCM1016 aufweisen, das ein optisches Verbindungsstück1016A und ein Stromverbindungsstück1016B umfasst und dafür ausgelegt ist, mit einem Gegenstück-MPCM eines SLED-Platzes im Zuge des Einsteckens des MPCM1016 in diesen SLED-Platz gekoppelt zu werden. Das Koppeln des MPCM1016 mit einem solchen Gegenstück-MPCM kann das Stromverbindungsstück1016 veranlassen, sich mit einem Stromverbindungsstück, das in dem Gegenstück-MPCM enthalten ist, zu koppeln. Dadurch können im Allgemeinen physische Ressourcen1005 des SLED1004 von einer externen Quelle über das Stromverbindungsstück1016 und Stromleitungsmedien1024 , die das Stromverbindungsstück1016 leitend an physische Ressourcen1005 koppeln, Strom beziehen. - Das SLED
1004 kann auch eine optische Dualmodus-Netzwerk-Schnittstellenschaltung1026 aufweisen. Die optische Dualmodus-Netzwerk-Schnittstellenschaltung1026 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-Schaltinfrastruktur914 aus9 unterstützt werden. Bei manchen Ausführungsformen kann die optische Dualmodus-Netzwerk-Schnittstellenschaltung1026 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-Schnittstellenschaltung1026 ein oder mehrere optische Sendeempfängermodule1027 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ück1016A 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-Schnittstellenschaltung1026 über jeden von einem Satz von optischen Kanälen1025 eingerichtet werden. Die optische Dualmodus-Netzwerk-Schnittstellenschaltung1026 kann mit den physischen Ressourcen1005 des SLED1004 über elektrische Zeichengabemedien1028 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 von9 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 Ressourcen1005 erzeugte Wärme abführen. Es sei angemerkt, dass, obwohl das in10 gezeigte beispielhafte SLED1004 kein Erweiterungsverbindungsstück aufweist, jedes gegebene SLED, das die Ausführungselemente des SLED1004 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 Datenzentrum1100 , 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 in11 gezeigt, kann ein physischer Infrastrukturmanagementrahmen1150A implementiert sein, um die Verwaltung einer physischen Infrastruktur1100A des Datenzentrums1100 zu erleichtern. In verschiedenen Ausführungsformen kann eine Funktion des physischen Infrastrukturmanagementrahmens1150A darin bestehen, automatisierte Wartungsfunktionen innerhalb des Datenzentrums1100 zu verwalten, wie die Verwendung einer robotischen Wartungsausrüstung, um eine Rechenausrüstung innerhalb der physischen Infrastruktur1100A zu warten. Bei manchen Ausführungsformen kann die physische Infrastruktur1100A ein fortgeschrittenes Fernmesssystem aufweisen, welches eine Fernmessberichterstattung ausführt, die ausreichend robust ist, um die entfernte automatisierte Verwaltung der physischen Infrastruktur1100A 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 Infrastrukturmanagementrahmen1150A 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 Infrastruktur1100A des Datenzentrums1100 eine optische 1112 umfassen, die eine optische Dualmodus-Schaltinfrastruktur1114 aufweisen kann. Die optische Struktur1112 und die optische Dualmodus-Schaltinfrastruktur1114 können gleich - oder ähnlich - der optischen Struktur412 aus4 bzw. der optischen Dualmodus-Schaltinfrastruktur514 aus5 sein, und sie können eine Mehrfach-Protokoll-Vernetzung unter SLEDs des Datenzentrums1100 mit hoher Bandbreite und geringer Latenz bereitstellen. Wie oben mit Bezug auf1 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-SLEDs1130 in der physischen Infrastruktur1100A des Datenzentrums1100 enthalten sein, die jeweils einen Pool von Beschleunigerressourcen - wie zum Beispiel Co-Prozessoren und/oder FPGAs - umfassen können, der über die optische Struktur1112 und die optische Dualmodus-Schaltinfrastruktur1114 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 Infrastruktur1100A des Datenzentrums1100 enthalten sein, die jeweils einen Pool von Speicherressourcen umfassen können, die über die optische Struktur1112 und die optische Dualmodus-Schaltinfrastruktur1114 für andere SLEDs global zugänglich sind. Bei manchen Ausführungsformen können solche zusammengelegten SLEDs1132 Pools von Festkörper-Speichervorrichtungen umfassen, wie Festkörperlaufwerke (Solid State Drives, SSDs). Bei verschiedenen Ausführungsformen können ein oder mehrere Hochleistungs-Verarbeitungs-SLEDs1134 in der physischen Infrastruktur1100A des Datenzentrums1100 enthalten sein. Bei manchen Ausführungsformen können Hochleistungs-Verarbeitungs-SLEDs1134 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-SLED1134 ein Erweiterungsverbindungsstück1117 aufweisen, das ein fernes Speicher-Erweiterungs-SLED aufnehmen kann, so dass der ferne Arbeitsspeicher, der lokal für dieses Hochleistungs-Verarbeitungs-SLED1134 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-SLED1134 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 auf5 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 Infrastruktur1100B , zu definieren. Bei manchen Ausführungsformen können virtuelle Rechenressourcen1136 der softwaredefinierten Infrastruktur1100B zugewiesen werden, um die Bereitstellung von Cloud-Diensten1140 zu unterstützen. Bei verschiedenen Ausführungsformen können besondere Sätze von virtuellen Rechenressourcen1136 zur Bereitstellung für Cloud-Dienste1140 in Form von SDI-Diensten1138 gruppiert werden. Beispiele für Cloud-Dienste1140 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 Infrastrukturmanagementrahmens1150B ausgeführt werden. Bei verschiedenen Ausführungsformen kann der virtuelle Infrastrukturmanagementrahmen1150B so gestaltet sein, dass er Arbeitslast-Fingerabdrucktechniken und/oder Maschinenlerntechniken zusammen mit einer Verwaltungszuordnung von virtuellen Rechenressourcen1136 und/oder SDI-Diensten1138 zu Cloud-Diensten1140 implementiert. Bei manchen Ausführungsformen kann der virtuelle Infrastrukturmanagementrahmen1150B Fernmessdaten zusammen mit der Durchführung einer solchen Ressourcenzuordnung verwenden/heranziehen. Bei verschiedenen Ausführungsformen kann ein Anwendungs-/Dienstmanagementrahmen1150C implementiert werden, um QoS-Managementfähigkeiten für Cloud-Dienste1140 bereitzustellen. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt. - Nun mit Bezug auf
12 enthält eine beispielhafte Rechenvorrichtung1200 zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller (NIC) (z. B. den NIC1214 der Kommunikationsschaltung1212 ) neben anderen Bauteilen eine Rechenmaschine1202 , eine Datenspeichervorrichtung1210 und eine Kommunikationsschaltung1212 . Die Rechenvorrichtung1200 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 SLEDs204 ,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 Rechenvorrichtung1201 ein Netzpaket (z. B. an einer der Netzwerk-Schnittstellen1302 des intelligenten NIC1214 der13 und14 ) 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 SLEDs204 ,404 ,504 ,1004 ,1130 ,1132 ,1134 . - Bei Empfang des Netzpakets ist eine Netzwerk-Schnittstelle (z. B. die Netzwerk-Schnittstelle
1302 der13 und14 ) des intelligenten NIC1214 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 Speicherstruktur1304 der13 und14 ) des intelligenten NIC1214 zu schreiben. Demgemäß versteht sich, dass die Arbeitsspeicherstruktur1304 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-Schnittstelle1302 ist zusätzlich dafür ausgelegt, nach dem Schreiben des Inhalts des empfangenen Netzpakets in die Arbeitsspeicherstruktur, eine Ereignisnachricht an einen Paketprozessor, der in den13 und14 beispielhaft als der flexible Paketprozessor (FXP)1306 des intelligenten NIC1214 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 FXP1306 dafür ausgelegt, zumindest einen Teil des Netzpakets aus dem entsprechenden Platz (den entsprechenden Plätzen) der Arbeitsspeicherstruktur1304 , 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 FXP1306 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 FXP1306 dafür ausgelegt, eine Nachricht zu generieren und an eine Kontrollervorrichtung des intelligenten NIC1214 zu übertragen, der hier als der Bare-Metal-Kontroller1314 der13 und14 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-Kontroller1314 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-Schnittstellen1312 der13 und14 ) 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-Kontroller1314 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-Kerne1318 der13 und14 ) weiterzuleiten, so dass einer oder mehrere der On-Chip-Kerne1318 die notwendigen Schritte ausführen können, um den Paketfluss und die entsprechende eine der Host-Schnittstellen1312 zu identifizieren (siehe z. B. das Verfahren1900 zum Identifizieren einer Host-Schnittstelle, die dem ersten Netzpaket eines Paketflusses aus19 zugeordnet ist). Alternativ ist der Bare-Metal-Kontroller1314 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 Beschleunigeragenten1308 der13 und14 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-Kontroller1314 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-Kontroller1314 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 Rechenvorrichtung1200 eine Rechenmaschine1202 , ein Eingabe/Ausgabe(E/A-)-Subsystem 1208, eine oder mehrere Datenspeichervorrichtungen1210 , eine Kommunikationsschaltung1212 und in manchen Ausführungsformen ein oder mehrere Peripheriegeräte1216 auf. Natürlich kann in anderen Ausführungsformen die Rechenvorrichtung1200 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 Rechenmaschine1202 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 Rechenmaschine1202 einen Prozessor1204 und einen Arbeitsspeicher1206 oder kann ansonsten als solche ausgeführt sein. Der Prozessor1204 kann als jede Art von Prozessor ausgeführt sein, der in der Lage ist, die hier beschriebenen Funktionen auszuführen. Zum Beispiel kann der Prozessor1204 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 Prozessor1204 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 Arbeitsspeicher1206 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 Arbeitsspeicher1206 im Prozessor1204 integriert sein. Im Betrieb kann der Arbeitsspeicher1206 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 Rechenvorrichtung1200 über das E/A-Subsystem 1208 gekoppelt, das als Schaltung und/oder Bauteile ausgeführt sein kann, um Eingabe-/Ausgabeoperationen mit der Rechenmaschine1202 (z. B. dem Prozessor1204 und/oder dem Arbeitsspeicher1206 ) und anderen Bauteilen der Rechenvorrichtung1200 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 Prozessor1204 , dem Arbeitsspeicher1206 und anderen Bauteilen der Rechenvorrichtung1200 , in die Rechenmaschine1202 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 Datenspeichervorrichtung1210 kann eine Systempartition enthalten, die Daten und den Firmwarecode für die Datenspeichervorrichtung1210 speichert. Außerdem kann jede Datenspeichervorrichtung1210 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 Rechenvorrichtung1200 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 Kommunikationsschaltung1212 den intelligenten NIC1214 auf, der auch als smarter NIC oder intelligente/smarte Host-Fabric-Schnittstelle (HFI) bezeichnet werden kann und genauer in den13 und14 beschrieben ist. Der intelligente NIC1214 kann als eine oder mehrere Add-In-Karten, Tochterkarten, Netzschnittstellenkarten, Kontrollerchips, Chipsets oder andere Vorrichtungen ausgeführt sein, die von der Rechenvorrichtung1200 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 Rechenvorrichtung1200 zu empfangen. Die Peripheriegeräte1216 können als jede zusätzliche Vorrichtung ausgeführt sein, die verwendbar ist, um Informationen in die Rechenvorrichtung1200 einzugeben, wie eine Tastatur, eine Maus, ein Mikrophon, ein Strichcode-Lesegerät, ein Bildscanner usw., oder um Informationen aus der Rechenvorrichtung1200 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äte1216 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äten1216 , die an die Rechenvorrichtung1200 angeschlossen sind, zum Beispiel von der Art und/oder vom Verwendungszweck der Rechenvorrichtung1200 abhängen können. Zusätzlich oder alternativ können bei manchen Ausführungsformen die Peripheriegeräte1216 einen oder mehrere Anschlüsse enthalten, wie zum Beispiel einen USB-Anschluss, um externe Peripheriegeräte an die Rechenvorrichtung1200 anzuschließen. - Nun mit Bezug auf
13 kann der NIC1214 der Rechenvorrichtung1200 aus12 eine Umgebung1300 während des Betriebs erstellen. Die veranschaulichte Umgebung1300 enthält die eine oder die mehreren Netzwerk-Schnittstellen1302 , die Arbeitsspeicherstruktur1304 , den FXP1306 , den einen oder die mehreren Beschleunigeragenten1308 , einen Verkehrsmanager1310 , die eine oder die mehreren Host-Schnittstellen1312 , den Bare-Metal-Kontroller1314 , einen oder mehrere On-Chip-Verarbeitungskerne1318 , eine Infrastruktur1316 , eine Arbeitsspeicherlenkeinheit1320 , einen SRAM1322 und einen oder mehrere Arbeitsspeicherkontroller1324 . Die verschiedenen Bauteile der Umgebung1300 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 Umgebung1300 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-Schnittstellen1302 dafür ausgelegt, Verbindungen zu physischen und virtuellen Netzanschlüssen (d. h. virtuellen Netzwerk-Schnittstellen) des intelligenten NIC1214 sowie die diesen zugeordneten Eintritts-/Austrittspuffer/-warteschlangen zu verwalten (z. B. zu schaffen, zu modifizieren, zu löschen usw.). Die Netzwerk-Schnittstellen1302 sind zusätzlich dafür ausgelegt, mit der Arbeitsspeicherstruktur-Schnittstelle1332 koordiniert zu werden, um den Inhalt (z. B. Kopfzeile(n), Nutzinformationen, Fußzeile(n) usw.) von an den Netzwerk-Schnittstellen1302 empfangenen Netzpaketen in die Arbeitsspeicherstruktur1304 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-Schnittstelle1332 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-Schnittstelle1332 dafür ausgelegt, den FXP1306 zu informieren, wenn ein empfangenes Netzpaket in der Speicherstruktur1304 gespeichert worden ist, und dem FXP1306 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 FXP1306 ein Nachschlagen in einer Tabelle ausführen, die anzeigt, welche Paketflüsse welcher der Host-Schnittstellen1312 entsprechen. Falls das Nachschlagen fehlschlägt (z. B. befindet sich der zugeordnete Paketfluss nicht in der Nachschlagetabelle), ist der FXP1306 dafür ausgelegt, eine Übertragungsnachricht (d. h. eine Host-Kennung-Anforderungsnachricht) zu generieren und an den Bare-Metal-Kontroller1314 zu übertragen, die von dem Bare-Metal-Kontroller1314 verwendbar ist, um eine anschließende Aktion vorzunehmen, um den zugeordneten Paketfluss und die entsprechende Host-Schnittstelle1312 zu identifizieren. Bei manchen Ausführungsformen kann der FXP1306 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-Kontroller1314 zu übertragen, so dass vor der Mitteilung an die passende Host-Schnittstelle1312 ü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 Beschleunigeragenten1308 eine entfernte Direktspeicherzugriffsoperation (RDMA), eine Kryptographie-Operation oder irgendeine andere Art der Beschleunigung einschließen. Der Verkehrsmanager1310 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-CPUs1328 (z. B. einem der Prozessoren1204 der Rechenmaschine1202 aus12 ) und dem intelligenten NIC1214 zu dienen. Zum Beispiel sind die Host-Schnittstellen1312 dafür ausgelegt, als Schnittstelle zwischen den Host-CPUs1328 (z. B. dem Prozessor1204 der Rechenmaschine1202 aus12 ) und der Speicherstruktur1304 (z. B. über die Speicherstruktur-Schnittstelle1332 ) sowie als Schnittstelle zwischen den Host-CPUs1328 und der Infrastruktur1316 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-Arbeitsspeicher1330 zu gewähren (z. B. den Arbeitsspeicher1206 der Rechenmaschine1202 aus12 ). - 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-Kontroller1314 ist dafür ausgelegt, Nachrichten vom FXP1306 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-Kontroller1314 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-Kerne1318 zu übertragen, so dass einer oder mehrere der On-Chip-Kerne1318 die notwendigen Schritte ausführen kann, um die Operation auszuführen (z. B. eine Beschleunigungsoperation mit einem der Beschleunigeragenten1308 zu koordinieren). Es versteht sich, dass bei manchen Ausführungsformen der Bare-Metal-Kontroller1314 in ein anderes Bauteil eingebracht werden kann. Zum Beispiel kann nun, mit Bezug auf14 , der NIC1214 der Rechenvorrichtung1200 aus12 eine Umgebung1400 während der Operation erstellen, bei der der Bare-Metal-Kontroller1314 mit den Host-Schnittstellen1312 integriert ist. Es versteht sich ferner, dass bei manchen Ausführungsformen der Bare-Metal-Kontroller1314 ein physisches oder virtuelles Bauteil sein kann. - Nun wieder mit Bezug auf
13 ist der eine oder sind die mehreren On-Chip-Kerne1318 dafür ausgelegt, Rechnungen lokal am intelligenten NIC1214 auszuführen. Demgemäß können die On-Chip-Kerne1318 eine Rechenleistung bereitstellen, um bestimmte Operationen auszuführen, ohne dass die verarbeiteten Daten an eine Stelle entfernt von dem intelligenten NIC1214 bewegt werden müssen, wodurch die Latenz eliminiert wird, die ansonsten durch Bewegen der Daten eingeführt wird. Die Infrastruktur1316 kann verschiedene Bauteile enthalten, um die Kommunikationen, den Status und die Steuerungen der On-Chip-Kerne1318 und/oder der Host-Schnittstelle1312 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 Speicherlenkeinheit1320 kommunizierend an die On-Chip-Kerne1318 gekoppelt und kann verwendet werden, um Daten (z. B. Arbeits-Warteschlangen, Benachrichtigungen, Unterbrechungen, Kopfzeilen, Deskriptoren, kritische Strukturen usw.) für die On-Chip-Kerne1318 zu speichern. Zusätzlich ist die Speicherlenkeinheit1320 auch an einen oder mehrere Speicherkontroller1324 gekoppelt. Die Speicherkontroller1324 können DDR-Speicherkontroller (DDR = Double Data Rate) sein, die dafür ausgelegt sind, den DDR-SDRAM1326 extern von dem intelligenten NIC1214 , jedoch von diesem verwaltet, zu betreiben, und nicht die Host-CPUs (z. B. Prozessor(en)1204 der Rechenmaschine1202 aus12 ). Demgemäß sind Zugriffe auf den DDR-SDRAM1326 schneller im Vergleich zu Zugriffen auf den DDR-SDRAM1330 (d. h. den Host-Arbeitsspeicher) der Host-CPUs1328 . Die Speicherkontroller1324 sind zusätzlich kommunizierend über die Speicherstruktur-Schnittstelle1332 an die Speicherstruktur1304 gekoppelt, so dass im DDR-SDRAM1326 gespeicherte Daten an die Speicherstruktur1304 oder von dieser übertragen werden können. - Nun mit Bezug auf
15 kann die Rechenvorrichtung1200 , oder genauer der intelligente NIC1214 der Rechenvorrichtung1200 , im Gebrauch ein Verfahren1500 zum Generieren einer Ereignisnachricht in Reaktion auf den Empfang eines Netzpakets ausführen. Das Verfahren1500 beginnt bei Block1502 , bei dem der intelligente NIC1214 , oder genauer eine Netzwerk-Schnittstelle1302 des intelligenten NIC1214 , bestimmt, ob ein Netzpaket empfangen worden ist. Wenn dies der Fall ist, geht das Verfahren1500 zu Block1504 über, bei dem der intelligente NIC1214 , oder genauer die Speicherstruktur-Schnittstelle1332 des intelligenten NIC1214 , das empfangene Netzpaket auf verteilte Weise in eine Speicherstruktur (z. B. die Speicherstruktur1304 aus13 ) des intelligenten NIC1214 schreibt. - Hierfür weist bei Block
1506 die Speicherstruktur-Schnittstelle1332 mehrere Segmente der Speicherstruktur1304 zu und schreibt den Inhalt (z. B. Kopfzeile(n), Nutzinformationen und Fußzeile(n)) des empfangenen Netzpakets in die zugeordneten Segmente. Bei Block1508 generiert die Speicherstruktur-Schnittstelle1332 eine Ereignisnachricht und sendet diese an den FXP (z. B. den FXP1306 aus13 ) mit der Angabe, dass das empfangene Netzpaket empfangen worden ist. Zusätzlich enthält bei Block1510 die Speicherstruktur-Schnittstelle1332 einen Speicherstrukturplatzzeiger mit der Ereignisnachricht, der verwendbar ist, um die Speicherplätze zu identifizieren, in die das empfangene Netzpaket geschrieben worden ist. -
16 und17 zeigen anschaulich zwei Beispiele für Verfahren, die bei Empfang einer Ereignisnachricht vom FXP1306 ausgeführt werden können. Zum Beispiel kann beim Verfahren1600 aus16 der FXP1306 dafür ausgelegt sein, den Bare-Metal-Kontroller1314 bei jeder empfangenen Ereignisnachricht, die anzeigt, dass ein Netzpaket empfangen worden ist, zu informieren. Alternativ kann beim Verfahren1700 aus17 der FXP1306 dafür ausgelegt sein, zunächst einen dem Netzpaket zugeordneten Paketfluss entsprechend jeder empfangenen Ereignisnachricht zu identifizieren, bevor entweder der Bare-Metal-Kontroller1314 oder eine entsprechende der Host-Schnittstellen1312 über das empfangene Netzpaket informiert wird. Es versteht sich, dass bei manchen Ausführungsformen der FXP1306 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-Kern1318 , einem Agenten1308 usw.) ausgeführt worden sind, usw. Zum Beispiel kann bei manchen Ausführungsformen der FXP1306 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 FXP1306 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 FXP1306 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 FXP1306 zusätzlich dafür ausgelegt sein, Operationen auszuführen, die ansonsten von den On-Chip-Kernen1318 und/oder dem Bare-Metal-Kontroller1314 ausgeführt werden könnten. - Nun mit Bezug auf
16 kann die Rechenvorrichtung1200 , oder genauer der intelligente NIC1214 der Rechenvorrichtung1200 , im Gebrauch ein Verfahren1600 zum Generieren einer Nachricht über den Empfang eines Netzpakets in Reaktion auf den Empfang einer Ereignisnachricht ausführen. Das Verfahren1600 beginnt bei Block1602 , wo der intelligente NIC1214 , oder genauer ein FXP (z. B. der FXP1306 ) des intelligenten NIC1214 , bestimmt, ob eine Ereignisnachricht von der Speicherstruktur-Schnittstelle1332 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 Speicherstruktur1304 geschrieben worden ist. - Falls der FXP
1306 bestimmt, dass die Ereignisnachricht empfangen worden ist, fährt das Verfahren1600 mit Block1604 fort, wo der FXP1306 eine Nachricht über den Empfang eines Netzpakets generiert und an einen Bare-Metal-Kontroller (z. B. den Bare-Metal-Kontroller1314 ) überträgt und eine auszuführende Operation anfordert. Bei manchen Ausführungsformen kann der FXP1306 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 FXP1306 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 Block1606 der FXP1306 einen Speicherstrukturplatzzeiger mit der Nachricht über ein empfangenes Netzpaket. - Nun mit Bezug auf
17 kann die Rechenvorrichtung1200 , oder genauer der intelligente NIC1214 der Rechenvorrichtung1200 , im Gebrauch ein Verfahren1700 zum Zuordnen eines Paketflusses einem empfangenen Netzpaket in Reaktion auf den Empfang einer Ereignisnachricht ausführen. Das Verfahren1700 beginnt bei Block1702 , wo der intelligente NIC1214 , oder genauer ein FXP (z. B. der FXP1306 ) des intelligenten NIC1214 , bestimmt, ob eine Ereignisnachricht empfangen worden ist. Wenn dies der Fall ist, fährt das Verfahren1700 mit Block1704 fort, wo der FXP1306 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 FXP1306 bei Block1706 zumindest den Teil des Netzpakets aus einem sich in der Speicherstruktur1304 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 FXP1306 , ob ein zugeordneter Paketfluss identifiziert worden ist. Hierfür kann zum Beispiel der FXP1306 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 FXP1306 bestimmt, dass ein zugeordneter Paketfluss nicht identifiziert worden ist (z. B. das der Ereignisnachricht zugeordnete Netzpaket das erste Netzpaket des Paketflusses ist), zweigt das Verfahren1700 zu Block1710 ab. Bei Block1710 generiert der FXP1306 eine Host-Kennung-Anforderungsnachricht und überträgt diese an den Bare-Metal-Kontroller1314 unter Anforderung einer Unterstützung bei der Identifizierung des Paketflusses, so dass eine entsprechende Host-Schnittstelle1312 anhand dessen identifiziert werden kann (siehe z. B. das Verfahren1900 aus19 ). Zusätzlich enthält bei Block1712 der FXP1306 den Speicherstrukturplatzzeiger mit der Host-Kennung-Anforderungsnachricht. - Ansonsten, falls der FXP
1306 bestimmt, dass ein zugeordneter Paketfluss identifiziert worden ist, zweigt das Verfahren1700 zu Block1714 ab. Bei Block1714 identifiziert der FXP1306 eine Host-Schnittstelle entsprechend dem identifizierten zugeordneten Paketfluss. Hierfür kann zum Beispiel der FXP1306 dafür ausgelegt sein, ein Nachschlagen in einer Tabelle auszuführen, die verwendbar ist, um zu identifizieren, welche Paketflüsse welcher der Host-Schnittstellen1312 entsprechen. Bei Block1716 generiert der FXP1306 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 Block1718 der FXP1306 den Speicherstrukturplatzzeiger mit der Benachrichtigung. - Nun mit Bezug auf
18 kann im Gebrauch die Rechenvorrichtung1200 , oder genauer der intelligente NIC1214 der Rechenvorrichtung1200 , ein Verfahren1800 zum Erleichtern einer Operation ausführen, die auf einem Netzpaket in Reaktion auf das Empfangen einer Nachricht vom FXP1306 auszuführen ist. Das Verfahren1800 beginnt bei Block1802 , wo der intelligente NIC1214 , oder genauer ein Bare-Metal-Kontroller (z. B. der Bare-Metal-Kontroller1314 aus den13 und14 ) des intelligenten NIC1214 , bestimmt, ob eine Nachricht vom FXP1306 empfangen worden ist. Wenn dies der Fall ist, fährt das Verfahren1800 bei Block1804 fort, wo der Bare-Metal-Kontroller1314 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-Kontroller1314 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 Verfahren1600 aus16 generiert wurde), eine Host-Kennung-Anforderungsnachricht (die z. B. durch das Verfahren1700 aus17 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 Verfahrens1800 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 Verfahren1800 zu Block1806 ab, wo der Bare-Metal-Kontroller1314 sich mit den On-Chip-Kernen (z. B. dem Kern (den Kernen) 1318 aus13 ) des intelligenten NIC1214 koordiniert, um die Host-Schnittstelle zu identifizieren. Zum Beispiel kann der Bare-Metal-Kontroller1314 einen eingehenden Deskriptor schreiben, der von einem oder mehreren der On-Chip-Kerne verwendbar ist, um anzuzeigen, dass der Bare-Metal-Kontroller1314 eine Unterstützung bei der Identifizierung des Paketflusses anfordert (siehe z. B. das Verfahren1900 aus19 ). Falls andernfalls der Bare-Metal-Kontroller1314 bestimmt, dass die Host-Schnittstelle nicht identifiziert werden muss (z. B. die empfangene Nachricht einer Nachricht über den Empfang eines Netzpakets entspricht), zweigt das Verfahren1800 zu Block1808 ab. - Bei Block
1808 ruft der Bare-Metal-Kontroller1314 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 Block1810 bei manchen Ausführungsformen der Bare-Metal-Kontroller1314 eine Kopfzeile des Netzpakets abrufen. Alternativ kann bei Block1812 bei anderen Ausführungsformen der Bare-Metal-Kontroller1314 eine vorbestimmte Größenmenge des Netzpakets abrufen. Bei Block1814 speichert der Bare-Metal-Kontroller1314 den abgerufenen Teil des Netzpakets in einem lokal verwalteten Speicherplatz (z. B. dem SRAM1322 , DRAM1326 usw.). Bei Block1816 liest der Bare-Metal-Kontroller1314 den gespeicherten Teil des Netzpakets aus. - Bei Block
1818 schreibt der Bare-Metal-Kontroller1314 einen eingehenden Deskriptor (z. B. in einen Platz in einem lokal verwalteten Speicher), der von den On-Chip-Kernen1318 verwendbar ist, um eine oder mehrere Operationen bei Empfang des eingehenden Deskriptors auszuführen. Zusätzlich enthält der Bare-Metal-Kontroller1314 eine Anzeige (z. B. einen Zeiger) des Platzes des lokal gespeicherten Teils des Netzpakets. Bei manchen Ausführungsformen kann bei Block1822 der Bare-Metal-Kontroller1314 eine Unterbrechung zu den On-Chip-Kernen1318 übertragen, um die On-Chip-Kerne1318 über das Vorhandensein des eingehenden Deskriptors zu informieren. - Bei Block
1824 bestimmt der Bare-Metal-Kontroller1314 , ob ein abgehender Deskriptor von den On-Chip-Kernen1318 empfangen worden ist. Mit anderen Worten sind die On-Chip-Kerne1318 dafür ausgelegt, eine oder mehrere Operationen an dem Teil des Netzpakets auszuführen und, bei Abschluss, den abgehenden Deskriptor, der den Bare-Metal-Kontroller1314 über die durch die On-Chip-Kerne1318 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-Kontroller1314 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 Block1826 fort, wo der Bare-Metal-Kontroller1314 den Teil des Netzpakets basierend auf den im abgehenden Deskriptor enthaltenen Informationen umstrukturiert. Zum Beispiel kann der Bare-Metal-Kontroller1314 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 Block1828 schreibt der Bare-Metal-Kontroller1314 den umstrukturierten Teil des Netzpakets auf verteilte Weise in die Speicherstruktur (z. B. über die Speicherstruktur-Schnittstelle1332 aus13 ). Bei Block1830 identifiziert der Bare-Metal-Kontroller1314 , 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 FXP1306 , einen der Beschleunigeragenten1306 , eine der Netzwerk-Schnittstellen1302 usw.) über eine Ereignisnachricht. - Nun mit Bezug auf
19 kann die Rechenvorrichtung1200 , oder genauer der intelligente NIC1214 der Rechenvorrichtung1200 , im Gebrauch ein Verfahren1900 zum Identifizieren einer einem empfangenen Netzpaket zugeordneten Host-Schnittstelle ausführen. Das Verfahren1900 beginnt bei Block1902 , wo der intelligente NIC1214 , oder genauer ein oder mehrere On-Chip-Kerne (z. B. die On-Chip-Kerne1318 der13 und14 ) des intelligenten NIC1214 , bestimmen, ob eine Nachricht von einem Bare-Metal-Kontroller (z. B. dem Bare-Metal-Kontroller1314 der13 und14 ) des intelligenten NIC1214 empfangen worden ist. Wenn dies der Fall ist, fährt das Verfahren1900 bei Block1904 fort, wo einer der On-Chip-Kerne1318 basierend auf einem Speicherstrukturplatzzeiger, der mit der Host-Kennung-Anforderungsnachricht empfangen worden ist, das gesamte Netzpaket aus der Speicherstruktur1304 abruft. Bei Block1906 speichert der On-Chip-Kern1318 den Inhalt des Netzpakets in einem lokal gesteuerten Arbeitsspeicher (z. B. dem DDR-SDRAM1326 aus13 ). - Bei Block
1908 verarbeitet der On-Chip-Kern1318 zumindest einen Teil der Netzpaketdaten, um eine entsprechende Host-Schnittstelle zu bestimmen. Zum Beispiel kann der On-Chip-Kern1318 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-Kern1318 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 Block1910 generiert der On-Chip-Kern1318 eine Angabe der bestimmten entsprechenden Host-Schnittstelle und überträgt diese an den Bare-Metal-Kontroller1314 . Bei manchen Ausführungsformen initiiert der On-Chip-Kern1318 bei Block1912 das Schreiben des Netzpakets in die Speicherstruktur1304 oder den Host-Arbeitsspeicher1330 , der einer Host-CPU1328 zugeordnet ist, die der identifizierten Host-Schnittstelle1312 entspricht. - Nun mit Bezug auf
20 enthält eine Ausführungsform eines Kommunikationsflusses2000 zur Verarbeitung eines abgehenden Netzpakets die Rechenmaschine1202 aus12 und den NIC der12-14 . Der beispielhafte Kommunikationsfluss2000 enthält eine Reihe von Datenflüssen, von denen manche je nach Ausführungsform separat oder zusammen ausgeführt werden können. Im Datenfluss2002 generiert der Prozessor1204 der Rechenmaschine1202 Daten für ein Netzpaket zur Übertragung an eine andere Netzvorrichtung (nicht gezeigt). Im Datenfluss2004 sendet der Prozessor1204 die Daten an den NIC1214 , oder genauer an eine der Host-Schnittstellen1312 . Im Datenfluss2006 paketisiert die Host-Schnittstelle1312 die empfangenen Daten und leitet im Datenfluss2008 das Netzpaket an die Speicherstruktur-Schnittstelle1332 weiter. - Im Datenfluss
2010 schreibt die Speicherstruktur-Schnittstelle1332 das Netzpaket auf verteilte Weise (z. B. über mehrere Segmente der Speicherstruktur1304 ) in die Speicherstruktur (z. B. die Speicherstruktur1304 aus13 ). Im Datenfluss2012 generiert die Speicherstruktur-Schnittstelle1332 eine Ereignisnachricht (z. B. eine neue Netzpaket-Ereignisnachricht), die anzeigt, dass das neue Netzpaket in die Speicherstruktur1304 geschrieben worden ist. Im Datenfluss2014 leitet die Hoststruktur-Schnittstelle1318 die Ereignisnachricht an den FXP1306 weiter. Es versteht sich, dass bei manchen Ausführungsformen die Speicherstruktur-Schnittstelle1332 eine gewisse Verarbeitungskapazität aufweisen kann, so dass eine gewisse Analyse von der Speicherstruktur-Schnittstelle1332 ausgeführt werden kann, ohne den FXP1306 einbeziehen zu müssen (z. B. kann die Ereignisnachricht direkt an den Bare-Metal-Kontroller1314 gesendet werden). Zum Beispiel kann bei solchen Ausführungsformen die Speicherstruktur-Schnittstelle1332 dafür ausgelegt sein, einen dem Netzpaket zugeordneten Fluss vor dem Senden der Ereignisnachricht an den FXP1306 zu identifizieren, der vom FXP1306 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 Datenfluss2020 beschrieben ist. - Bei Empfang der Ereignisnachricht im Datenfluss
2016 ruft der FXP1306 zumindest einen Teil des Netzpakets aus der Speicherstruktur1304 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 Speicherstruktur1304 , an der das neue Netzpaket gespeichert worden ist, zu identifizieren. Im Datenfluss2018 identifiziert der FXP1306 , ob eine zusätzliche Verarbeitung durch die On-Chip-Kerne1318 vor der Übertragung des Netzpakets vom NIC1214 (z. B. über eine der Netzwerk-Schnittstellen1302 ) erforderlich ist. Wenn dies der Fall ist, generiert der FXP1306 im Datenfluss2020 eine Ereignisnachricht (z. B. eine Ereignisnachricht über die Übertragung eines Netzpakets) und überträgt sie an den Bare-Metal-Kontroller1314 . Bei Empfang ist der Bare-Metal-Kontroller1314 dafür ausgelegt, die im Verfahren1800 aus18 beschriebenen Operationen auszuführen. Im Datenfluss2022 liest die Speicherstruktur-Schnittstelle1332 , nachdem sie eine Angabe vom Bare-Metal-Kontroller1314 erhalten hat, dass das Netzpaket zur Übertragung bereit ist, das gesamte Netzpaket aus der Speicherstruktur1304 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 und14 - 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)
- 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.
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
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)
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)
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 |
-
2017
- 2017-09-27 US US15/716,790 patent/US20180150256A1/en not_active Abandoned
- 2017-09-29 US US15/719,774 patent/US10628068B2/en active Active
- 2017-09-29 US US15/720,920 patent/US10268412B2/en active Active
- 2017-09-29 US US15/720,162 patent/US10635338B2/en active Active
- 2017-09-29 US US15/721,053 patent/US11687264B2/en active Active
- 2017-09-29 US US15/719,770 patent/US11137922B2/en active Active
- 2017-09-29 US US15/720,653 patent/US10824358B2/en active Active
- 2017-09-29 US US15/719,735 patent/US10191684B2/en active Active
- 2017-09-29 US US15/720,236 patent/US20180150240A1/en not_active Abandoned
- 2017-09-29 US US15/720,390 patent/US10747457B2/en active Active
- 2017-09-30 US US15/721,821 patent/US10963176B2/en active Active
- 2017-09-30 US US15/721,814 patent/US10712963B2/en active Active
- 2017-09-30 US US15/721,833 patent/US10990309B2/en active Active
- 2017-09-30 US US15/721,815 patent/US10732879B2/en active Active
- 2017-09-30 US US15/721,829 patent/US11029870B2/en active Active
- 2017-09-30 US US15/721,817 patent/US10768841B2/en active Active
- 2017-09-30 US US15/721,825 patent/US10768842B2/en active Active
- 2017-11-28 US US15/824,604 patent/US10795595B2/en active Active
- 2017-11-29 WO PCT/US2017/063759 patent/WO2018102443A1/en unknown
- 2017-11-29 US US15/826,051 patent/US11307787B2/en active Active
- 2017-11-29 WO PCT/US2017/063756 patent/WO2018102441A1/en active Application Filing
- 2017-11-29 WO PCT/US2017/063708 patent/WO2018102414A1/en active Application Filing
- 2017-11-29 WO PCT/US2017/063783 patent/WO2018102456A1/en active Application Filing
- 2017-11-29 US US15/826,523 patent/US10824360B2/en active Active
- 2017-11-29 US US16/346,341 patent/US11200104B2/en active Active
- 2017-11-29 WO PCT/US2017/063718 patent/WO2018102416A1/en active Application Filing
-
2018
- 2018-08-30 DE DE102018006890.1A patent/DE102018006890B4/de active Active
- 2018-08-30 DE DE102018214774.4A patent/DE102018214774A1/de active Pending
- 2018-08-30 DE DE102018006893.6A patent/DE102018006893A1/de active Pending
- 2018-08-30 DE DE102018214775.2A patent/DE102018214775A1/de active Pending
- 2018-08-30 DE DE102018006894.4A patent/DE102018006894A1/de active Pending
- 2018-08-30 DE DE102018214776.0A patent/DE102018214776A1/de active Pending
-
2020
- 2020-07-30 US US16/943,221 patent/US11579788B2/en active Active
- 2020-08-28 US US17/005,879 patent/US11354053B2/en active Active
- 2020-12-17 US US17/125,420 patent/US11995330B2/en active Active
-
2021
- 2021-03-26 US US17/214,605 patent/US20210318823A1/en active Pending
- 2021-04-02 US US17/221,541 patent/US20210365199A1/en active Pending
- 2021-05-14 US US17/321,186 patent/US11429297B2/en active Active
- 2021-12-13 US US17/549,713 patent/US20220107741A1/en not_active Abandoned
-
2022
- 2022-02-25 US US17/681,025 patent/US11907557B2/en active Active
- 2022-04-19 US US17/724,379 patent/US20220317906A1/en not_active Abandoned
-
2023
- 2023-01-31 US US18/103,739 patent/US11977923B2/en active Active
- 2023-02-14 US US18/109,774 patent/US20230195346A1/en active Pending
-
2024
- 2024-01-05 US US18/405,679 patent/US20240143410A1/en active Pending
Also Published As
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 |