HN user

shayonj

840 karma
Posts99
Comments148
View on HN
www.shayon.dev 1mo ago

Building a Tiny FUSE Filesystem

shayonj
2pts0
www.shayon.dev 1mo ago

Exploring building a tiny FUSE filesystem

shayonj
79pts15
www.shayon.dev 1mo ago

Building a Tiny FUSE Filesystem

shayonj
2pts0
www.shayon.dev 2mo ago

I am not leaving GitHub any time soon

shayonj
2pts0
www.githubstatus.com 2mo ago

GitHub Down Again

shayonj
14pts2
www.shayon.dev 3mo ago

Shipping Fast Requires a High Degree of Trust

shayonj
1pts1
github.com 3mo ago

Fast sandboxed code execution with pre-warmed gVisor pools

shayonj
2pts0
github.com 3mo ago

Fast sandboxed code execution with pre-warmed gVisor pools

shayonj
2pts0
www.shayon.dev 4mo ago

Linux Page Faults, MMAP, and userfaultfd for faster VM boots

shayonj
59pts3
www.shayon.dev 4mo ago

Linux Page Faults, MMAP, and userfaultfd for faster VM restores

shayonj
2pts0
www.shayon.dev 4mo ago

Linux Page Faults, MMAP, and userfaultfd for fast sandbox boot times

shayonj
16pts3
jpospisil.com 4mo ago

Creating virtual block devices with ublk

shayonj
2pts0
github.com 4mo ago

A simple L7 proxy for vLLM that manages LoRA adapter storage via NVMes

shayonj
2pts0
www.shayon.dev 4mo ago

Let's discuss sandbox isolation

shayonj
173pts71
brooker.co.za 4mo ago

SFQ: Simple, Stateless, Stochastic Fairness

shayonj
2pts0
github.com 4mo ago

A simple L7 proxy for vLLM that manages LoRA adapter storage via NVMes

shayonj
1pts0
www.shayon.dev 4mo ago

Let's Discuss Sandbox Isolation

shayonj
2pts0
www.shayon.dev 5mo ago

Let's Discuss Sandbox Isolation

shayonj
2pts0
github.com 5mo ago

A managed disk adapter storage and routing layer for LoRA adapters on vLLM

shayonj
2pts0
github.com 5mo ago

Simple CUDA-checkpoint wrapper to freeze and restore GPU processes quickly

shayonj
3pts0
github.com 5mo ago

Manage, freeze and restore GPU processes quickly

shayonj
2pts0
www.shayon.dev 5mo ago

Understanding How GIL Affects Checkpoint Performance During LLM Training

shayonj
2pts0
www.shayon.dev 5mo ago

Understanding How GIL Affects Checkpoint Performance in PyTorch Training

shayonj
1pts0
news.ycombinator.com 5mo ago

Ask HN: AWS/S3 Outage?

shayonj
3pts3
www.tines.com 5mo ago

Strategies and lessons from partitioning a 17TB table in PostgreSQL

shayonj
2pts0
www.tines.com 5mo ago

Strategies and lessons from partitioning a 17TB table in PostgreSQL

shayonj
5pts0
www.tines.com 6mo ago

Partitioning a 17TB Table in PostgreSQL

shayonj
5pts0
www.shayon.dev 6mo ago

What does Software Engineering mean when machine writes the code

shayonj
1pts3
www.shayon.dev 6mo ago

Software engineering when machine writes the code

shayonj
1pts0
www.shayon.dev 8mo ago

A hypothetical search engine on S3 with Tantivy and warm cache on NVMe

shayonj
2pts0

you can do things that aren't practical with 100-200ms startup: speculative parallel execution (fork 10 VMs, try 10 approaches, keep the best), treating code execution like a function call instead of an infrastructure decision, etc.

i am not following, why isn't it practical?

Cool project. +1 on userfaultfd for the multi-node path. Wrote about how uffd-based on-demand restore works wrt to my Cloud Hypervisor change [1] if you are curious.

I think the the main things to watch are fault storms at resume (all vCPUs hitting missing pages at once) and handler throughput if you're serving pages over the network instead of local mmap. I think its less likely to happen when you fork a brand new VM vs say a VM that has been doing things for 5 mins.

Also interestingly, Cloud Hypervisor couldn't use MAP_PRIVATE for this because it breaks VFIO/vhost-user bindings. Firecracker's simpler device model is nice for cases like this.

[1] https://www.shayon.dev/post/2026/65/linux-page-faults-mmap-a...

This is going to be an interesting space to watch I think and big part of offering sandbox as a service basically for enterprise and saas needs.

Yeah, it's hard to hit the right balance with nuance around these and you're spot on. What I meant to get at was the specific difference in default modes where gVisor's systrap intercepts syscalls via seccomp traps and handles them entirely in a user-space Go kernel, so there's no hardware isolation boundary in the memory/execution sense. A microVM puts the guest in a VT-x/EPT-isolated address space, which is a qualitative difference in what enforces the boundary (perhaps?)

Whereas yeah, you can run gVisor in KVM mode where it does use hardware virtualization, and at that point the isolation boundary is much closer to a microVM's. I believe the real difference then becomes more about what's on either side of that boundary where gVisor gives you a memory-safe Go kernel making ~70 host syscalls, a microVM gives you a full guest Linux kernel behind a minimal VMM. So at least in my mind it comes down to a bit of around different trust chains, not necessarily one strictly stronger than the other.

Heya! nice to see you here. In retrospect it feels like CI companies and environments are very well suited for sandboxes since a lot of the problems overlap around ephemeral workloads, running untrusted code, fast cold starts, multi-tenancy isolation. Also, loved Buildkite at a past job! Looking forward to following cleanroom

It touches in the gvisor section around the trade-off that the surface area for gvisor is smaller. There are trade offs. It’s not dishonest.

That’s a good shout! I have been curious as well and did some experiments. Also left out GPU sandboxing from the post as well. Maybe will reflect in a part II post.

That is a good call out and I missed to consider the options you pointed. When I am back on keyboard I will add an updated note with a link to your comment. Thank you!

Very cool to see this and something I have been curious about myself and exploring the space as well. I'd be curious what are some parallels and differentiations between this and NVIDIA's stdexec (outside of it being in Rust and using Future, which is also cooL)

Sadly, its not the first time I have noticed unexpected and odd behaviors from Aurora PostgreSQL offering.

I noticed another interesting (and still unconfirmed) bug with Aurora PostgreSQL around their Zero Downtime Patching.

During an Aurora minor version upgrade, Aurora preserves sessions across the engine restart, but it appears to also preserve stale per-session execution state (including the internal statement timer). After ZDP, I’ve seen very simple queries (e.g. a single-row lookup via Rails/ActiveRecord) fail with `PG::QueryCanceled: ERROR: canceling statement due to statement timeout` in far less than the configured statement_timeout (GUC), and only in the brief window right after ZDP completes.

My working theory is that when the client reconnects (e.g. via PG::Connection#reset), Aurora routes the new TCP connection back to a preserved session whose “statement start time” wasn’t properly reset, so the new query inherits an old timer and gets canceled almost immediately even though it’s not long-running at all.

Fair! I was going for more generic example for the intro and eventually segue into the greater point and questions the post is trying to make. It does touch on few other examples like the AlphaFold, later on.