A processing node comprising: a general-purpose central processing unit, CPU, ; a special processing unit, SPU, ; and a memory ; wherein the CPU is configured to: divide the memory into a plurality of regions , each region comprising a plurality of subregions; store one or more indications, each corresponding to a subregion, in response to detecting that a data object in the subregion has been modified; and send a notification to the SPU responsive to detecting a garbage collection start condition is satisfied, the notification including the stored one or more indications and one or more base addresses of the one or more regions of the memory storing modified data objects ; wherein in response to receiving the notification from the CPU , the SPU is configured to compute one or more root addresses , each root address corresponding to one of the one or more stored indications, and send the computed one or more root addresses to the CPU to be used by a garbage collection algorithm to identify reachable data objects in one or more predetermined collectable regions of the plurality of regions , wherein the one or more predetermined collectable regions are youngest regions of the plurality of regions . a general-purpose central processing unit, CPU, ; a special processing unit, SPU, ; and a memory ; wherein the CPU is configured to: divide the memory into a plurality of regions , each region comprising a plurality of subregions; store one or more indications, each corresponding to a subregion, in response to detecting that a data object in the subregion has been modified; and send a notification to the SPU responsive to detecting a garbage collection start condition is satisfied, the notification including the stored one or more indications and one or more base addresses of the one or more regions of the memory storing modified data objects ; wherein in response to receiving the notification from the CPU , the SPU is configured to compute one or more root addresses , each root address corresponding to one of the one or more stored indications, and send the computed one or more root addresses to the CPU to be used by a garbage collection algorithm to identify reachable data objects in one or more predetermined collectable regions of the plurality of regions , wherein the one or more predetermined collectable regions are youngest regions of the plurality of regions . divide the memory into a plurality of regions , each region comprising a plurality of subregions; store one or more indications, each corresponding to a subregion, in response to detecting that a data object in the subregion has been modified; and send a notification to the SPU responsive to detecting a garbage collection start condition is satisfied, the notification including the stored one or more indications and one or more base addresses of the one or more regions of the memory storing modified data objects ; wherein in response to receiving the notification from the CPU , the SPU is configured to compute one or more root addresses , each root address corresponding to one of the one or more stored indications, and send the computed one or more root addresses to the CPU to be used by a garbage collection algorithm to identify reachable data objects in one or more predetermined collectable regions of the plurality of regions , wherein the one or more predetermined collectable regions are youngest regions of the plurality of regions . <EOS>