US 11,876,731 B2
System and methods for sharing memory subsystem resources among datacenter applications
Lingjia Tang, Charlottesville, VA (US); Jason Mars, Charlottesville, VA (US); and Robert Hundt, Piedmont, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Aug. 17, 2020, as Appl. No. 16/995,762.
Application 15/189,885 is a division of application No. 13/908,831, filed on Jun. 3, 2013, granted, now 9,401,869, issued on Jul. 26, 2016.
Application 16/995,762 is a continuation of application No. 16/392,852, filed on Apr. 24, 2019, granted, now 10,778,605.
Application 16/392,852 is a continuation of application No. 15/189,885, filed on Jun. 22, 2016, granted, now 10,313,265, issued on Jun. 4, 2019.
Claims priority of provisional application 61/655,360, filed on Jun. 4, 2012.
Prior Publication US 2020/0382443 A1, Dec. 3, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 15/173 (2006.01); H04L 47/80 (2022.01); H04L 47/70 (2022.01)
CPC H04L 47/803 (2013.01) [H04L 47/70 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
executing a plurality of applications at a computing platform, each application allocated a respective amount of system resources of the computing platform;
receiving, at the computing platform, a request to monitor execution of a single application of the plurality of applications executing at the computing platform;
determining, by the computing platform, a priority level for the single application based on a latency sensitivity of the single application and the request to monitor execution of the single application, the latency sensitivity representing a sensitivity of the single application to latency resulting from changes in a resource sharing metric of the application, the resource sharing metric comprising at least one of memory bandwidth usage, cache data sharing, a cache footprint, or processor core resource usage;
collecting, by the computing platform, system performance data for the plurality of applications executing at the computing platform based on consumed system resources;
determining, by the computing platform, an application specific performance metric associated with the single application;
determining, by the computing platform, whether the application specific performance metric associated with the single application exceeds the respective amount of system resources allocated to the single application; and
when the application specific performance metric associated with the single application exceeds the respective amount of system resources allocated to the single application, increasing, by the computing platform, the respective amount of system resources allocated to the single application based on the priority level.