IP Library › Granted Patent US 9,565,131
Granted Patent B2
US 9,565,131 · App. 14/580,792 · Granted Feb 7, 2017

Technologies for network packet cache management

Inventors: Ren Wang (Portland, OR); Sameh Gobriel (Hillsboro, OR); Christian Maciocco (Portland, OR); Tsung-Yuan C. Tai (Portland, OR); Ben-Zion Friedman (Jerusalem, IL); Hang T. Nguyen (Tempa, AZ); Namakkal N. Venkatesan (Hillsboro, OR); Michael A. O'Hanlon (Limerick, IE); Shrikant M. Shah (Chandler, AZ); Sanjeev Jain (Chandler, AZ)
Assignee: Intel Corporation
H04L49/00H04L45/745
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,565,131
App. No.
14/580,792
Granted
Feb 7, 2017
Kind
B2
Abstract

Technologies for identifying a cache line of a network packet for eviction from an on-processor cache of a network device communicatively coupled to a network controller. The network device is configured to determine whether a cache line of the cache corresponding to the network packet is to be evicted from the cache based on a determination that the network packet is not needed subsequent to processing the network packet, and provide an indication that the cache line is to be evicted from the cache based on an eviction policy received from the network controller.

Claims (43)

1. A network device for identifying a network packet for eviction, the network device comprising:

a processor that includes a cache, wherein the cache comprises a plurality of cache lines;

a network packet processing module to receive a network packet, store the network packet in a cache line of the cache of the processor, and process the network packet; and

a cache management module to determine whether the network packet is required for subsequent processing and to indicate that the cache line corresponding to the network packet is to be evicted from the cache in response to a determination that the network packet is not required for subsequent processing.

2. The network device of claim 1 , wherein to indicate that the cache line corresponding to the network packet is to be evicted from the cache comprises to set a flag bit of the cache line.

3. The network device of claim 1 , wherein to indicate that the cache line corresponding to the network packet is to be evicted from the cache comprises to set a temporal invalidation instruction to the cache line.

4. The network device of claim 1 , wherein to indicate that the cache line corresponding to the network packet is to be evicted from the cache comprises to store the cache line at a predetermined memory range of the cache, and wherein the predetermined memory range of the cache resides in a portion of the cache that is to be discarded upon a cleanup of the cache.

5. The network device of claim 1 , wherein the determination whether the network packet is required for subsequent processing is based on a type of workload of the network packet.

6. The network device of claim 1 , wherein the cache management module is further to discard the cache line upon eviction of the cache line from the cache.

7. The network device of claim 1 , wherein the cache comprises an on-die last-level cache.

8. A network device for use in a software defined network environment that includes a network controller and a content storage device, the network device comprising:

a processor that includes a cache, wherein the cache includes a plurality of cache lines;

a network packet processing module to receive a network packet from the content storage device communicatively coupled to the network device, store the network packet in a cache line, and process the network packet; and

a cache management module to receive an eviction policy from the network controller communicatively coupled to the network device, determine whether the cache line corresponding to the network packet is to be evicted from the cache based on a determination that the network packet is not needed subsequent to processing the network packet, and provide an indication that the cache line is to be evicted from the cache in response to the determination that the network packet is not needed subsequent to processing the network packet.

9. The network device of claim 8 , wherein to provide the indication that the cache line is to be evicted from the cache comprises to provide the indication that the cache line is to be evicted from the cache based on the eviction policy received from the network controller.

10. The network device of claim 8 , wherein the determination that the network packet is not needed subsequent to processing is based on a type of workload of the network packet.

11. The network device of claim 8 , wherein to provide the indication comprises to set a flag bit of the cache line.

12. The network device of claim 8 , wherein to provide the indication comprises to set a temporal invalidation instruction to the cache line.

13. The network device of claim 8 , wherein to provide the indication comprises to store the cache line at a predetermined memory range of the cache, and wherein the predetermined memory range of the cache resides in a portion of the cache that is to be discarded before other portions of the cache upon a cleanup of the cache.

14. The network device of claim 8 , wherein the cache comprises an on-die last-level cache.

15. A method for identifying a cache line of a network packet for eviction from an on-processor cache of a network device, the method comprising:

receiving, by the network device, the network packet at the on-processor cache of the network device, wherein the on-processor cache comprises a plurality of cache lines;

storing the network packet in the cache line of the on-processor cache;

processing the network packet; and

determining whether the network packet is required for subsequent processing;

indicating that the cache line corresponding to the network packet is to be evicted from the on-processor cache in response to on a determination that the network packet is not required for subsequent processing.

16. The method of claim 15 , wherein the indicating that the cache line corresponding to the network packet is to be evicted from the on-processor cache comprises indicating that the cache line corresponding to the network packet is to be evicted from the on-processor cache based on an eviction policy received from a network controller communicatively coupled to the network device.

17. The method of claim 15 , wherein the indicating that the cache line corresponding to the network packet is to be evicted from the on-processor cache comprises setting at least one of a flag bit of the cache line and a temporal invalidation instruction to the cache line.

18. The method of claim 15 , wherein the indicating that the cache line corresponding to the network packet is to be evicted from the on-processor cache comprises storing the cache line at a predetermined memory range of the on-processor cache, and wherein the predetermined memory range of the on-processor cache is located in a portion of the on-processor cache that is to be discarded first upon a cleanup of the on-processor cache.

19. The method of claim 15 , further comprising:

discarding the cache line upon eviction of the cache line from the on-processor cache based on an indication that the cache line corresponding to the network packet is to be evicted from the on-processor cache.

20. One or more computer-readable storage media comprising a plurality of instructions stored thereon that in response to being executed cause a computing device to:

receive the network packet at an on-processor cache of the network device, wherein the on-processor cache comprises a plurality of cache lines;

store the network packet in the cache line of the on-processor cache;

process the network packet; and

determine whether the network packet is required for subsequent processing;

indicate that the cache line that corresponds to the network packet is to be evicted from the on-processor cache in response to on a determination that the network packet is not required for subsequent processing.

21. The one or more computer-readable storage media of claim 20 , wherein to indicate that the cache line that corresponds to the network packet is to be evicted from the on-processor cache comprises to set a flag bit of the cache line.

22. The one or more computer-readable storage media of claim 20 , wherein to indicate that the cache line that corresponds to the network packet is to be evicted from the on-processor cache comprises to set a temporal invalidation instruction to the cache line.

23. The one or more computer-readable storage media of claim 20 , wherein to indicate that the cache line that corresponds to the network packet is to be evicted from the on-processor cache comprises to store the cache line at a predetermined memory range of the on-processor cache, and wherein the predetermined memory range of the on-processor cache is located in a portion of the on-processor cache that is to be discarded first upon a cleanup of the on-processor cache.

24. The one or more computer-readable storage media of claim 20 , wherein to determine whether the network packet is required for subsequent processing comprises to determine whether the network packet is required for subsequent processing based on a type of workload of the network packet.

25. The one or more computer-readable storage media of claim 20 , further comprising a plurality of instructions that in response to being executed cause the computing device to:

discard the cache line upon eviction of the cache line from the on-processor cache based on an indication that the cache line that corresponds to the network packet is to be evicted from the on-processor cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2016
From: WANG, REN; GOBRIEL, SAMEH; MACIOCCO, CHRISTIAN; TAI, TSUNG-YUAN C.; FRIEDMAN, BEN-ZION; NGUYEN, HANG T.; VENKATESAN, NAMAKKAL N.; O'HANLON, MICHAEL A.; SHAH, SHRIKANT M.; JAIN, SANJEEV
To: INTEL CORPORATION
Reel/Frame 037754/0583 →
Continuity (1)
Related Publication 20160182351A1 · Jun 23, 2016