US 12,449,995 B2
Enabling persistent memory for serverless applications
Faraz Ahmed, Santa Clara, CA (US); Lianjie Cao, San Jose, CA (US); Puneet Sharma, Milpitas, CA (US); and Amit Samanta, Salt Lake City, UT (US)
Assigned to Hewlett Packard Enterprise Development LP, Spring, TX (US)
Filed by HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, Spring, TX (US)
Filed on Sep. 30, 2022, as Appl. No. 17/957,700.
Prior Publication US 2024/0126460 A1, Apr. 18, 2024
Int. Cl. G06F 9/46 (2006.01); G06F 3/06 (2006.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01)
CPC G06F 3/0638 (2013.01) [G06F 3/0665 (2013.01); G06F 9/4843 (2013.01); G06F 9/5016 (2013.01); G06F 3/0604 (2013.01); G06F 3/0679 (2013.01); G06F 2209/501 (2013.01); G06F 2209/5014 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a processor; and
a non-transitory storage medium storing instructions executable on the processor to:
receive application requests including read and write requests from processes of a serverless application;
profile the processes of the serverless application as one of persistent processes that issue input/output (I/O) requests to persistent memory;
create batches of the application requests including read batches of the read requests and write batches of the write requests for the persistent processes;
identify a number of excess read batches based on comparing a quantity of the read batches to a quantity of the write batches;
schedule the excess read batches first to the persistent memory before a remainder of the read batches and the write batches, the remainder of the read batches excluding the excess read batches; and
schedule the remainder of the read batches and the write batches to the persistent memory based on an objective function relating to a completion time.