HackerTrans
TopNewTrendsCommentsPastAskShowJobs

ben_s

no profile record

Submissions

Virtualizing Nvidia HGX B200 GPUs with Open Source

ubicloud.com
116 points·by ben_s·قبل 7 أشهر·28 comments

Fifty problems with standard web APIs in 2025

zerotrickpony.com
2 points·by ben_s·قبل 7 أشهر·0 comments

[untitled]

1 points·by ben_s·قبل 7 أشهر·0 comments

These Aren't the Tools You're Looking For: The Hidden Dangers of MCP

ainativedev.io
1 points·by ben_s·قبل 7 أشهر·0 comments

How to review AI generated PRs

thoughtbot.com
1 points·by ben_s·قبل 7 أشهر·1 comments

comments

ben_s
·قبل 7 أشهر·discuss
Once you oversubscribe GPU memory, performance usually collapses. Frameworks like vLLM can explicitly offload things like the KV cache to CPU memory, but that's an application-level tradeoff, not transparent GPU virtual memory.
ben_s
·قبل 7 أشهر·discuss
We didn't focus on vGPU and largely avoided it on purpose. Instead, we focused on whole-GPU and NVSwitch-partitioned passthrough (Shared NVSwitch Multitenancy Mode), which is a better fit for the workloads we care about.
ben_s
·قبل 7 أشهر·discuss
In this article, we're primarily concerned with whole-GPU or multi-GPU partitions that preserve NVLink bandwidth, rather than finer-grained fractional sharing of a single GPU.
ben_s
·قبل 7 أشهر·discuss
We haven't looked deeply at inter-machine communication yet. NVLink/NVSwitch (which this post focuses on) are intra-node, so InfiniBand is mostly orthogonal I think and comes down to NIC passthrough, NUMA/PCIe placement, and validating RDMA inside the VM.
ben_s
·قبل 7 أشهر·discuss
Thanks for the comment! You're right that a lot of the mechanics apply more generally. On point (3) specifically: we handle this by allocating at the IOMMU-group level rather than individual devices. Our allocator selects an IOMMU group and passes through all devices in that group (e.g., GPU video + audio), which avoids the partial-passthrough wonkiness you mentioned. For reference: https://github.com/ubicloud/ubicloud/blob/main/scheduling/al...
ben_s
·قبل 7 أشهر·discuss
Fabric Manager itself is not open source. It's NVIDIA-provided software, and today it's required to bring up and manage the NVLink/NVSwitch fabric on HGX systems. What we meant by "open" is that everything around it - the hypervisor, our control plane logic, partition selection, host configuration, etc. - is implemented in the open and available in our repos. You're right that this isn't a fully open GPU stack.

On isolation: in Shared NVSwitch Multitenancy mode, isolation is enforced at multiple layers. Fabric Manager programs the NVSwitch routing tables so GPUs in different partitions cannot exchange NVLink traffic, and each VM receives exclusive ownership of its assigned GPUs via VFIO passthrough. Large providers apply additional hardening and operational controls beyond what we describe here. We're not claiming this is equivalent to AWS's internal threat model, but it does rely on NVIDIA's documented isolation mechanisms.
ben_s
·قبل 7 أشهر·discuss
Thanks! I haven't looked deeply into slicing up a single GPU. My understanding is that vGPU (which we briefly mention in the post) can partition memory but time-shares compute, while MIG is the only mechanism that provides partitioning of both SMs and memory bandwidth within a single GPU.
ben_s
·قبل 7 أشهر·discuss
(author of the blog post here)

For me, the hardest part was virtualizing GPUs with NVLink in the mix. It complicates isolation while trying to preserve performance.

AMA if you want to dig into any of the details.