Skip to content

Commit cb3979e

Browse files
authored
[GLUTEN-10932][VL] Pass memory changes to taskMemoryManager for dynamic off heap (#10936)
Closes #10932
1 parent 80e71e3 commit cb3979e

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

gluten-core/src/main/java/org/apache/gluten/memory/memtarget/DynamicOffHeapSizingMemoryTarget.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,11 @@ public class DynamicOffHeapSizingMemoryTarget implements MemoryTarget, KnownName
130130
private final String name = MemoryTargetUtil.toUniqueName("DynamicOffHeapSizing");
131131
private final SimpleMemoryUsageRecorder recorder = new SimpleMemoryUsageRecorder();
132132

133-
public DynamicOffHeapSizingMemoryTarget() {}
133+
private final MemoryTarget target;
134+
135+
public DynamicOffHeapSizingMemoryTarget(MemoryTarget target) {
136+
this.target = target;
137+
}
134138

135139
@Override
136140
public long borrow(long size) {
@@ -197,13 +201,15 @@ public void run() {
197201

198202
USED_OFF_HEAP_BYTES.addAndGet(size);
199203
recorder.inc(size);
204+
target.borrow(size);
200205
return size;
201206
}
202207

203208
@Override
204209
public long repay(long size) {
205210
USED_OFF_HEAP_BYTES.addAndGet(-size);
206211
recorder.inc(-size);
212+
target.repay(size);
207213
return size;
208214
}
209215

@@ -227,6 +233,10 @@ public MemoryUsageStats stats() {
227233
return recorder.toStats();
228234
}
229235

236+
public MemoryTarget target() {
237+
return target;
238+
}
239+
230240
public static boolean isJava9OrLater() {
231241
String spec = System.getProperty("java.specification.version", "1.8");
232242
// "1.8" → 8, "9" → 9, "11" → 11, etc.

gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargets.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public static MemoryTarget overAcquire(
5252
@Experimental
5353
public static MemoryTarget dynamicOffHeapSizingIfEnabled(MemoryTarget memoryTarget) {
5454
if (GlutenCoreConfig.get().dynamicOffHeapSizingEnabled()) {
55-
return new DynamicOffHeapSizingMemoryTarget();
55+
return new DynamicOffHeapSizingMemoryTarget(memoryTarget);
5656
}
5757

5858
return memoryTarget;

gluten-core/src/main/scala/org/apache/spark/memory/SparkMemoryUtil.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ object SparkMemoryUtil {
132132
prettyPrintStats(
133133
"Dynamic off-heap sizing memory target stats: ",
134134
dynamicOffHeapSizingMemoryTarget)
135+
dynamicOffHeapSizingMemoryTarget.target().accept(this)
135136
}
136137

137138
override def visit(retryOnOomMemoryTarget: RetryOnOomMemoryTarget): String = {

0 commit comments

Comments
 (0)