IP Library › Granted Patent US 12,236,109
Granted Patent B2
US 12,236,109 · App. 18/201,696 · Granted Feb 25, 2025

Ephemeral data management for cloud computing systems using computational fabric attached memory

Inventors: Pratik Mishra (Santa Clara, CA); Sergey Blagodurov (Bellevue, WA); Atul Kumar Sujayendra Sandur (Santa Clara, CA)
Assignee: Advanced Micro Devices, Inc.
G06F3/0619G06F3/0659G06F3/067G06F9/4881G06F9/5027G06F9/5066
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 12,236,109
App. No.
18/201,696
Granted
Feb 25, 2025
Kind
B2
Abstract

A cloud computing system includes cloud orchestrator circuitry and fabric manager circuitry. The cloud orchestrator circuitry receives an input application and determines a task graph, a data graph, and a function popularity heap parameter for the input application. The task graph comprises an indication of function interdependency of functions of the input application, the data graph comprises an indication of data interdependency of the functions, and the function popularity heap parameter corresponds to a re-usability index for the functions. The fabric manager circuitry allocate a first programmable integrated circuit (IC) device to perform a first function of the input application based on the task graph, the data graph, and the function popularity heap parameter.

Claims (48)

1. A cloud computing system comprising:

cloud orchestrator circuitry configured to receive an input application and determine a task graph, a data graph, and a function popularity heap parameter for the input application, wherein the task graph comprises an indication of function interdependency of functions of the input application, the data graph comprises an indication of data interdependency of the functions, and the function popularity heap parameter corresponds to a re-usability index for the functions; and

fabric manager circuitry configured to allocate a first programmable integrated circuit (IC) device to perform a first function of the input application based on the task graph, the data graph, and the function popularity heap parameter.

2. The cloud computing system of claim 1 , wherein allocating the first programmable IC device to perform the first function includes:

determining that the first function is supported by the first programmable IC device based on a function support map.

3. The cloud computing system of claim 1 , wherein allocating the first programmable IC device to perform the first function includes:

determining a processing resource requirement for the first function; and

negotiating to allocate the first programmable IC device based on a number of available processing resources being at least as large as the processing resource requirement.

4. The cloud computing system of claim 1 , wherein allocating the first programmable IC device to perform the first function includes:

determining a processing resource requirement for the first function; and

de-allocating the first programmable IC device based on a number of available processing resources being less than the processing resource requirement.

5. The cloud computing system of claim 1 further comprising fabric attached memory (FAM) circuitry configured to:

allocate a starting address within a memory of the FAM circuitry for the first function.

6. The cloud computing system of claim 5 , wherein intermediate data generated by the first programmable IC device is stored within the memory of the FAM circuitry and accessed by a second function of the functions.

7. The cloud computing system of claim 1 , wherein the fabric manager circuitry is further configured to:

determine that a second function of the functions is not supported by programmable IC devices of the cloud computing system; and

reconfigure a second programmable IC device of the programmable IC devices to compute the second function based on determining that the second function is not supported.

8. A method comprising:

determining a task graph, a data graph, and a function popularity heap parameter for an input application, wherein the task graph comprises an indication of function interdependency of functions of the input application, the data graph comprises an indication of data interdependency of the functions, and the function popularity heap parameter corresponds to a re-usability index for the functions; and

allocating a first programmable integrated circuit (IC) device to perform a first function of the input application based on the task graph, the data graph, and the function popularity heap parameter.

9. The method of claim 8 , wherein allocating the first programmable IC device to perform the first function includes:

determining that the first function is supported by the first programmable IC device based on a function support map.

10. The method of claim 8 , wherein allocating the first programmable IC device to perform the first function includes:

determining a processing resource requirement for the first function; and

negotiating to allocate the first programmable IC device based on a number of available processing resources being at least as large as the processing resource requirement.

11. The method of claim 8 , wherein allocating the first programmable IC device to perform the first function includes:

determining a processing resource requirement for the first function; and

de-allocating the first programmable IC device based on a number of available processing resources being less than the processing resource requirement.

12. The method of claim 8 further comprising allocating a starting address within a memory of fabric attached memory (FAM) circuitry for the first function.

13. The method of claim 12 , wherein intermediate data generated by the first programmable IC device is stored within the memory of the FAM circuitry and accessed by a second function of the functions.

14. The method of claim 8 further comprising:

determining that a second function of the functions is not supported by programmable IC devices of a cloud computing system; and

reconfiguring a second programmable IC device of the programmable IC devices to compute the second function based on determining that the second function is not supported.

15. A cloud computing system comprising:

fabric manager circuitry configured to allocate a first programmable integrated circuit (IC) device to perform a first function of an input application based on a task graph, a data graph, and a function popularity heap parameter of the input application, wherein the task graph comprises an indication of function interdependency of functions of the input application, the data graph comprises an indication of data interdependency of the functions, and the function popularity heap parameter corresponds to a re-usability index for the functions; and

fabric attached memory (FAM) circuitry configured to allocate a starting address within a memory of the FAM circuitry for the first function, wherein the first programmable IC device is configured to store data associated with the first function at the starting address.

16. The cloud computing system of claim 15 further comprising cloud orchestrator circuitry configured to receive the input application and determine the task graph, the data graph, and the function popularity heap parameter for the input application.

17. The cloud computing system of claim 15 , wherein allocating the first programmable IC device to perform the first function includes:

determining that the first function is supported by the first programmable IC device based on a function support map.

18. The cloud computing system of claim 15 , wherein allocating the first programmable IC device to perform the first function includes:

determining a processing resource requirement for the first function; and

negotiating to allocate the first programmable IC device based on a number of available processing resources being at least as large as the processing resource requirement.

19. The cloud computing system of claim 15 , wherein allocating the first programmable IC device to perform the first function includes:

determining a processing resource requirement for the first function; and

de-allocating the first programmable IC device based on a number of available processing resources being less than the processing resource requirement.

20. The cloud computing system of claim 15 , wherein the fabric manager circuitry is further configured to:

determine that a second function of the functions is not supported by programmable IC devices of the cloud computing system; and

reconfigure a second programmable IC device of the programmable IC devices to compute the second function based on determining that the second function is not supported.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2023
From: MISHRA, PRATIK; BLAGODUROV, SERGEY; SANDUR, ATUL KUMAR SUJAYENDRA
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 065088/0434 →
Continuity (1)
Related Publication 20240393956A1 · Nov 28, 2024
References Cited (18)
US 10671440B2 · LaBute · 2020 [cited by examiner]
US 11030016B2 · Banerjee · 2021 [cited by examiner]
US 11561826B1 · Nagpal · 2023 [cited by examiner]
US 11714686B2 · Bianchini · 2023 [cited by examiner]
US 20200285508A1 · Lu · 2020 [cited by examiner]
US 20210333998A1 · Yamamoto · 2021 [cited by examiner]
US 20220253335A1 · Bequet · 2022 [cited by examiner]
US 20230100163A1 · Adams · 2023 [cited by examiner]
US 20230376735A1 · Rainone · 2023 [cited by examiner]
US 20240086246A1 · Doiron · 2024 [cited by examiner]
Hu et al. (Scheduling Periodic Task Graphs for Safety-Critical Time-Triggered Avionic Systems). pp. 2294-2304; IEEE Transactions on Aerospace and Electronic Systems. (Year: 2015). [cited by examiner]
Roy et al. (SAFLA: Scheduling Multiple Real-Time Periodic Task Graphs on Heterogeneous Systems). pp. 1067-1080; IEEE xplore. Jun. 2022 (Year: 2022). [cited by examiner]
Jonas, Eric, et al. “Cloud programming simplified: A berkeley view on serverless computing.” arXiv preprint arXiv:1902.03383 (2019). [cited by applicant]
Wawrzoniak, Mike, et al. “Boxer: Data Analytics on Network-enabled Serverless Platforms.” 11th Annual Conference on Innovative Data Systems Research (CIDR 2021). 2021. [cited by applicant]
Mishra, P., Somani, A.K. (2020). LDM: Lineage-Aware Data Management in Multi-tier Storage Systems. In: Arai, K., Bhatia, R. (eds) Advances in Information and Communication. FICC 2019. Lecture Notes in Networks and Syste… [cited by applicant]
Mahgoub, Ashraf, et al. “{Sonic}: Application-aware Data Passing for Chained Serverless Applications.” 2021 USENIX Annual Technical Conference (USENIX ATC 21). 2021. [cited by applicant]
IBM Open FAM API : https://openfam.github.io/. [cited by applicant]
Wang, Zheng, et al. “Integrating profile-driven parallelism detection and machine-learning-based mapping.” ACM Transactions on Architecture and Code Optimization (TACO) 11.1 (2014): 1-26. [cited by applicant]