JP2019047489A - エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理する技術 - Google Patents

エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理する技術 Download PDF

Info

Publication number
JP2019047489A
JP2019047489A JP2018153250A JP2018153250A JP2019047489A JP 2019047489 A JP2019047489 A JP 2019047489A JP 2018153250 A JP2018153250 A JP 2018153250A JP 2018153250 A JP2018153250 A JP 2018153250A JP 2019047489 A JP2019047489 A JP 2019047489A
Authority
JP
Japan
Prior art keywords
network packet
fabric
packet
agent
event message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018153250A
Other languages
English (en)
Other versions
JP7214394B2 (ja
Inventor
バーレス ブラッド
Burres Brad
バーレス ブラッド
チャヤット ローネン
Chayat Ronen
チャヤット ローネン
グラヴル アラン
Gravel Alain
グラヴル アラン
ハサウェイ ロバート
Hathaway Robert
ハサウェイ ロバート
ワイ. クマール アミット
Y Kumar Amit
ワイ. クマール アミット
ニール ジョセ
Niell Jose
ニール ジョセ
ターボヴィッチ ナダヴ
Turbovich Nadav
ターボヴィッチ ナダヴ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/720,390 external-priority patent/US10747457B2/en
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2019047489A publication Critical patent/JP2019047489A/ja
Application granted granted Critical
Publication of JP7214394B2 publication Critical patent/JP7214394B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0014Gripping heads and other end effectors having fork, comb or plate shaped means for engaging the lower surface on a object to be transported
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/183Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1488Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
    • H05K7/1489Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures characterized by the mounting of blades therein, e.g. brackets, rails, trays
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1498Resource management, Optimisation arrangements, e.g. configuration, identification, tracking, physical location
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/18Construction of rack or frame
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20009Modifications to facilitate cooling, ventilating, or heating using a gaseous coolant in electronic enclosures
    • H05K7/20209Thermal management, e.g. fan control
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20718Forced ventilation of a gaseous coolant
    • H05K7/20736Forced ventilation of a gaseous coolant within cabinets for removing heat from server blades
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/1735Network adapters, e.g. SCI, Myrinet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/20Indexing scheme relating to G06F1/20
    • G06F2200/201Cooling arrangements using cooling fluid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0064Latency reduction in handling transfers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3808Network interface controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Thermal Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Environmental & Geological Engineering (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Small-Scale Networks (AREA)
  • Optical Communication System (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理する。【解決手段】通信フロー1600において、コンピューティング装置は、ネットワーク・インターフェース・コントローラ(NIC)を含む。NICは、NICのメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信ネットワーク・パケットをメモリ・ファブリックに分散式に書き込むよう構成される。ネットワーク・ファブリック・インターフェースは、受信したネットワーク・パケットを示すイベント・メッセージを、メモリ・ファブリックに通信上結合されたパケット・プロセッサに送るよう構成される。【選択図】図16

Description

関連出願への相互参照
本願は2016年11月29日に出願された米国仮特許出願第62/427,268号および2017年8月30日に出願されたインド仮特許出願第201741030632号の利益を主張するものである。同出願の内容はここに参照によってその全体において組み込まれる。
今のパケット交換ネットワーク・アーキテクチャーでは、データはネットワーク・パケットの形でコンピューティング装置および/または装置コンポーネントの間で急速なペースで伝送される。高レベルでは、データはネットワーク・パケットにパケット化され、それがあるネットワーク・コンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)によって送信され、別のネットワーク・コンピューティング装置のNICによって受信される。受信時に、ネットワーク・パケットは典型的には処理、分類などされ、ペイロードは典型的にはメモリ(たとえばキャッシュ、メイン・メモリなど)に書き込まれる。ネットワーク・パケット・データをメモリに書き込むと、受信側NICはホスト中央処理ユニット(CPU)に、該データがさらなる処理のために利用可能であることを通知してもよい。しかしながら、ネットワーク・パケット・データの内容をホストCPUによる処理のためにNICからメモリに書き込むことは、高価でありレイテンシーを導入するか、他の何らかの負のパフォーマンス効果をもつことがある。
本稿に記載される概念は、限定ではなく例として、付属の図面において図示される。図示の簡明のため、図面に示される要素は必ずしも同縮尺にはなっていない。適切と考えられる場合には、対応するまたは類似の要素を示すために、参照符号が複数の図面の間で繰り返されている。
本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるデータ・センターの概念的な概観図である。 図1のデータ・センターのラックの論理的構成の例示的実施形態の図である。 本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるもう一つのデータ・センターの例示的実施形態の図である。 本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるデータ・センターのもう一つの例示的実施形態の図である。 図1、図3、図4のデータ・センターのさまざまなスレッドの間で確立されうるリンク層接続性を表わす接続性スキームの図である。 いくつかの実施形態に基づく、図1〜図4に描かれるラックの任意の特定の一つのアーキテクチャーを表わしうるラック・アーキテクチャーの図である。 図6のラック・アーキテクチャーとともに使用されうるスレッドの例示的実施形態の図である。 拡張機能を備えるスレッドのサポートを提供するためのラック・アーキテクチャーの例示的実施形態の図である。 図8のラック・アーキテクチャーに基づいて実装されるラックの例示的実施形態の図である。 図9のラックとの関連で使うために設計されたスレッドの例示的実施形態の図である。 本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいて実装されうるデータ・センターの例示的実施形態の図である。 エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置の少なくとも一つの実施形態の簡略化されたブロック図である。 図12のコンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)によって確立されうる環境の少なくとも一つの実施形態の簡略化されたブロック図である。 図12および図13のNICによって実行されうる、ネットワーク・パケットを受信するのに応答してイベント・メッセージを生成する方法の少なくとも一つの実施形態の簡略化された流れ図である。 図12および図13のNICによって実行されうる、エージェント‐メッシュ・アーキテクチャーにおいて到来ネットワーク・パケットを処理する方法の少なくとも一つの実施形態の簡略化された流れ図である。 図12および図13のNICによって実行されうる、エージェント‐メッシュ・アーキテクチャーにおいて外向きネットワーク・パケットを処理するための少なくとも一つの実施形態の簡略化された通信フロー図である。
本開示の概念はさまざまな修正および代替形が可能だが、その個別的実施形態が例として図面に示されており、下記で詳細に記載される。しかしながら、本開示の概念を開示されている特定の形に限定する意図はなく、逆に、本開示および付属の請求項と整合するあらゆる修正、等価物および代替をカバーすることが意図されていることを理解しておくべきである。
本明細書における「一つの実施形態」、「ある実施形態」、「例示的な実施形態」などへの言及は、記載されるその実施形態が特定の特徴、構造または特性を含みうることを示すが、すべての実施形態がその特定の特徴、構造または特性を含むこともあれば、必ずしも含まないこともある。さらに、そのような句は必ずしも同じ実施形態を指しているのではない。さらに、特定の特徴、構造または特性がある実施形態との関連で記述されるとき、そのような特徴、構造または特性を他の実施形態との関連で実施することは、明示されているか否かによらず、当業者の知識の範囲内であることを述べておく。さらに、「少なくとも一つのA、BおよびC」は(A);(B);(C);(AおよびB);(AおよびC);(BおよびC);または(A、BおよびC)を意味することができる。同様に、「A、BまたはCの少なくとも一つ」の形で挙げられた項目は(A);(B);(C);(AおよびB);(AおよびC);(BおよびC);または(A、BおよびC)を意味することができる。
開示される実施形態は、場合によっては、ハードウェア、ファームウェア、ソフトウェアまたはそれらの任意の組み合わせで実装されうる。開示される実施形態は、一時的または非一時的な機械可読(たとえばコンピュータ可読)記憶媒体に搬送されるまたは記憶される命令として実装されてもよく、該命令は一つまたは複数のプロセッサによって読まれ、実行されてもよい。機械可読記憶媒体は、機械によって読み取り可能な形で情報を記憶または伝送するための任意の記憶装置、機構または他の物理的構造(たとえば、揮発性または不揮発性メモリ、メディア・ディスクまたは他のメディア・デバイス)として具現されうる。
図面において、いくつかの構造的または方法の特徴が特定の配置および/または順序において示されることがあるが、そのような特定の配置および/または順序は必須ではないことがあることは理解しておくべきである。むしろ、いくつかの実施形態では、そのような特徴は、例示的な図に示したのとは異なる仕方および/または順序で配列されてもよい。さらに、構造的または方法の特徴が特定の図に含まれることは、そのような特徴がすべての実施形態において必要とされることを含意することは意図されていない。いくつかの実施形態では、含まれなくてもよく、あるいは他の特徴と組み合わされてもよい。
図1は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で/そのために実装されうるデータ・センターまたは他の型のコンピューティング・ネットワークを概括的に表わしうるデータ・センター100の概念的な概観図である。図1に示されるように、データ・センター100は一般に複数のラックを含んでいてもよく、そのそれぞれが、物理的資源のそれぞれの集合を有するコンピューティング設備を収容していてもよい。図1に描かれる特定の限定しない例では、データ・センター100は四つのラック102Aないし102Dを含み、これらは物理的資源(PCR)のそれぞれの集合を有するコンピューティング設備を収容する。この実施形態によれば、データ・センター100の物理的資源106の全体的な集合は、ラック102Aないし102Dの間に分配されている物理的資源105Aないし105Dのさまざまな集合を含む。物理的資源106は、たとえばプロセッサ、コプロセッサ、アクセラレータ、フィールドプログラマブルゲートアレイ(FPGA)、メモリおよび記憶といった複数の型の資源を含んでいてもよい。実施形態はこれらの例に限定されない。
例示的なデータ・センター100は典型的なデータ・センターとは多くの点で異なる。たとえば、例示的実施形態では、CPU、メモリおよび他のコンポーネントといったコンポーネントが配置される回路基板(「スレッド(sled)」)は、増大した熱パフォーマンスのために設計されている。特に、図示した実施形態では、スレッドは典型的な基板より浅い。換言すれば、スレッドは、冷却ファンが位置するところで、奥行きがより短くなっている。これは、基板上で諸コンポーネントを横断して空気が進まなければならない経路の長さを減少させる。さらに、スレッドの諸コンポーネントは、典型的な回路基板よりもさらに間隔を空けられており、コンポーネントは影になる問題(すなわち、あるコンポーネントが別のコンポーネントの気流経路にあること)を軽減するまたは解消するように配置されている。例解用の実施形態では、プロセッサのような処理コンポーネントは、スレッドの上側に位置され、一方、DIMMのような近位メモリはスレッドの下側に位置される。この設計によって提供される向上した気流の結果として、コンポーネントは典型的なシステムより高い周波数および電力レベルで動作でき、それによりパフォーマンスを高める。さらに、スレッドは各ラック102A、102B、102C、102Dにおける電力およびデータ通信ケーブルと盲目的にかみあうよう構成されており、迅速に取り外され、アップグレードされ、再組み込みされおよび/または交換される能力を高めている。同様に、プロセッサ、アクセラレータ、メモリおよびデータ記憶ドライブといった、スレッドに位置する個々のコンポーネントは、互いに間隔を増しているため、簡単にアップグレードされるよう構成されている。例解用の実施形態では、コンポーネントはさらに、その正当性を証明するためにハードウェア認証機能を含む。
さらに、例解用の実施形態では、データ・センター100は、EthernetおよびOmni-Pathを含む複数の他のネットワーク・アーキテクチャーをサポートする単一のネットワーク・アーキテクチャー(「ファブリック」)を利用する。例解用の実施形態におけるスレッドは、光ファイバーを介してスイッチに結合される。光ファイバーは、典型的な撚り対線(たとえばカテゴリー5、カテゴリー5e、カテゴリー6など)よりも高い帯域幅および低いレイテンシーを提供する。高帯域幅、低レイテンシーの相互接続およびネットワーク・アーキテクチャーのため、データ・センター100は、使用において、メモリ、アクセラレータ(たとえばグラフィック・アクセラレータ、FPGA、ASICなど)およびデータ記憶ドライブといった、物理的に分かれている資源をプールして、必要に応じてそれらを計算資源(たとえばプロセッサ)に提供してもよい。それにより、計算資源は、プールされた資源に、それらがあたかもローカルであるかのようにアクセスすることができる。例解用のデータ・センター100はさらに、さまざまな資源についての利用情報を受領し、過去の資源利用に基づいて種々の型の作業負荷についての資源利用を予測し、この情報に基づいて資源を動的に割り当て直す。
データ・センター100のラック102A、102B、102C、102Dは、多様な型のメンテナンス・タスクの自動化を容易にする物理的な設計特徴を含んでいてもよい。たとえば、データ・センター100は、ロボット的にアクセスされ、ロボット的に操作可能な資源スレッドを受け入れ、収容するよう設計されているラックを使って実装されてもよい。さらに、例解用の実施形態では、ラック102A、102B、102C、102Dは、電源について典型的であるより大きな電圧を受け取る統合された電源を含む。増大した電圧は、電源が各スレッド上のコンポーネントに追加的な電力を提供することを可能にし、それらのコンポーネントが典型的よりも高い周波数で動作できるようにする。
図2は、データ・センター100のラック202の論理的構成を示している。図2に示されるように、ラック202は一般に、複数のスレッドを収容でき、各スレッドは物理的資源のそれぞれの集合を有していてもよい。図2に描かれる特定の限定しない例では、ラック202は物理的資源205−1ないし205−4のそれぞれの集合を有するスレッド204−1ないし204−4を収容する。物理的資源の各集合は、ラック202に含まれる物理的資源206の全体的な集合の一部をなす。図1に関し、ラック202がたとえばラック102Aを表わす場合、物理的資源206は、ラック102Aに含まれる物理的資源105Aに対応しうる。このように、この例のコンテキストにおいて、物理的資源105Aは、ラック202のスレッド204−1ないし204−4に含まれる物理的記憶資源205−1、物理的アクセラレータ資源205−2、物理的メモリ資源205−3および物理的計算資源205−5を含む物理的資源のそれぞれの集合から構成されてもよい。実施形態はこの例に限定されない。各スレッドは、物理的資源のさまざまな型(たとえば計算、メモリ、アクセラレータ、記憶)のそれぞれのプールを含んでいてもよい。分別された資源を有する、ロボット的にアクセス可能でありロボット的に操作可能なスレッドをもつことにより、各型の資源は互いに独立に、自分自身の最適化されたリフレッシュ・レートで、アップグレードされることができる。
図3は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で/そのために実装されうるものを概括的に表わしうるデータ・センター300の例である。図3に描かれる特定の限定しない例では、データ・センター300はラック302−1ないし302−32を有する。さまざまな実施形態において、データ・センター300のラックは、さまざまなアクセス経路を確定するおよび/または受け入れるような仕方で配置されてもよい。たとえば、図3に示されるように、データ・センター300のラックは、アクセス経路311A、311B、311Cおよび311Dを確定するおよび/または受け入れるような仕方で配置されてもよい。いくつかの実施形態では、そのようなアクセス経路の存在は、一般に、ロボット・メンテナンス設備のような自動化されたメンテナンス設備が、データ・センター300のさまざまなラックに収容された計算設備に物理的にアクセスして、自動化されたメンテナンス・タスクを実行する(たとえば、故障したスレッドを交換する、スレッドをアップグレードする)ことを可能にしうる。さまざまな実施形態において、アクセス経路311A、311B、311Cおよび311Dの寸法、ラック302−1ないし302−32の寸法および/またはデータ・センター300の物理的なレイアウトの一つまたは複数の他の側面は、そのような自動化された動作を容易にするように選択されてもよい。実施形態はこのコンテキストにおいて限定されない。
図4は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で/そのために実装されうるものを概括的に表わしうるデータ・センター400の例である。図4に示されるように、データ・センター400は光ファブリック412を備えていてもよい。光ファブリック412は一般に、(光ケーブルのような)光学式信号伝達媒体と、光学的スイッチング・インフラストラクチャーとを有していてもよい。該光学的スイッチング・インフラストラクチャーを介して、データ・センター400における任意の特定のスレッドが、データ・センター400における他の各スレッドに信号を送る(から信号を受け取る)ことができる。光ファブリック412が任意の所与のスレッドに提供する信号伝達接続性は、同じラック内の他のスレッドおよび他のラック内のスレッド両方への接続性を含んでいてもよい。図4に描かれる具体的な限定しない例では、データ・センター400は四つのラック402Aないし402Dを含む。ラック402Aないし402Dはそれぞれのスレッド対404A-1および404A-2、404B-1および404B-2、404C-1および404C-2ならびに404D-1および404D-2を収容する。このように、この例では、データ・センター400は全部で八つのスレッドを有する。光ファブリック412を介して、そのような各スレッドが、データ・センター400における他の七つのスレッドのそれぞれとの信号伝達接続性を有しうる。たとえば、光ファブリック412を介して、ラック402Aにおけるスレッド404A-1は、ラック402Aにおけるスレッド404A-2ならびにデータ・センター400の他のラック402B、402Cおよび402Dの間に分散されている六つの他のスレッド404B-1、404B-2、404C-1、404C-2、404D-1および404D-2と信号伝達接続性をもちうる。実施形態はこの例に限定されない。
図5は、図1、図3、図4の例示的なデータ・センター100、300および400の任意のもののようなデータ・センターのさまざまなスレッドの間でいくつかの実施形態において確立されうるリンク層接続性を概括的に表わしうる接続性スキーム500の概観を示している。接続性スキーム500は、デュアル・モード光スイッチング・インフラストラクチャー514を備える光ファブリックを使って実装されてもよい。デュアル・モード光スイッチング・インフラストラクチャー514は、一般に、光信号伝達媒体の同じ統一された集合を介して複数のリンク層プロトコルに従って通信を受信し、そのような通信を適正にスイッチングすることができるスイッチング・インフラストラクチャーを有していてもよい。さまざまな実施形態において、デュアル・モード光スイッチング・インフラストラクチャー514は、一つまたは複数のデュアル・モード光スイッチ515を使って実装されてもよい。さまざまな実施形態において、デュアル・モード光スイッチ515は一般に、高次数(high-radix)スイッチを有していてもよい。いくつかの実施形態ではデュアル・モード光スイッチ515は四重(four-ply)スイッチのような多重(multi-ply)スイッチを有していてもよい。さまざまな実施形態において、デュアル・モード光スイッチ515は、通常のスイッチング・デバイスに比べて有意に短縮されたレイテンシーで通信をスイッチできるようにする統合されたシリコン・フォトニクス(integrated silicon photonics)を備えていてもよい。いくつかの実施形態では、デュアル・モード光スイッチ515は、さらに一つまたは複数のデュアル・モード光スパイン・スイッチ520を含むリーフ‐スパイン・アーキテクチャーにおけるリーフ・スイッチ530をなしていてもよい。
さまざまな実施形態において、デュアル・モード光スイッチ515は、インターネット・プロトコル(IPパケット)を担持するイーサネット〔登録商標〕プロトコル通信と、第二の、高性能コンピューティング(HPC)リンク層プロトコル(たとえばインテルのOmni-Pathアーキテクチャー、Inifinband)に基づく通信の両方を、光ファブリックの光信号伝送媒体を介して受信できてもよい。図5に反映されるように、光ファブリックへの光信号伝達接続性をもつ任意の特定のスレッド対504Aおよび504Bに関し、接続性スキーム500はこのように、イーサネット・リンクおよびHPCリンクの両方を介したリンク層接続性のサポートを提供しうる。このように、イーサネットおよびHPC通信の両方が、単一の高帯域幅、低レイテンシーのスイッチ・ファブリックによってサポートされることができる。実施形態はこの例に限定されない。
図6は、いくつかの実施形態に基づく、図1ないし図4に描かれるラックの任意の特定の一つのアーキテクチャーを表わしうるラック・アーキテクチャー600の全体的な概観である。図6に反映されるように、ラック・アーキテクチャー600は、一般に、スレッドが挿入されうる複数のスレッド・スペースを備えていてもよく、そのそれぞれはラック・アクセス領域601を介してロボット的にアクセス可能であってもよい。図6に描かれる特定の限定しない例では、ラック・アーキテクチャー600は五つのスレッド・スペース603−1ないし603−5を備える。スレッド・スペース603−1ないし603−5はそれぞれの多目的コネクタ・モジュール(MPCM: multi-purpose connector module)601−1ないし616−5を備える。
図7は、そのような型のスレッドを表わしうるスレッド704の例を示している。図7に示されるように、スレッド704は物理的資源705の集合およびスレッド704が図6のスレッド・スペース603−1ないし603−5のいずれかのようなスレッド・スペースに挿入されるときに対応するMPCMと結合するよう設計されたMPCM 716を有していてもよい。スレッド704は拡張コネクタ717をも備えていてもよい。拡張コネクタ717は一般に、拡張スレッド718のような一つまたは複数の型の拡張モジュールを受け入れることのできるソケット、スロットまたは他の型の接続要素を有していてもよい。拡張スレッド718上の対応するコネクタと結合することによって、拡張コネクタ717は物理的資源705に、拡張スレッド718にある補足的なコンピューティング資源705Bへのアクセスを提供しうる。実施形態はこのコンテキストにおいて限定されない。
図8は、図7のスレッド704のような拡張機能を備えるスレッドのサポートを提供するために実装されうるラック・アーキテクチャーを表わしうるラック・アーキテクチャー800の例を示している。図8に描かれる特定の限定しない例では、ラック・アーキテクチャー800は七つのスレッド・スペース803−1ないし803−7を含み、これらはそれぞれのMPCM 816−1ないし816−7を備える。スレッド・スペース803−1ないし803−7はそれぞれの主要領域803−1Aないし803−7Aおよびそれぞれの拡張領域803−1Bないし803−7Bを含む。そのような各スレッド・スペースに関し、対応するMPCMが挿入されたスレッドの対応MPCMと結合されるとき、主要領域は一般に、挿入されたスレッドを物理的に受け入れているスレッド・スペースの領域をなしうる。拡張領域は一般に、挿入されたスレッドが図7の拡張スレッド718のような拡張モジュールをもって構成される場合に該図7の拡張スレッド718のような拡張モジュールを物理的に受け入れることのできるスレッド・スペースの領域をなしうる。
図9は、いくつかの実施形態に基づく、図8のラック・アーキテクチャー800に基づいて実装されるラックを表わしうるラック902の例を示している。図9に描かれる特定の限定しない例では、ラック902は七つのスレッド・スペース903−1ないし903−7を含み、これらはそれぞれの主要領域903−1Aないし903−7Aおよびそれぞれの拡張領域903−1Bないし903−7Bを含む。さまざまな実施形態において、ラック902における温度制御は空気冷却システムを使って実装されうる。たとえば、図9に反映されているように、ラック902は、一般にさまざまなスレッド・スペース903−1ないし903−7内の空気冷却を提供するよう構成される複数のファン919を備えていてもよい。いくつかの実施形態では、スレッド・スペースの高さは通常の「1U」サーバー高さより大きい。そのような実施形態では、ファン919は一般に、通常のラック構成で使われるファンに比べて、比較的遅い、大きな直径の冷却ファンを有しうる。より低速でより大きな直径の冷却ファンを稼働させることは、より高速で稼働するより小さな直径の冷却ファンに比べて、同じ程度の冷却を提供しつつ、ファン寿命を伸ばしうる。スレッドは通常のラック寸法より物理的に浅い。さらに、諸コンポーネントは、熱的な影を低減するよう各スレッド上に配置される(すなわち、空気流の方向に直列に配置されない)。結果として、より幅広く、より浅いスレッドは、改善された冷却(すなわち、熱的な影なし、装置間のより多くのスペース、より大きなヒートシンクのためのより多くの余地など)のためにより高い熱設計枠(thermal envelope)(たとえば250W)で装置が動作させられることができるので、装置パフォーマンスの増大を許容する。
MPCM 916−1ないし916−7は、挿入されたスレッドに、それぞれの電力モジュール920−1ないし920−7を電源とする電力へのアクセスを提供するよう構成されてもよい。各電源は外部電源921から電力を引き出してもよい。さまざまな実施形態において、外部電源921は交流(AC)電力をラック902に送達してもよく、電力モジュール920−1ないし920−7はそのようなAC電力を、挿入されたスレッドに提供される直流(DC)電力に変換するよう構成されてもよい。いくつかの実施形態では、たとえば、電力モジュール920−1ないし920−7は277ボルトのAC電力を、それぞれのMPCM 916−1ないし916−7を介して、挿入されたスレッドに提供するための、12ボルトのDC電力に変換するよう構成されてもよい。
MPCM 916−1ないし916−7は、挿入されたスレッドに、図5のデュアル・モード光スイッチング・インフラストラクチャー514と同じ――または同様――であってもよいデュアル・モード光スイッチング・インフラストラクチャー914への光信号伝達接続性をも提供するよう構成されてもよい。さまざまな実施形態において、MPCM 916−1ないし916−7に含まれる光コネクタは、挿入されたスレッドのMPCMに含まれる対応光コネクタと結合して、そのようなスレッドに、光ケーブル922−1ないし922−7のそれぞれの長さを介したデュアル・モード光スイッチング・インフラストラクチャー914への光信号伝達接続性を提供するよう設計されてもよい。いくつかの実施形態では、光ケーブルのそのような各長さは、その対応するMPCMから、ラック902のスレッド・スペースの外部である光相互接続ルーム(loom)923まで延びてもよい。さまざまな実施形態において、光相互接続ルーム923は、支柱または他の型の加重支持要素を通って配置されてもよい。実施形態はこのコンテキストにおいて限定されない。挿入されたスレッドがMPCMを介して光スイッチング・インフラストラクチャーに接続するので、新たに挿入されたスレッドを受け入れるためにラック・ケーブルを手動で構成することに典型的に費やされる資源が節約できる。
図10は、いくつかの実施形態に基づく、図9のラック902との関連で使うために設計されたスレッドを表わしうるスレッド1004の例を示している。スレッド1004は、光コネクタ1016Aおよび電力コネクタ1016Bを有するMPCM 1016を備えていてもよい。MPCM 1016は、MPCM 1016をスレッド・スペースに挿入するのと関連して該スレッド・スペースの対応MPCMと結合するよう設計される。MPCM 1016をそのような対応MPCMと結合することは、電力コネクタ1016を対応MPCMに含まれる電力コネクタと結合させうる。これは一般に、スレッド1004の物理的資源1005が外部源から、電力コネクタ1016と、電力コネクタ1016を物理的資源1005に伝導的に結合する電力伝送媒体1024とを介して電力を入手することを可能にしうる。
スレッド1004は、デュアル・モード光ネットワーク・インターフェース回路1026をも含んでいてもよい。デュアル・モード光ネットワーク・インターフェース回路1026は一般に、図9のデュアル・モード光スイッチング・インフラストラクチャー914によってサポートされる複数のリンク層プロトコルのそれぞれに従って光信号伝達媒体を通じて通信することのできる回路を含んでいてもよい。いくつかの実施形態では、デュアル・モード光ネットワーク・インターフェース回路1026は、イーサネット・プロトコル通信および第二の、高パフォーマンス・プロトコルに基づく通信の両方ができてもよい。さまざまな実施形態において、デュアル・モード光ネットワーク・インターフェース回路1026は、一つまたは複数の光トランシーバ・モジュール1027を含んでいてもよく、そのそれぞれは一つまたは複数の光チャネルのそれぞれを通じて光信号を送受信できてもよい。実施形態はこのコンテキストにおいて限定されない。
MPCM 1016を所与のラックにおけるスレッド・スペースの対応MPCMと結合することは、光コネクタ1016Aを、対応MPCMに含まれる光コネクタと結合させてもよい。これは一般に、一組の光チャネル1025のそれぞれを介した、スレッドの光ケーブルとデュアル・モード光ネットワーク・インターフェース回路1026との間の光接続性を確立しうる。デュアル・モード光ネットワーク・インターフェース回路1026はスレッド1004の物理的資源1005と電気信号伝達媒体1028を介して通信してもよい。図9を参照して上記したような、改善された冷却を提供し、比較的より高い熱設計枠(たとえば250W)での動作を可能にするためのスレッドの寸法およびスレッド上でのコンポーネントの配置に加えて、いくつかの実施形態では、スレッドは、空気冷却を容易にするための一つまたは複数の追加的特徴を含んでいてもよい。たとえば、物理的資源1005によって生成される熱を散逸させるよう構成されたヒートパイプおよび/またはヒートシンクである。図10に描かれた例示的なスレッド1004は拡張コネクタを備えていないが、スレッド1004の設計要素を備える任意の所与のスレッドは、いくつかの実施形態によれば、拡張コネクタをも備えていてもよいことは注意するに値する。実施形態はこのコンテキストにおいて限定されない。
図11は、本稿に記載される一つまたは複数の技術がさまざまな実施形態に基づいてその中で/そのために実装されうるものを一般に表わしうるデータ・センター1100の例を示している。図11に反映されているように、物理的インフラストラクチャー管理フレームワーク1150Aはデータ・センター1100の物理的インフラストラクチャー1100Aの管理を容易にするよう実装されてもよい。さまざまな実施形態において、物理的インフラストラクチャー管理フレームワーク1150Aの一つの機能は、物理的インフラストラクチャー1100A内のコンピューティング設備にサービスするロボット・メンテナンス設備の使用といった、データ・センター1100内での自動化されたメンテナンス機能を管理することであってもよい。いくつかの実施形態では、物理的インフラストラクチャー1100Aは、物理的インフラストラクチャー1100Aのリモートの自動管理をサポートするために十分堅牢なテレメトリー報告を実行する高度なテレメトリー・システムを備えていてもよい。さまざまな実施形態において、そのような高度なテレメトリー・システムによって提供されるテレメトリー情報は、障害予測/防止機能および容量計画機能といった特徴をサポートしてもよい。いくつかの実施形態では、物理的インフラストラクチャー管理フレームワーク1150Aは、ハードウェア認証(attestation)技法を使って物理的インフラストラクチャー・コンポーネントの正当性確認(authentication)を管理するよう構成されてもよい。たとえば、インストールされる各コンポーネントに付随する無線周波数識別(RFID)タグから収集された情報を解析することによって、インストール前にコンポーネントの正当性(authenticity)をロボットが検証(verify)してもよい。実施形態はこのコンテキストにおいて限定されない。
図11に示されるように、データ・センター1100の物理的インフラストラクチャー1100Aは、デュアル・モード光スイッチング・インフラストラクチャー1114を含んでいてもよい光ファブリック1112を有していてもよい。光ファブリック1112およびデュアル・モード光スイッチング・インフラストラクチャー1114は、図4の光ファブリック412および図5のデュアル・モード光スイッチング・インフラストラクチャー514とそれぞれ同じ――または同様――であってもよく、データ・センター1100のスレッドの間で、高帯域幅、低レイテンシーの複数プロトコル接続性を提供しうる。上記で論じたように、図1を参照するに、さまざまな実施形態において、そのような接続性の利用可能性は、アクセラレータ、メモリおよび記憶といった資源を分別し、動的にプールすることを実現可能にしうる。いくつかの実施形態では、たとえば、一つまたは複数のプールされたアクセラレータ・スレッド1130がデータ・センター1100の物理的インフラストラクチャー1100Aのうちに含められてもよく、そのそれぞれが、光ファブリック1112およびデュアル・モード光スイッチング・インフラストラクチャー1114を介して他のスレッドにグローバルにアクセス可能であるアクセラレータ資源――たとえばコプロセッサおよび/またはFPGAなど――のプールを含んでいてもよい。
もう一つの例では、さまざまな実施形態において、一つまたは複数のプールされた記憶スレッド1132がデータ・センター1100の物理的なインフラストラクチャー1100Aのうちに含められてもよく、そのそれぞれが、光ファブリック1112およびデュアル・モード光スイッチング・インフラストラクチャー1114を介して他のスレッドにグローバルにアクセス可能である記憶資源のプールを含んでいてもよい。いくつかの実施形態では、そのようなプールされた記憶スレッド1132は、半導体ドライブ(SSD)のような半導体記憶デバイスのプールを含んでいてもよい。さまざまな実施形態において、一つまたは複数の高性能処理スレッド1134がデータ・センター1100の物理的インフラストラクチャー1100Aのうちに含まれていてもよい。いくつかの実施形態では、高性能処理スレッド1134は、高性能プロセッサのプールおよび250W以上までのより高い熱設計枠を与えるよう空気冷却を高める冷却機能を含んでいてもよい。さまざまな実施形態において、任意の所与の高性能処理スレッド1134は、遠位メモリ(far memory)拡張スレッドを受け入れることのできる拡張コネクタ1117を備えていてもよい。よって、その高性能処理スレッド1134にローカルに利用可能な該遠位メモリは、そのスレッド上に含まれるプロセッサおよび近位メモリ(near memory)から分別される(disaggregated)。いくつかの実施形態では、そのような高性能処理スレッド1134は、低レイテンシーのSSD記憶を有する拡張スレッドを使って遠位メモリをもって構成されてもよい。光インフラストラクチャーは、あるスレッド上の計算資源が、同じラックまたはデータ・センター内の他の任意のラックに位置するスレッド上に分別されているリモートのアクセラレータ/FPGA、メモリおよび/またはSSD資源を利用することを許容する。リモート資源は、図5を参照して上記したスパイン‐リーフ・ネットワーク・アーキテクチャーにおいて一スイッチ・ジャンプまたは二スイッチ・ジャンプ離れて位置されることができる。実施形態はこのコンテキストにおいて限定されない。
さまざまな実施形態において、ソフトウェア定義されたインフラストラクチャー1100Bのような仮想インフラストラクチャーを定義するために、抽象化の一つまたは複数の層が、物理的インフラストラクチャー1100Aの物理的資源に適用されてもよい。いくつかの実施形態では、ソフトウェア定義されたインフラストラクチャー1100Bの仮想コンピューティング資源1136は、クラウド・サービス1140の提供をサポートするために割り当てられてもよい。さまざまな実施形態において、仮想コンピューティング資源1136の特定の諸集合は、SDIサービス1138の形でクラウド・サービス1140に提供するためにグループ化されてもよい。クラウド・サービス1140の例は、限定なしに、サービスとしてのソフトウェア(SaaS: software as a service)サービス1142、サービスとしてのプラットフォーム(PaaS: platform as a service)サービス1144およびサービスとしてのインフラストラクチャー(IaaS: infrastructure as a service)サービス1146を含んでいてもよい。
いくつかの実施形態では、ソフトウェア定義されたインフラストラクチャー1100Bの管理は、仮想インフラストラクチャー管理フレームワーク1150Bを使って実施されてもよい。さまざまな実施形態において、仮想インフラストラクチャー管理フレームワーク1150Bは、仮想コンピューティング資源1136および/またはSDIサービス1138のクラウド・サービス1140への割り当てを管理するのと関連して、作業負荷フィンガープリンティング技法および/または機械学習技法を実装するよう設計されてもよい。いくつかの実施形態では、仮想インフラストラクチャー管理フレームワーク1150Bは、そのような資源割り当てを実行することに関連して、テレメトリー・データを使用/参照してもよい。さまざまな実施形態において、クラウド・サービス1140についてのQoS管理機能を提供するために、アプリケーション/サービス管理フレームワーク1150Cが実装されてもよい。実施形態はこのコンテキストにおいて限定されない。
ここで図12を参照するに、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するための例示的なコンピューティング装置1200は、他のコンポーネントもあるが、計算エンジン1202、データ記憶装置1210および通信回路1212を含んでいる。コンピューティング装置1200は、サーバー(たとえばスタンドアローンのサーバー、ラック・サーバー、ブレード・サーバーなど)、計算ノード、記憶ノード、スイッチ(たとえば分別された(disaggregated)スイッチ、ラックマウントのスイッチ、スタンドアローンのスイッチ、フルマネージ(fully managed)スイッチ、部分マネージ(partially managed)スイッチ、全二重スイッチおよび/または半二重通信モード対応スイッチ)、ルーターおよび/またはデータ・センターにおけるスレッド(たとえばスレッド204、404、504、1004、1130、1132、1134の一つ)として具現されてもよい。そのいずれも、一つまたは複数の物理的および/または仮想的なデバイスとして具現されうる。
使用においては、のちにさらに詳細に述べるように、コンピューティング装置1200のネットワーク・インターフェース・コントローラ(NIC)(たとえば通信回路1212のNIC 1214)が別のコンピューティング装置(図示せず)からネットワーク・パケットを受信する。他のコンピューティング装置は、モバイル・コンピューティング装置(たとえばスマートフォン、ラップトップ/タブレット・コンピューティング装置、ウェアラブル・コンピューティング装置など)、デスクトップ・コンピューティング装置、モノのインターネット(IoT)デバイス、サーバー(たとえばスタンドアローン、ラックマウント、ブレードなど)、スイッチ(たとえば分別されたスイッチ、ラックマウントのスイッチ、スタンドアローンのスイッチ、フルマネージ・スイッチ、部分マネージ・スイッチ、全二重スイッチおよび/または半二重通信モード対応スイッチ)、ルーター、ネットワーク機器、ウェブ機器、分散コンピューティング・システム、プロセッサ・ベースのシステムおよび/またはマルチプロセッサ・システムのようないかなる型のコンピューティング装置として具現されてもよい。そのいずれも、一つまたは複数の物理的および/または仮想的なデバイスとして具現されうる。ある例示的実施形態では、ソース・コンピューティング装置は、上記のスレッド204、404、504、1004、1130、1132、1134の一つのようなサーバー・スレッドとして具現されてもよい。
ネットワーク・パケットを受信すると、NIC 1214のネットワーク・ファブリック・インターフェース(たとえば図13のネットワーク・ファブリック・インターフェース1310)が受領されたネットワーク・パケットの内容(たとえばヘッダ(単数または複数)、ペイロード、フッタ(単数または複数)など)を分散式にNIC 1214のメモリ・ファブリック(たとえば図13のメモリ・ファブリック1318)に書き込むよう構成される。よって、メモリ・ファブリック1308は、本稿でセグメントと称される複数のメモリ記憶コンポーネント(図示せず)を含み、各セグメントは受領されたネットワーク・パケットの内容の記憶をサポートするために使用可能であることが理解されるはずである。ネットワーク・ファブリック・インターフェース1310はさらに、受領されたネットワーク・パケットの内容をメモリ・ファブリックに書き込んだ後、イベント・メッセージを、図13において例示的なNIC 1214の柔軟パケット・プロセッサ(FXP: flexible packet processor)1324として例示的に示されるパケット・プロセッサに送信して、ネットワーク・パケットが受信されたことを示すよう構成される。
イベント・メッセージを受信すると、FXP 1324は、ネットワーク・パケットの少なくとも一部を、該関連する部分(単数または複数)が書き込まれたメモリ・ファブリックの対応する位置(単数または複数)から読むよう構成される。それにより、FXP 1324は、特定の型のネットワーク・パケットが受信されたときに通知されることを要求した適用可能なエージェント(単数または複数)があればそれを同定できる。そのようなエージェントは、任意の型のアクセラレータ・エージェント(たとえばリモート直接メモリ・アクセス(RDMA: remote direct memory access)エージェント、暗号エージェントなど)、一つまたは複数のダイ上コア、埋め込まれた管理プロセッサ、トラフィック・マネージャなどを含みうる。通信を容易にするため、FXP 1324および各エージェントは、対応するエージェント・ファブリック・インターフェース(たとえば、図13のメモリ・ファブリック・インターフェース1304を参照)を含み、これは、メモリ・ファブリック1308を通じて通信するために統一されたプロトコルを提供するために使用可能である。よって、さまざまなエージェントは、イベント・メッセージを受信することに応答して、ホスト・ファブリック・インターフェース(たとえばホスト・ファブリック・インターフェース1318)がネットワーク・パケットをメモリ・ファブリックからホスト・メモリに(たとえば周辺コンポーネント相互接続エクスプレス(PCIe)または他の何らかの物理的相互接続型を通じて)送ってそれによりホストによってさらなる処理/アクションが行なわれうる前に、アクション(たとえば、読み出し/書き込み、追加的な処理、他のアクションをトリガーなど)を実行してもよい。
図12に例示的に示されるように、前記の計算エンジン1202、データ記憶装置1210および通信回路1212に加えて、コンピューティング装置1200はさらに、入出力(I/O)サブシステム1208およびいくつかの実施形態では一つまたは複数の周辺装置1216を含む。もちろん、他の実施形態では、コンピューティング装置1200は、コンピューティング装置に普通に見出されるもの(たとえば電源、冷却コンポーネント、グラフィック処理ユニット(GPU)など)のような他のまたは追加的なコンポーネントを含んでいてもよい。さらに、いくつかの実施形態では、例示的コンポーネントの一つまたは複数は、別のコンポーネントに組み込まれてもよく、あるいはさもなくば別のコンポーネントの一部をなしてもよい。
計算エンジン1202は、後述するさまざまな計算機能を実行することのできる任意の型の装置または装置の集まりとして具現されうる。いくつかの実施形態では、計算エンジン1202は、集積回路、埋め込まれたシステム、FPGA、システムオンチップ(SoC)または他の集積システムまたはデバイスのような単一の装置として具現されてもよい。追加的に、いくつかの実施形態では、計算エンジン1202は、プロセッサ1204およびメモリ1206を含んでいてもよく、あるいはさもなくばプロセッサ1204およびメモリ1206として具現されてもよい。プロセッサ1204は、本稿に記載される機能を実行できるいかなる型のプロセッサとして具現されてもよい。たとえば、プロセッサ1204は、一つまたは複数の単一コアまたは複数コア・プロセッサ、マイクロコントローラまたは他のプロセッサまたは処理/制御回路として具現されてもよい。いくつかの実施形態では、プロセッサ1204はFPGA、特定用途向け集積回路(ASIC)、再構成可能なハードウェアもしくはハードウェア回路または本稿に記載される機能の実行を容易にするための他の特化したハードウェアとして具現されても、それらを含んでいても、あるいはさもなくばそれらに結合されていてもよい。
メモリ1206は、本稿に記載される機能を実行することのできるいかなる型の揮発性(たとえば動的ランダムアクセスメモリ(DRAM)など)または不揮発性メモリまたはデータ記憶として具現されてもよい。メモリ1206はメイン・メモリ(すなわち主要メモリ)および/またはキャッシュ・メモリ(すなわちメイン・メモリより高速にアクセスできるメモリ)を含んでいてもよいことを理解しておくべきである。揮発性メモリは、媒体によって記憶されるデータの状態を維持するために電力を必要とする記憶媒体であってもよい。揮発性メモリの限定しない例は、さまざまな型のランダムアクセスメモリ(RAM)、たとえば動的ランダムアクセスメモリ(DRAM)または静的ランダムアクセスメモリ(SRAM)を含んでいてもよい。
メモリ・モジュールにおいて使用されうるDRAMの一つの具体的な型は、同期動的ランダムアクセスメモリ(SDRAM)である。個別的実施形態では、メモリ・コンポーネントのDRAMはJEDECによって公布された規格、たとえばDDR SDRAMについてのJESD79F、DDR2 SDRAMについてのJESD79-2F、DDR3 SDRAMについてのJESD79-3F、DDR4 SDRAMについてのJESD79-4F、低電力DDR(LPDDR)についてのJESD209、LPDDR2についてのJESD209-2、LPDDR3についてのJESD209-3およびLPDDR4についてのJESD209-4に準拠していてもよい(これらの規格はwww.jedec.orgで入手可能)。そのような規格(および同様の規格)はDDRベースの規格と称されてもよく、そのような規格を実装する記憶装置の通信インターフェースはDDRベースのインターフェースと称されてもよい。
ある実施形態では、メモリ・デバイスはブロック・アドレッサブルなメモリ・デバイス、たとえばNANDまたはNOR技術に基づくものである。メモリ・デバイスは、将来世代の不揮発性デバイス、たとえば三次元クロスポイント・メモリ・デバイス(たとえばインテル3D XPoint(商標)メモリ)または他のバイト・アドレッサブルなその場書き込み(write-in-place)不揮発性メモリ・デバイスをも含んでいてもよい。ある実施形態では、メモリ・デバイスは、カルコゲニド・ガラスを使うメモリ・デバイス、複数閾値レベルNANDフラッシュメモリ、NORフラッシュメモリ、単一もしくは複数レベル相変化メモリ(PCM)、抵抗性メモリ、ナノワイヤ・メモリ、強誘電性トランジスタ・ランダムアクセスメモリ(FeTRAM)、反強誘電性メモリ、磁気抵抗性ランダムアクセスメモリ(MRAM)メモリスタ技術を組み込むメモリ、金属酸化物ベース、酸素空位ベースおよび伝導ブリッジ・ランダムアクセスメモリ(CB-RAM)を含む抵抗性メモリまたはスピン転移トルク(STT)-MRAM、スピントロニック磁気接合メモリ・ベースのデバイス、磁気トンネル接合(MTJ)ベースのデバイス、DW(Domain Wall[磁壁])およびSOT(Spin Orbit Transfer[スピン軌道転移])ベースのデバイス、サイリスタ・ベースのメモリ・デバイスまたは上記のもしくは他のメモリの任意のものの組み合わせであってもよく、あるいはそれらを含んでいてもよい。メモリ・デバイスは、ダイそのものおよび/またはパッケージングされたメモリ・プロダクトを指しうる。
いくつかの実施形態では、3Dクロスポイント・メモリ(たとえばインテル3D XPoint(商標)メモリ)は、ワード線とビット線の交差部にメモリ・セルがあって個々にアドレッシング可能であり、ビット記憶がバルク抵抗の変化に基づく、トランジスタなしの積層可能なクロスポイント・アーキテクチャーを有していてもよい。いくつかの実施形態では、メモリ1206の全部または一部がプロセッサ1204に統合されてもよい。動作において、メモリ1206は、動作の間に使われるさまざまなソフトウェアおよびデータ、たとえばジョブ要求データ、カーネル・マップ・データ、テレメトリー・データ、アプリケーション、プログラム、ライブラリおよびドライバを記憶してもよい。
計算エンジン1202は、コンピューティング装置1200の他のコンポーネントに、I/Oサブシステム1208を介して通信可能に結合される。I/Oサブシステム1208は、計算エンジン1202との(たとえばプロセッサ1204および/またはメモリ1206との)およびコンピューティング装置1200の他のコンポーネントとの入出力動作を容易にするための回路および/またはコンポーネントとして具現されてもよい。たとえば、I/Oサブシステム1208は、メモリ・コントローラ・ハブ、入出力制御ハブ、統合されたセンサー・ハブ、ファームウェア装置、通信リンク(たとえばポイントツーポイント・リンク、バス・リンク、ワイヤ、ケーブル、光ガイド、プリント回路基板トレースなど)および/または該入出力動作を容易にする他のコンポーネントおよびサブシステムとして具現されてもよく、あるいはさもなくばそれらを含んでいてもよい。いくつかの実施形態では、I/Oサブシステム1208はSoCの一部をなしてもよく、プロセッサ1204、メモリ1206およびコンピューティング装置1200の他のコンポーネントと一緒に、計算エンジン1202に組み込まれてもよい。
前記一つまたは複数のデータ記憶装置1210は、データの短期的または長期的記憶のためのいかなる型の装置として具現されてもよい。たとえば、メモリ・デバイスおよび回路、メモリ・カード、ハードディスクドライブ、半導体ドライブまたは他のデータ記憶デバイスなどである。各データ記憶装置1210は、データ記憶装置1210のためのデータおよびファームウェア・コードを記憶するシステム・パーティションを含んでいてもよい。さらに、各データ記憶装置1210は、オペレーティング・システムのためのデータ・ファイルおよび実行可能物を記憶するオペレーティング・システム・パーティションをも含んでいてもよい。
通信回路1212は、コンピューティング装置1200と他のコンピューティング装置(たとえばソース・コンピューティング装置)との間のネットワーク(図示せず)を通じたネットワーク通信を可能にすることのできる任意の通信回路、装置またはその集まりとして具現されてもよい。そのようなネットワークは、いかなる型の有線もしくは無線の通信ネットワークとして具現されてもよい。それには、グローバル・ネットワーク(たとえばインターネット)、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)、セルラー・ネットワーク(たとえばグローバル移動通信システム(GSM)、3G、ロングタームエボリューション(LTE)、ワールドワイドインターオペラビリティーフォーマイクロウェーブアクセス(WiMAX)など)、デジタル加入者線(DSL)ネットワーク、ケーブル・ネットワーク(たとえば同軸ネットワーク、ファイバー・ネットワークなど)またはそれらの任意の組み合わせが含まれる。
よって、通信回路1212は、そのような通信を実現するために任意の一つまたは複数の通信技術(たとえば有線または無線通信)および関連するプロトコル(たとえばイーサネット、ブルートゥース(登録商標)、Wi-Fi(登録商標)、WiMAXなど)を使うよう構成されうる。例示的な通信回路1212は、ネットワーク・インターフェース・コントローラ(NIC)1214を含んでいる。これは、ホスト・ファブリック・インターフェース(HFI: host fabric interface)と称されてもよく、図13においてさらに詳細に述べる。NIC 1214は、一つまたは複数のアドイン基板、ドーター・カード、ネットワーク・インターフェース・カード、コントローラ・チップまたは別のコンピューティング装置に/からネットワーク通信を送信/受信するためにコンピューティング装置1200によって使用される他のデバイスとして具現されてもよい。
周辺装置(単数または複数)1216は、情報をコンピューティング装置1200に入力するためおよび/または情報をコンピューティング装置1200から受け取るために使用可能な任意の型の装置を含みうる。周辺装置1216は、キーボード、マウス、マイクロフォン、バーコード・リーダー、イメージ・スキャナーなどのようにコンピューティング装置1200に情報を入力するため、あるいはディスプレイ、スピーカー、グラフィック回路、プリンター、プロジェクターなどのようにコンピューティング装置1200から情報を出力するために使用可能な任意の補助装置として具現されてもよい。いくつかの実施形態では、周辺装置1216の一つまたは複数が入力装置および出力装置の両方として機能してもよいことは理解しておくべきである(たとえば、タッチスクリーン・ディスプレイ、ディスプレイ画面上のデジタイザーなど)。さらに、コンピューティング装置1200に接続される周辺装置1216の型がたとえばコンピューティング装置1200の型および/または意図される使用に依存しうることを理解しておくべきである。追加的または代替的に、いくつかの実施形態では、周辺装置1216は、USBポートのような一つまたは複数のポートを、たとえばコンピューティング装置1200に外部周辺装置1216を接続するために、含んでいてもよい。
ここで図13を参照するに、図12のコンピューティング装置1200のNIC 1214は、動作中に環境1300を確立してもよい。例示的環境1300は、物理的なネットワーク・アクセス回路1302、イーサネット・サブシステム1344、一つまたは複数のアクセラレータ・エージェント1326、一つまたは複数の処理コア1328、インフラストラクチャー1330、物理的なホスト・アクセス回路1322、FPGAインターフェース1336および一つまたは複数のメモリ・コントローラ1340を含む。環境1300のさまざまなコンポーネントは、ハードウェア、ファームウェア、ソフトウェアまたはそれらの組み合わせとして具現されてもよい。よって、いくつかの実施形態では、環境1300のコンポーネントの一つまたは複数は、回路または電気装置の集まりとして具現されてもよい。さらに、いくつかの実施形態では、例示的なコンポーネントの一つまたは複数は、別のコンポーネントの一部をなしてもよく、例示的なコンポーネントの一つまたは複数が互いに独立であってもよい。
物理的なネットワーク・アクセス回路1302は、はいってくるネットワーク・トラフィックを受信し、出て行くネットワーク・トラフィックをルーティング/送信するよう構成される。コンピューティング装置1200への/からの内向きネットワーク通信の受信および外向きネットワーク通信(たとえば、ネットワーク・トラフィック、ネットワーク/パケット、ネットワーク・フローなど)の送信を容易にするために、物理的なネットワーク・アクセス回路1302は、NIC 1214の物理的なおよび仮想のネットワーク・ポート(たとえば仮想ネットワーク・インターフェース)およびそれに付随する進入(ingress)/出行(egress)バッファ/待ち行列への接続を管理する(たとえば、生成する、修正する、削除するなど)よう構成される。物理的なネットワーク・アクセス回路1302はさらに、物理的なネットワーク・アクセス回路1302において受領されたネットワーク・パケットをイーサネット・サブシステム1344に転送するよう構成される。たとえば、一つまたは複数の物理的なまたは仮想のイーサネット・レーンを介して転送されてもよい。
先述したように、メモリ・ファブリック1308は、統一したプロトコルを介してメモリ・ファブリック1308を通じて通信するために使用可能な、いくつかのメモリ・ファブリック・インターフェース1304を含む。例示的なメモリ・ファブリック・インターフェース1304は、一つまたは複数のネットワーク・ファブリック・インターフェース1310、複数のエージェント・ファブリック・インターフェース1314(たとえばエージェント・ファブリック・インターフェース1314a、1314b、1314c、1314d、1314eおよび1314f)および一つまたは複数のホスト・ファブリック・インターフェース1318を含む。メモリ・ファブリック・インターフェース1304によるメモリ・ファブリック・セグメントの割り当ておよび割り当て解除を容易にするために、メモリ・ファブリック・インターフェース1304のそれぞれは、通信リンク1316に通信上結合される。
例示的に示されるように、エージェント・ファブリック・インターフェース1314aは、FXP 132のための通信インターフェースとして機能するよう構成されており、一方、エージェント・ファブリック・インターフェース1314bは、アクセラレータ・エージェント(単数または複数)1326のための通信インターフェースとして機能するよう構成されている。エージェント・ファブリック・インターフェース1314bが二つ以上のエージェント・ファブリック・インターフェース1314(たとえば、各アクセラレータ・エージェント1326のために一つのエージェント・ファブリック・インターフェース1314)を含んでいてもよいことは理解しておくべきである。やはり例示的に示されるように、エージェント・ファブリック・インターフェース1314cはダイ上コアのための通信インターフェースとして機能するよう構成され、エージェント・ファブリック・インターフェース1314dはトラフィック・マネージャ1334のための通信インターフェースとして機能するよう構成され、エージェント・ファブリック・インターフェース1314eはFPGAインターフェース1336のための通信インターフェースとして機能するよう構成され、エージェント・ファブリック・インターフェース1314fは埋め込まれた管理プロセッサ(EMP: embedded management processor)ユニット1338のための通信インターフェースとして機能するよう構成される。
例示的なメモリ・ファブリック1308はさらに、メモリ・ファブリック1308の諸セグメント(図示せず)へ/からデータを読む/書き込む要求を管理するよう構成されたセグメント・プール・マネージャ1312を含む。要求を管理するために、いくつかの実施形態では、要求はそれぞれのメモリ・ファブリック・インターフェース1304からセグメント・プール・マネージャ1312に送信されてもよい。換言すれば、セグメント・プール・マネージャ1312は、エージェント(たとえば前記一つまたは複数のアクセラレータ・エージェント1326、前記一つまたは複数のダイ上コア1328、前記一つまたは複数のEMPユニット1338、前記トラフィック・マネージャ1134など)と直接にではなく、メモリ・ファブリック・インターフェース1304と通信するよう構成される。セグメント・プール・マネージャ1312はさらに、メモリ・ファブリック1308のメモリの諸セグメント(すなわち、ファブリック・メモリ単位)を割り当てるとともに、メモリ・ファブリック1308のメモリの割り当てられたセグメントを割り当て解除するよう構成される。いくつかの実施形態では、セグメント・プール・マネージャ1312は、メモリ・ファブリック1308のメモリの各セグメントを固定サイズ(たとえば256バイト)を使って割り当てるよう構成されてもよい。さらに、セグメント・プール・マネージャ1312は、ネットワーク・パケットのデータ・ブロックがメモリ・ファブリック1308に書き込まれるところを示すよう構成される。これはたとえば、特定のセグメントの書き込み位置を同定するために使用可能なセグメント・ポインタによって示されてもよい。
ホスト・ファブリック・インターフェース1318は、メモリ・ファブリック1308とイーサネット・サブシステム1344のホスト・インターフェース1320との間のインターフェースとして機能するよう構成される。イーサネット・サブシステム1344自身は物理的なホスト・アクセス回路1322とホスト・ファブリック・インターフェース1318との間のインターフェースとして機能するよう構成される。よって、ホスト・ファブリック・インターフェース1318は、ネットワーク・パケット・データの割り当ておよび書き込みをメモリ・ファブリック1308に差し向けるとともに、メモリ・ファブリック1308からネットワーク・パケット・データを読み、割り当て解除するよう構成されてもよい。物理的なホスト・アクセス回路1322は、ホスト・メモリ(たとえば図12の計算エンジン1202のメモリ1206)へのアクセスを提供するために、コンピューティング装置の一つまたは複数のホスト・プロセッサ(たとえば図12の計算エンジン1202のプロセッサ1204)と、PCIe相互接続のような一つまたは複数の通信リンクを介してインターフェースをもつよう構成される。
NIC 1214の例示的環境1300は、エージェント・ファブリック・インターフェース1314cおよびインフラストラクチャー1330を介してメモリ・ファブリック1308に通信上結合される一つまたは複数のダイ上コア1328を含んでいる。よって、ダイ上コア1328は、演算対象のデータがNIC 1214からリモートな位置に移される必要なしに、ある種の演算を実行するよう計算パワーを提供することができる。それにより、普通ならデータを移すことによって導入されるレイテンシーが解消される。インフラストラクチャー1330は、ダイ上コア1328および/またはホスト・インターフェース1320の通信、状態および制御を管理するためのさまざまなコンポーネントを含んでいてもよい。たとえば、シリアル通信インターフェース(たとえば普遍非同期受信器および送信器(UART: universal asynchronous receiver and transmitter)、シリアル周辺インターフェース(SPI: serial peripheral interface)バスなど)、試験/デバッグ・インターフェース、デジタル端末センサー、I/Oコントローラなどである。SRAM 1332はダイ上コア1328に通信上結合され、ダイ上コア1328のためのデータ(たとえば作業待ち行列、通知、割り込みなど)を一時的に記憶するために使われてもよい。
例示的なイーサネット・サブシステム1344はさらに、エージェント・ファブリック・インターフェース1314dに通信上結合されたトラフィック・マネージャ1334と、エージェント・ファブリック・インターフェース1314fに通信上結合されたEMPユニット1338とを含む。トラフィック・マネージャ1334は、サービス・レベル合意(SLA: service-level agreement)を実施するために実行されうるような、パケット処理データ経路におけるトラフィック管理を実行するよう構成される。EMPユニット1338は、デバイス・ドライバによって実行することができず、オンチップで実行される必要のあるすべての管理任務を扱うよう構成される。そのような管理任務は、電源投入シーケンス、管理者待ち行列コマンドの処理、イーサネット・ポートの初期化、さまざまなファブリック構成プロトコルへの参加、受信された構成要求の処理およびイーサネット・ポートから受領された特別な構成要求の処理といったものである。
NIC 1214の例示的環境1300はさらに、エージェント・ファブリック・インターフェース1314eに通信上結合されたFPGAインターフェース1336およびメモリ・ファブリック1308に対応するシム1342を介して通信上結合された一つまたは複数のメモリ・コントローラ1340を含む。FPGAインターフェースは、たとえば物理的なホスト・アクセス回路1322によって容易にされるコヒーレントな、低レイテンシーの相互接続を介して、コンピューティング装置1200のFPGAモジュール/デバイス(図示せず)とインターフェースをもつよう構成される。メモリ・コントローラ1340は、NIC 1214の外部であるがホスト(たとえば図12の計算エンジン1202のプロセッサ1204)ではなくNIC 1214によって管理されるDDR SDRAMを駆動するよう構成された倍速データレート(DDR)メモリ・コントローラであってもよい。
ここで図14を参照するに、使用において、コンピューティング装置1200または特にコンピューティング装置1200のNIC 1214は、ネットワーク・パケットを受信することに応答してイベント・メッセージを生成するための方法1400を実行してもよい。いくつかの実施形態では、方法1400の動作は、図13に示されるNIC 1214の環境1300の一つまたは複数のコンポーネントによって実行されてもよいことを理解しておくべきである。方法1400はブロック1402で始まり、NIC 1214はネットワーク・パケットが(たとえばネットワーク・ファブリック・インターフェース1310において、物理的なネットワーク・アクセス回路1302を介して)受信されたかどうかを判定する。もしそうであれば、方法1400はブロック1404に進み、NIC 1214またはより特定的にはNIC 1214のネットワーク・ファブリック・インターフェース1310は、受信されたネットワーク・パケットを分散式にメモリ・ファブリック(たとえば図13のメモリ・ファブリック1308)に書き込む。そうするために、ブロック1406において、ネットワーク・ファブリック・インターフェース1310は、受信されたネットワーク・パケットの内容(たとえばヘッダ(単数または複数)、ペイロードおよびフッタ(単数または複数))を、セグメント・プール・マネージャ(たとえば図13のセグメント・プール・マネージャ1312)によって以前に割り当てられたメモリ・ファブリック1308の複数のセグメントに書き込む。
ブロック1408では、ネットワーク・ファブリック・インターフェース1310は、イベント・メッセージを生成してFXP(たとえば図13のFXP 1324)に送って、前記受信されたネットワーク・パケットが受信されたことを示す。いくつかの実施形態では、ネットワーク・ファブリック・インターフェース1310は、FXP 1324を巻き込む必要なしにネットワーク・ファブリック・インターフェース1310によって何らかの解析が実行されうるよう、何らかの処理機能を含んでいてもよいことを理解しておくべきである。たとえば、そのような実施形態において、ネットワーク・ファブリック・インターフェース1310は、本稿でFXP 1324によって実行されると記載される図15の方法1500において記載されるものと同様の技法を使って、ネットワーク・パケットの追加的な処理のために一つまたは複数のエージェントを識別するためにネットワーク・ファブリック・インターフェース1310が使用しうるある種のフローを識別するよう構成されてもよい。
イベント・メッセージを送るために、ブロック1410において、ネットワーク・ファブリック・インターフェース1310は、メモリ・ファブリック1308の専用のメッシュ層(図示せず)を使う。さらに、ブロック1412において、ネットワーク・ファブリック・インターフェース1310は、受信されたネットワーク・パケットが書き込まれたメモリ位置を同定するために使用可能なセグメント・ポインタを含める。さらに、ブロック1414において、ネットワーク・ファブリック・インターフェース1310はイベント・メッセージのサービス・クラスを識別する。実施形態に依存して、各サービス・クラスはシステム資源の異なる割り当ておよびそれに関連する異なる優先度レベルを有していてもよい。サービス・クラスに割り当てられた資源またはサービス・クラスの優先度に関わりなく、各サービス・クラスは資源の別個の割り当てをもち、それにより、サービス・クラスの間でヘッドオブライン(HOL: head-of-line)ブロッキングがないことを理解しておくべきである。
サービス・クラスを決定するためにさまざまな入力が使用されうる。たとえば、ネットワーク・パケットに関連付けられたトラフィック・クラス、イベント型(たとえば受信パケット・イベント、送信パケット・イベント、非パケット・イベントなど)、関連付けられたネットワーク・ポートおよび受信されたイベント・メッセージに応答して実行されている現在の処理段階である。たとえば、FXP 1324は、ネットワーク・ファブリック・インターフェース1310から直接くる受信パケット・イベントと、第一のパスでFXP 1324によってすでに処理されており、次いでエージェント(たとえば解読のための暗号アクセラレータ)を通過し、その後修正されたネットワーク・パケット(たとえば解読されたパケット)を処理するためにFXP 1324に返送された受信パケット・イベントとを処理していてもよい。そのような条件のもとでは、各イベントは異なる識別子(たとえばプレFXPかポスト解読)を有していてもよい。よって、該異なる識別子のため、分類の結果は異なるサービス・クラスになりうる。それにより、プレFXPパケット・イベント・メッセージはポスト解読パケット・イベントから隔離されることができる(たとえばHOLブロッキングなし)。よって、FXP 1324は、分類に基づいてイベント・メッセージの受信に際して特定のアクションを行なってもよい。たとえば、あるサービス・クラス型を別のサービス・クラス型よりも優先させる、イベント・メッセージをホスト・インターフェース装置1310またはエージェント・ファブリック・インターフェース装置1314に送る、などである。
ここで図15を参照するに、使用において、コンピューティング装置1200またはより特定的にはコンピューティング装置1200のNIC 1214は、エージェント‐メッシュ・アーキテクチャーにおいて到来ネットワーク・パケットを処理するための方法1500を実行してもよい。いくつかの実施形態では、方法1500の動作は、図13に示されるNIC 1214の環境1300の一つまたは複数のコンポーネントによって実行されてもよいことを理解しておくべきである。方法1500はブロック1502で始まり、NIC 1214またはより特定的にはNIC 1214のFXP 1324は、イベント・メッセージが(たとえば該イベント・メッセージに関連付けられたネットワーク・パケットを受信したことに応答して)ネットワーク・ファブリック・インターフェース1310から受信されたかどうかを判定する。もしそうであれば、方法1500はブロック1504に進み、FXP 1324はクラス型によってイベント・メッセージをフィルタリングする。
換言すれば、FXP 1324は、受信されたイベント・メッセージに割り当てられたサービス・クラスを決定する。ブロック1506では、FXP 1324は、指定されたサービス・クラス型の関数としてイベント・メッセージを調停する(arbitrate)。先述したように、サービス・クラス・イベントは複数のサービス・クラス型を含んでいてもよい。いくつかの実施形態では、FXP 1324は、イベント内の一つまたは複数のフィールド(たとえばイベントのメタデータ)に基づいて、サービス・クラス型指定イベント・メッセージを調整する。換言すれば、FXP 1324は、受信されたイベント・メッセージを、指定されたクラス型に関連付けられた待ち行列に入れ、受信されたイベント・メッセージが対応するイベント・メッセージ待ち行列から取り出された際に方法1500の残りの動作を実行してもよい。いくつかの実施形態では、特定のサービス・クラス型をもつあるサービス・クラス待ち行列が、別のサービス・クラス型をもつ別のサービス・クラス待ち行列より高い優先度をもつことがありうることを理解しておくべきである。
ブロック1508において、FXP 1324は、イベント・メッセージに関連付けられたネットワーク・パケットの少なくとも一部分(たとえば、ヘッダ、ペイロードおよび/またはフッタの少なくとも一部分)を読む。そうするために、ブロック1510において、FXP 1324は、ネットワーク・パケットの少なくとも前記部分を、メモリ・ファブリック1308内に位置されるセグメントから読む。セグメント位置は、イベント・メッセージとともに受信されたセグメント・ポインタに基づいて決定される。さらに、ブロック1512において、FXP 1324は、読まれるべきネットワーク・パケットの部分を、イベント・メッセージを受信する対応するエージェントに関連付けられたポリシー(たとえば使用モデル)に基づいて決定する。
ブロック1514では、FXP 1324は、ネットワーク・パケットの追加的な処理のために一つまたは複数のエージェント(たとえば、図13のメモリ・ファブリック・インターフェース1304を介してFXPに接続されていることを参照)を同定する。先述したように、エージェントは、任意の型のアクセラレータ・エージェント3126(たとえばリモート直接メモリ・アクセス(RDMA)エージェント、暗号エージェントなど)、一つまたは複数のダイ上コア1328、EMPユニット1338、トラフィック・マネージャ1334などを含みうる。エージェント(単数または複数)を同定するために、ブロック1516において、FXP 1324はネットワーク・パケットの読み出し部分をパースする。さらに、ブロック1518において、FXP 1324は、ネットワーク・パケットを、ネットワーク・パケットのパースされた読み出し部分の関数として分類する。さらに、ブロック1520において、FXP 1324は分類を、それぞれの利用可能なエージェントに関連付けられたポリシーと突き合わせて比較し、追加的な処理のためのエージェントを同定する。ある種の条件のもとでは、二つ以上のエージェントが当該ネットワーク・パケットを(たとえば前記同定されたエージェントと直列または並列に)処理する必要があることがあることを理解しておくべきである。
ブロック1522では、ある種の条件のもとで、FXP 1324はネットワーク・パケットを修正してもよい。もしそうであれば、ブロック1524において、FXP 1324は、修正されたネットワーク・パケットをメモリ・ファブリック1308に分散式に(たとえばメモリ・ファブリック1308の複数のセグメントにまたがって)書き戻す。ブロック1526では、FXP 1324は、別のイベント・メッセージを生成する。ブロック1528では、FXP 1324は、イベント・メッセージを、特定のサービス・クラスをもつものとして分類する。先述したように、FXP 1324によって実行されるサービス・クラス分類は、イベント・メッセージの一つまたは複数のパラメータに基づいていてもよい。該パラメータは、イベント・メッセージに関連付けられたネットワーク・パケットの分類、ネットワーク・パケットの修正の結果、そのイベント・メッセージを受信すると識別された別のエージェント、そのイベント・メッセージを受信すると識別された最終的なエージェント、関連付けられたトラフィック・クラスなどである。よって、ある種の条件のもとでは、そのネットワーク・パケットがブロック1522において修正されたなどといったある種の条件ものとで、ブロック1502で受信されたイベント・メッセージの割り当てられたサービス・クラスが、ブロック1526で生成されたイベント・メッセージに割り当てられる分類とは異なることがありうることを理解しておくべきである。
ブロック1530では、ネットワーク・パケットが適切なホストに(たとえばホスト・ファブリック・インターフェース1318を介して)送られる前に、FXP 1324は、ブロック1526で生成された他のイベント・メッセージを、追加的な処理のために同定されたエージェント(単数または複数)に送信する。たとえば、FXP 1324は、イベント・メッセージを、FPGAインターフェース1336およびエージェント・ファブリック・インターフェース1314eを介してFPGAに、エージェント・ファブリック・インターフェース1314cを介してダイ上コア(単数または複数)1328に、エージェント・ファブリック・インターフェース1314bを介してアクセラレータ・エージェント(単数または複数)(たとえばRDMAエージェント、暗号エージェントなど)に、あるいはカスタムのインターネット・プロトコル(IP)アドレスに送信してもよい。
ここで図16を参照するにエージェント‐メッシュ・アーキテクチャーにおいて外向きネットワーク・パケットを処理するための通信フロー1600の実施形態が、図12の計算エンジン1202と、図12および図13のNICとを含む。例示的な通信フロー1600はいくつかのデータ・フローを含み、そのいくつかは実施形態に依存して別個にまたは一緒に実行されてもよい。データ・フロー1602では、計算エンジン1202のプロセッサ1204が別のコンピューティング装置(図示せず)に送信されるネットワーク・パケットのためのデータを生成する。データ・フロー1604では、プロセッサ1204は、データをNIC 1214に、あるいはより特定的にはホスト・インターフェース1320に(たとえば図13の物理的なホスト・アクセス回路1322を介して)送る。データ・フロー1606では、ホスト・インターフェース1320は受信されたデータをパケット化し、データ・フロー1608において、ネットワーク・パケットをホスト・ファブリック・インターフェース1318に転送する。
データ・フロー1610では、ホスト・ファブリック・インターフェース1318はネットワーク・パケットをメモリ・ファブリック(たとえば図13のメモリ・ファブリック1308)に分散式に(たとえばメモリ・ファブリック1308の複数のセグメントにまたがって)書き込む。データ・フロー1612では、ホスト・ファブリック・インターフェース1318が、新たなネットワーク・パケットがメモリ・ファブリック1318に書き込まれたことを示すイベント・メッセージ(たとえば新たなネットワーク・パケット・イベント・メッセージ)を生成する。いくつかの実施形態では、ホスト・ファブリック・インターフェース1318は、FXP 1324を巻き込む必要なしにネットワーク・ファブリック・インターフェース1310によって何らかの解析が実行されうるよう、何らかの処理機能を含んでいてもよいことを理解しておくべきである。たとえば、そのような実施形態において、ホスト・ファブリック・インターフェース1318はある種のフローを識別するよう構成されていてもよい。かかるフローは、ここでFXP 1324によって実行されると記載されるデータ・フロー1616〜1620において記載されるものと同様の技法を使って、ネットワーク・パケットの追加的な処理のために前記一つまたは複数のエージェントを識別するためにホスト・ファブリック・インターフェース1318が使用しうるものである。
データ・フロー1614では、ホスト・ファブリック・インターフェース1318は、イベント・メッセージをFXP 1324に転送する。イベント・メッセージを受信すると、データ・フロー1616において、FXP 1324は、該新たなネットワーク・パケットの少なくとも一部分をメモリ・ファブリック1308からフェッチして読む。そうするために、イベント・メッセージが、前記新たなネットワーク・パケットが記憶されたメモリ・ファブリック1308内の位置を同定するために使用可能なポインタを含んでいてもよいことを理解しておくべきである。データ・フロー1618では、FXP 1324は、NIC 1214から送信するのに先立って前記新たなネットワーク・パケットに対して追加的な処理を実行するよう構成されている、NIC 1214の一つまたは複数のエージェント(たとえば、前記一つまたは複数のアクセラレータ・エージェント1326、前記一つまたは複数のダイ上コア1328、前記EMPユニット1338、前記トラフィック・マネージャ1134など)を同定する。データ・フロー1620では、FXP 1324は、イベント・メッセージ(たとえばネットワーク・パケット送信イベント・メッセージ)を生成し、同定されたエージェントに送信する。データ・フロー1622では、ネットワーク・ファブリック・インターフェース1310は、同定されたエージェントから、それによって実行される追加的な処理動作が完了したという指示を受信したことに応答して、別のコンピューティング装置への送信のために、ネットワーク・パケット全体をメモリ・ファブリック1308から読み、割り当て解除する
本稿に開示される技術の例解用の例が下記で与えられる。これらの技術の実施形態は、下記の実施例の任意の一つまたは複数および任意の組み合わせを含みうる。
実施例1は、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置を含み、当該コンピューティング装置は:計算エンジンと;ネットワーク・インターフェース・コントローラ(NIC)とを有しており、前記NICは該NICのメモリ・ファブリックおよび複数のエージェントに通信上結合されたパケット・プロセッサを有しており、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されており、前記NICは: 前記メモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し; 前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを前記パケット・プロセッサに送り; 前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット受信イベント・メッセージを生成し; 前記パケット・プロセッサによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信する。
実施例2は、実施例1の主題を含み、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが: 前記受信されたネットワーク・パケットの前記読み出された部分をパースし; 前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し; 前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む。
実施例3は、実施例1および2のいずれか一項の主題を含み、前記NICはさらに、前記パケット・プロセッサによって、前記ネットワーク・パケットを修正し、修正されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き戻す。
実施例4は、実施例1ないし3のうちいずれか一項の主題を含み、前記ネットワーク・パケット受信イベント・メッセージを前記パケット・プロセッサに送ることが、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタを含めることを含む。
実施例5は、実施例1ないし4のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む。
実施例6は、実施例1ないし5のうちいずれか一項の主題を含み、前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類し、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することを含む。
実施例7は、実施例1ないし6のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む。
実施例8は、実施例1ないし7のうちいずれか一項の主題を含み、前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求し、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む。
実施例9は、実施例1ないし8のうちいずれか一項の主題を含み、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することが、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに関連付けられているエージェント・ファブリック・インターフェースに送信することを含む。
実施例10は、実施例1ないし9のうちいずれか一項の主題を含み、前記NICがさらに、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除する。
実施例11は、実施例10ないし11のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが: 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し; 前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む。
実施例12は、実施例1ないし11のうちいずれか一項の主題を含み、前記NICがさらに: 前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから前記NICのホスト・インターフェースによって受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み; 前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し; 前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに送り; 前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し; 前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し; 前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケットが別のコンピューティング装置に送信されるべきであるという指示を前記同定されたエージェントから受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除する。
実施例13は、実施例1ないし12のうちいずれか一項の主題を含み、前記ホスト・ファブリック・インターフェースによって前記新ネットワーク・パケット・イベント・メッセージを送ることが: 前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し; 前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し; 前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む。
実施例14は、エージェント‐メッシュ・アーキテクチャーにおいてコンピューティング装置によってネットワーク・パケットを処理する方法を含む。当該方法は: 前記コンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)のメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し; 前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを、前記メモリ・ファブリックに通信上結合されたパケット・プロセッサに送り; 前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために複数のエージェントのうちのあるエージェントを同定する段階であって、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されている、段階を実行し; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すもう一つのイベント・メッセージを生成し; 前記パケット・プロセッサによって、生成された前記もう一つのイベント・メッセージを前記同定されたエージェントに送信することを含む。
実施例15は、実施例14の主題を含み、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが、(i)前記受信されたネットワーク・パケットの前記読み出された部分をパースし;(ii)前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し;(iii)前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む。
実施例16は、実施例14および15のうちいずれか一項の主題を含み、前記パケット・プロセッサによって前記ネットワーク・パケットを修正し;前記パケット・プロセッサによって、修正されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き戻すことをさらに含む。
実施例17は、実施例14ないし16のうちいずれか一項の主題を含み、前記生成されたイベント・メッセージを前記パケット・プロセッサに送ることが、前記生成されたイベント・メッセージを、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタとともに送ることを含む。
実施例18は、実施例14ないし17のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む。
実施例19は、実施例14ないし18のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類することをさらに含み、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することをさらに含む。
実施例20は、実施例14ないし19のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む。
実施例21は、実施例14ないし20のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求することをさらに含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む。
実施例22は、実施例14ないし21のうちいずれか一項の主題を含み、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに送信することが、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに関連付けられているエージェント・ファブリック・インターフェースに送信することを含む。
実施例23は、実施例14ないし22のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む。
実施例24は、実施例14ないし23のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが: 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し; 前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む。
実施例25は、実施例14ないし24のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み; 前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し; 前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに送り; 前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し; 前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し; 前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット送信イベント・メッセージを受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む。
実施例26は、実施例14ないし25のうちいずれか一項の主題を含み、前記ホスト・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが: 前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し; 前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し; 前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し; 前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む。
実施例27は、コンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)の一つまたは複数の機械可読媒体を含む。該機械可読媒体は、実行されたときに、前記NICに実施例14ないし26のうちいずれか一項の方法を実行させる複数の命令を記憶している。
実施例28は、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置を含む。当該コンピューティング装置は、一つまたは複数のプロセッサと;ネットワーク・インターフェース・コントローラ(NIC)とを有する。前記NICは該NICによって実行されたときに実施例14ないし26のうちいずれか一項の方法を当該コンピューティング装置に実行させる複数の命令を記憶している。
実施例29は、エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置を含む。前記コンピューティング装置は: 前記コンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)のメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込む手段;と 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成する手段と; 前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを、前記メモリ・ファブリックに通信上結合されたパケット・プロセッサに送る手段と; 前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために複数のエージェントのうちのあるエージェントを同定する手段であって、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されている、手段と; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すもう一つのイベント・メッセージを生成する手段と; 前記パケット・プロセッサによって、生成された前記もう一つのイベント・メッセージを前記同定されたエージェントに送信する手段とを含む。
実施例30は、実施例29の主題を含み、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定する手段が、(i)前記受信されたネットワーク・パケットの前記読み出された部分をパースし;(ii)前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し;(iii)前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定する手段を含む。
実施例31は、実施例29および30のうちいずれか一項の主題を含み、前記パケット・プロセッサによって前記ネットワーク・パケットを修正する手段と;前記パケット・プロセッサによって、修正されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き戻す手段とをさらに含む。
実施例32は、実施例29ないし31のうちいずれか一項の主題を含み、前記生成されたイベント・メッセージを前記パケット・プロセッサに送ることが、前記生成されたイベント・メッセージを、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタとともに送る手段を含む。
実施例33は、実施例29ないし32のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出す手段が、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出す手段を含む。
実施例34は、実施例29ないし33のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類する手段をさらに含み、前記エージェントを同定する手段が、前記イベント分類に応じて前記エージェントを同定する手段を含む。
実施例35は、実施例29ないし34のうちいずれか一項の主題を含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込む手段が、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込む手段を含む。
実施例36は、実施例29ないし35のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求する手段をさらに含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込む手段が、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込む手段を含む。
実施例37は、実施例29ないし36のうちいずれか一項の主題を含み、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに送信する手段が、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに関連付けられているエージェント・ファブリック・インターフェースに送信する手段を含む。
実施例38は、実施例29ないし37のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除する手段をさらに含む。
実施例39は、実施例29ないし38のうちいずれか一項の主題を含み、前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送る手段が: 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定する手段と; 前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成する手段と; 前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信する手段を含む。
実施例40は、実施例29ないし39のうちいずれか一項の主題を含み、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込む手段と; 前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成する手段と; 前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに送る手段と; 前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と; 前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定する手段と; 前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成する手段と; 前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信する手段と; 前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット送信イベント・メッセージを受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除する手段とをさらに含む。
実施例41は、実施例29ないし40のうちいずれか一項の主題を含み、前記ホスト・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送る手段が: 前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出す手段と; 前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定する手段と; 前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成する手段と; 前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信する手段とを含む。
1200 コンピューティング装置
1202 計算エンジン
1204 プロセッサ
1206 メモリ
1208 I/Oサブシステム
1210 データ記憶装置
1212 通信回路
1216 周辺装置

1302 物理的なネットワーク・アクセス回路
1308 メモリ・ファブリック
1310 ネットワーク・ファブリック・インターフェース
1312 セグメント・プール・マネージャ
1318 ホスト・ファブリック・インターフェース
1320 ホスト・インターフェース
1322 物理的なホスト・アクセス回路
1324 柔軟パケット・プロセッサ
1326 アクセラレータ・エージェント
1328 コア
1330 インフラストラクチャー
1334 トラフィック・マネージャ
1336 FPGAインターフェース
1338 EMPユニット
1340 メモリ・コントローラ
1342 シム

1402 ネットワーク・パケット受信?
1404 受信されたネットワーク・パケットを分散式にメモリ・ファブリックに書き込む
1406 受信されたネットワーク・パケットの内容を、セグメント・プール・マネージャによって割り当てられたメモリ・ファブリックの複数のセグメントに書き込む
1408 イベント・メッセージを生成して柔軟パケット・プロセッサ(FXP)に送って、前記受信されたネットワーク・パケットが受信されたことを示す
1410 メモリ・ファブリックを通じてイベント・メッセージを送る
1412 受信されたネットワーク・パケットが書き込まれたメモリ位置を同定するために使用可能なセグメント・ポインタを含める
1414 イベント・メッセージのサービス・クラスを識別

1502 イベント・メッセージ受信?
1504 イベント・メッセージをクラス型によってフィルタリング
1506 イベント・メッセージをクラス型によって調停
1508 イベント・メッセージに関連するネットワーク・パケットの少なくとも一部分を読む
1510 イベント・メッセージとともに受領されたセグメント・ポインタに基づいて、メモリ・ファブリック内の位置から読む
1512 読まれるべきネットワーク・パケットの部分を、それぞれのエージェントに関連付けられたポリシーに応じて決定
1514 ネットワーク・パケットの追加的な処理のためにエージェントを同定
1516 ネットワーク・パケットの読み出し部分をパース
1518 ネットワーク・パケットを、ネットワーク・パケットのパースされた読み出し部分に応じて分類
1520 分類を、各エージェントに関連付けられたポリシーに対して比較
1522 ネットワーク・パケットを修正
1524 修正されたネットワーク・パケットをメモリ・ファブリックに分散式に書き戻す
1526 別のイベント・メッセージを生成
1528 イベント・メッセージを、特定のサービス・クラスをもつものとして分類
1530 前記別のイベント・メッセージを、追加的な処理のために、同定されたエージェントに送信

1602 ネットワーク・パケットのためのデータを生成
1604 データをNICに送る
1606 受信されたデータを新たなネットワーク・パケットにパケット化
1608 ネットワーク・パケットをHFIに転送
1610 ネットワーク・パケットをメモリ・ファブリックに分散式に書き込む
1612 新たなネットワーク・パケットが書き込まれたことを示すイベント・メッセージ生成
1614 イベント・メッセージをFXPに転送
1616 ネットワーク・パケットの少なくとも一部分をメモリ・ファブリックから読む
1618 追加的な処理のためのエージェントを同定
1620 イベント・メッセージを生成し、同定されたエージェントに送信
1622 ネットワーク・パケット全体をメモリ・ファブリックから読み、割り当て解除

Claims (26)

  1. エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置であって、当該コンピューティング装置は:
    計算エンジンと;
    ネットワーク・インターフェース・コントローラ(NIC)とを有しており、前記NICは該NICのメモリ・ファブリックおよび複数のエージェントに通信上結合されたパケット・プロセッサを有しており、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されており、前記NICは:
    前記メモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み;
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し;
    前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを前記パケット・プロセッサに、前記パケット・プロセッサに関連付けられた前記メモリ・ファブリックのエージェント・ファブリック・インターフェースを介して送り;
    前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し;
    前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット受信イベント・メッセージを生成し;
    前記パケット・プロセッサによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信する、
    コンピューティング装置。
  2. 前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが:
    前記受信されたネットワーク・パケットの前記読み出された部分をパースし;
    前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し;
    前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む、
    請求項1記載のコンピューティング装置。
  3. 前記ネットワーク・パケット受信イベント・メッセージを前記パケット・プロセッサに送ることが、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタを含めることを含み、
    前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む、
    請求項1記載のコンピューティング装置。
  4. 前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類し、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することを含む、請求項1記載のコンピューティング装置。
  5. 前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む、請求項1記載のコンピューティング装置。
  6. 前記NICはさらに、前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求し、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む、請求項5記載のコンピューティング装置。
  7. 前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することが、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに関連付けられている前記メモリ・ファブリックのエージェント・ファブリック・インターフェースに送信することを含む、請求項1記載のコンピューティング装置。
  8. 前記NICがさらに、前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除する、請求項1記載のコンピューティング装置。
  9. 前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが:
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し;
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し;
    前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む、
    請求項1記載のコンピューティング装置。
  10. 前記NICがさらに:
    前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記計算エンジンから前記NICのホスト・インターフェースによって受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み;
    前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し;
    前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに、前記パケット・プロセッサに関連付けられた前記メモリ・ファブリックのエージェント・ファブリック・インターフェースを介して送り;
    前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し;
    前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し;
    前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し;
    前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケットが別のコンピューティング装置に送信されるべきであるという指示を前記同定されたエージェントから受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除する、
    請求項1記載のコンピューティング装置。
  11. 前記ホスト・ファブリック・インターフェースによって前記新ネットワーク・パケット・イベント・メッセージを送ることが:
    前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し;
    前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し;
    前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む、
    請求項10記載のコンピューティング装置。
  12. エージェント‐メッシュ・アーキテクチャーにおいてコンピューティング装置によってネットワーク・パケットを処理する方法であって、当該方法は:
    前記コンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)のメモリ・ファブリックのネットワーク・ファブリック・インターフェースによって、受信されたネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み;
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが受信されたことを示すイベント・メッセージを生成し;
    前記ネットワーク・ファブリック・インターフェースによって、生成されたイベント・メッセージを、前記メモリ・ファブリックに通信上結合されたパケット・プロセッサに送り;
    前記パケット・プロセッサによって、前記生成されたイベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記パケット・プロセッサによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために複数のエージェントのうちのあるエージェントを同定する段階であって、前記複数のエージェントのそれぞれは前記メモリ・ファブリックに、該メモリ・ファブリックの対応するエージェント・ファブリック・インターフェースを介して通信上結合されている、段階を実行し;
    前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すもう一つのイベント・メッセージを生成し;
    前記パケット・プロセッサによって、生成された前記もう一つのイベント・メッセージを前記同定されたエージェントに送信することを含む、
    方法。
  13. 前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定することが、(i)前記受信されたネットワーク・パケットの前記読み出された部分をパースし;(ii)前記ネットワーク・パケットを、前記受信されたネットワーク・パケットのパースされた読み出された部分に応じて分類し;(iii)前記分類の結果を、前記複数のエージェントのそれぞれに関連付けられているポリシーと比較して、前記複数のエージェントのうちから前記エージェントを同定することを含む、請求項12記載の方法。
  14. 前記生成されたイベント・メッセージを前記パケット・プロセッサに送ることが、前記生成されたイベント・メッセージを、前記受信されたネットワーク・パケットが書き込まれた前記メモリ・ファブリックにおける位置を同定するために使用可能なセグメント・ポインタとともに送ることを含み、前記受信されたネットワーク・パケットの前記一部を前記メモリ・ファブリックから読み出すことが、前記受信されたネットワーク・パケットの前記一部を、前記セグメント・ポインタに基づいて前記メモリ・ファブリックから読み出すことを含む、請求項12記載の方法。
  15. 前記ネットワーク・ファブリック・インターフェースによって、前記イベント・メッセージをトラフィック・クラス・イベントまたはサービス・クラス・イベントの一つとして分類することをさらに含み、前記エージェントを同定することが、前記イベント分類に応じて前記エージェントを同定することを含む、請求項12記載の方法。
  16. 前記受信されたネットワーク・パケットを前記メモリ・ファブリックに書き込むことが、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことを含む、請求項12記載の方法。
  17. 前記ネットワーク・ファブリック・インターフェースによって、前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を要求することをさらに含み、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの複数のセグメントに書き込むことが、前記受信されたネットワーク・パケットの一部を記憶すべき前記メモリ・ファブリックの前記複数のセグメントのそれぞれの位置を受領したことに応答して、前記受信されたネットワーク・パケットを前記メモリ・ファブリックの前記複数のセグメントの各セグメントの受領された位置に書き込むことを含む、請求項16記載の方法。
  18. 前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに送信することが、前記もう一つの生成されたイベント・メッセージを前記同定されたエージェントに関連付けられている前記メモリ・ファブリックのエージェント・ファブリック・インターフェースに送信することを含む、請求項12記載の方法。
  19. 前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記パケット・プロセッサまたは前記エージェントから転送イベント・メッセージを受信したことに応答して、前記受信されたネットワーク・パケットの全体を、前記コンピューティング装置の計算エンジンによって管理されるデータ記憶位置への転送のために前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む、請求項12記載の方法。
  20. 前記ネットワーク・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが:
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し;
    前記ネットワーク・ファブリック・インターフェースによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示す前記ネットワーク・パケット受信イベント・メッセージを生成し;
    前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット受信イベント・メッセージを前記同定されたエージェントに送信することを含む、
    請求項12記載の方法。
  21. 前記メモリ・ファブリックのホスト・ファブリック・インターフェースによって、前記コンピューティング装置の計算エンジンから受信された新たなネットワーク・パケットを前記メモリ・ファブリックに分散式に書き込み;
    前記ホスト・ファブリック・インターフェースによって、前記計算エンジンから前記ネットワーク・パケットが受信されたことを示す新ネットワーク・パケット・イベント・メッセージを生成し;
    前記ホスト・ファブリック・インターフェースによって、前記新ネットワーク・パケット・イベント・メッセージを前記パケット・プロセッサに、前記パケット・プロセッサに関連付けられた前記メモリ・ファブリックのエージェント・ファブリック・インターフェースを介して送り;
    前記パケット・プロセッサによって、前記新ネットワーク・パケット・イベント・メッセージを受信したことに応答して、前記新たなネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記パケット・プロセッサによって、前記新たなネットワーク・パケットの読み出された部分に応じて、前記新たなネットワーク・パケットの追加的な処理のために前記複数のエージェントのうちのあるエージェントを同定し;
    前記パケット・プロセッサによって、前記受信されたネットワーク・パケットが処理のために利用可能であることを示すネットワーク・パケット送信イベント・メッセージを生成し;
    前記パケット・プロセッサによって、前記ネットワーク・パケット送信イベント・メッセージを前記同定されたエージェントに送信し;
    前記ネットワーク・ファブリック・インターフェースによって、前記ネットワーク・パケット送信イベント・メッセージを受信したことに応答して、前記ネットワーク・パケットの全体を、前記メモリ・ファブリックから読み出して、割り当て解除することをさらに含む、
    請求項12記載の方法。
  22. 前記ホスト・ファブリック・インターフェースによって前記生成されたイベント・メッセージを送ることが:
    前記受信されたネットワーク・パケットの少なくとも一部を前記メモリ・ファブリックから読み出し;
    前記受信されたネットワーク・パケットの読み出された部分に応じて、前記受信されたネットワーク・パケットの追加的な処理のために前記エージェントを同定し;
    前記新たなネットワーク・パケットが処理のために利用可能であることを示す前記新ネットワーク・パケット・イベント・メッセージを生成し;
    前記新ネットワーク・パケット・イベント・メッセージを前記同定されたエージェントに送信することを含む、
    請求項21記載の方法。
  23. 請求項12ないし22のうちいずれか一項記載の方法をコンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)に実行させるためのコンピュータ・プログラム。
  24. 請求項23記載のコンピュータ・プログラムを記憶している、前記NICの一つまたは複数のコンピュータ可読記憶媒体。
  25. エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置であって、当該コンピューティング装置は:
    一つまたは複数のプロセッサと;
    ネットワーク・インターフェース・コントローラ(NIC)とを有しており、前記NICは該NICによって実行されたときに請求項12ないし22のうちいずれか一項記載の方法を当該コンピューティング装置に実行させる複数の命令を記憶している、
    コンピューティング装置。
  26. エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理するためのコンピューティング装置であって、請求項12ないし22のうちいずれか一項記載の方法を当該コンピューティング装置のネットワーク・インターフェース・コントローラ(NIC)によって実行するための手段を有する、コンピューティング装置。
JP2018153250A 2017-08-30 2018-08-16 エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理する技術 Active JP7214394B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN201741030632 2017-08-30
IN201741030632 2017-08-30
US15/720,390 2017-09-29
US15/720,390 US10747457B2 (en) 2016-11-29 2017-09-29 Technologies for processing network packets in agent-mesh architectures

Publications (2)

Publication Number Publication Date
JP2019047489A true JP2019047489A (ja) 2019-03-22
JP7214394B2 JP7214394B2 (ja) 2023-01-30

Family

ID=65037934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018153250A Active JP7214394B2 (ja) 2017-08-30 2018-08-16 エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理する技術

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022523830A (ja) * 2019-03-07 2022-04-26 レイセオン カンパニー 再構成可能な計算装置

Families Citing this family (137)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002538731A (ja) * 1999-03-01 2002-11-12 サン・マイクロシステムズ・インコーポレイテッド 高性能ネットワークインターフェースにおけるダイナミックな構文解析
US20110149966A1 (en) * 2009-12-21 2011-06-23 Solarflare Communications Inc Header Processing Engine
US20150081726A1 (en) * 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
US20160142520A1 (en) * 2014-11-14 2016-05-19 Cavium, Inc. Network switching with co-resident data-plane and network interface controllers
JP2019532427A (ja) * 2016-10-18 2019-11-07 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated トリガ動作を用いたgpuリモート通信

Family Cites Families (217)

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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002538731A (ja) * 1999-03-01 2002-11-12 サン・マイクロシステムズ・インコーポレイテッド 高性能ネットワークインターフェースにおけるダイナミックな構文解析
US20110149966A1 (en) * 2009-12-21 2011-06-23 Solarflare Communications Inc Header Processing Engine
US20150081726A1 (en) * 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
US20160142520A1 (en) * 2014-11-14 2016-05-19 Cavium, Inc. Network switching with co-resident data-plane and network interface controllers
JP2019532427A (ja) * 2016-10-18 2019-11-07 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated トリガ動作を用いたgpuリモート通信

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022523830A (ja) * 2019-03-07 2022-04-26 レイセオン カンパニー 再構成可能な計算装置
JP7295968B2 (ja) 2019-03-07 2023-06-21 レイセオン カンパニー 再構成可能な計算装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP7214394B2 (ja) エージェント‐メッシュ・アーキテクチャーにおいてネットワーク・パケットを処理する技術
US10747457B2 (en) Technologies for processing network packets in agent-mesh architectures
US11467885B2 (en) Technologies for managing a latency-efficient pipeline through a network interface controller
US11630702B2 (en) Cloud-based scale-up system composition
US20190196824A1 (en) Technologies for adaptive processing of multiple buffers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230118

R150 Certificate of patent or registration of utility model

Ref document number: 7214394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150