US 11,875,153 B1
Executing concurrent threads on a reconfigurable processing grid
Elad Raz, Ramat Gan (IL); and Ilan Tayari, Tzur Hadassa (IL)
Assigned to Next Silicon Ltd, Givatayim (IL)
Filed by Next Silicon Ltd, Givatayim (IL)
Filed on Jul. 5, 2023, as Appl. No. 18/218,152.
Int. Cl. G06F 9/30 (2018.01)
CPC G06F 9/30123 (2013.01) 30 Claims
OG exemplary drawing
 
1. A system for processing a plurality of concurrent threads, comprising:
at least one reconfigurable processing grid, comprising:
a plurality of logical elements; and
a context storage, storing a plurality of thread contexts, each thread context for one of a plurality of concurrent threads, each concurrent thread implementing a dataflow graph comprising a plurality of operations comprising at least one identified operation, where each of the plurality of thread contexts comprises for the concurrent thread thereof at least one runtime context value of the dataflow graph implemented thereby; and
at least one hardware processor configuring the at least one reconfigurable processing grid to:
execute a first thread of the plurality of concurrent threads; and
while executing the first thread:
storing the at least one runtime context value of the first thread in the context storage;
while waiting for completion of execution of the at least one identified operation of the plurality of operations of the first thread by at least one identified logical element of the plurality of logical elements, executing the at least one identified operation of a second thread of the plurality of concurrent threads by the at least one identified logical element; and
when execution of the at least one identified operation of the first thread completes:
retrieving the at least one runtime context value of the first thread from the context storage; and
executing at least one other operation of the plurality of operations of the first thread.