Juan Fumero
2 supporters
New blog: Unified Shared Memory: Friend ...

New blog: Unified Shared Memory: Friend or Fue?

Oct 19, 2023

Unified Shared Memory: Friend or Fue? Understanding the Implications of Unified Memory on Managed


Key Takeaways

  • Programming heterogeneous computing systems from managed runtime systems like Java imposes many challenges. One of the biggest challenges is regarding the managed memory management between the JVM and the accelerator memory (e.g., GPU memory, which is not managed by default).

  • The disjoint memory handlers between the Java process and the GPU application can cause memory segfaults when a Garbage Collector (GC) moves or de-allocates buffers while the GPU kernels (or functions running on any other accelerators) are still running.

  • This work presents a technique to allocate the Java heap in Unified Memory (a single memory address space between the CPU and the GPUs).

  • Accelerators such as GPUs that support Unified Memory will migrate memory pages under demand between the host (CPU) and the device (accelerator) in a transparent manner.

  • This post shows the details of this technique and shows the potential for using UM, especially in the context of shared memory computing systems (e.g., integrated GPUs).

Curious? Read the whole post here: https://jjfumero.github.io/posts/2023/10/unified-shared-memory

Enjoy this post?

Buy Juan Fumero a coffee

More from Juan Fumero