gVisor Systrap platform: Like ptrace, but faster

219 views
Skip to first unread message

Etienne Perot

unread,
May 11, 2023, 3:56:23 PM5/11/23
to gVisor Users [Public], Konstantin Bogomolov, Andrei Vagin

Hi all,


We're releasing the Systrap platform for gVisor.

Like the ptrace platform, Systrap runs without virtualization.

Unlike the ptrace platform, Systrap is fast.

Like all gVisor platforms, Systrap does not compromise on security.


Systrap is ready for non-production use today. We encourage you to try it!

This will help us weed out any remaining issues with stability and performance before it is made default.


To try Systrap, simply pass --platform=systrap to runsc. See the Platform Guide for details.

Note that this is orthogonal to the other two performance improvements we've released in the last few weeks; you can stack all of them for best performance (!).


Please see our blog post on Systrap for more information on how it works, and our benchmark results.

While Systrap provides a consistently better performance than ptrace, we've found that running benchmarks at realistic (i.e. non-extreme) load levels yields the best results.


We look forward to hearing from you!

Scott Beeker

unread,
May 11, 2023, 6:45:54 PM5/11/23
to gVisor Users [Public]

Great! Looking forward to it.

Etienne Perot

unread,
May 23, 2023, 6:32:11 PM5/23/23
to gVisor Users [Public], Konstantin Bogomolov, Andrei Vagin, beeke...@gmail.com
Hi all,

We will be switching gVisor's default platform from ptrace to Systrap in 3 weeks.
This is expected to provide a performance gain for all users that are currently using ptrace.

If you have not tried Systrap out yet, now is the time to do so!
Simply pass --platform=systrap to runsc. See the Platform Guide for details.

If you would like to keep using ptrace and do not want this change to be disruptive to you, you should explicitly set --platform=ptrace now.
This way, when Systrap becomes the default, you will still be using the ptrace platform.

We will be sending another announcement once Systrap is made the default platform.
In the meantime, we encourage you to adopt it earlier and send us feedback!

Etienne Perot

unread,
Jun 13, 2023, 6:43:19 PM6/13/23
to gVisor Users [Public], Konstantin Bogomolov, Andrei Vagin
Hi again,

Systrap is now the default platform in runsc.
If this breaks your application, you can set --platform=ptrace to revert back, but please also report the issue.
Any Systrap issue that doesn't occur under ptrace is a bug.

Beyond that, enjoy the performance boost!

Sankaranarayanan Venkatasubramanian

unread,
Feb 7, 2024, 11:13:24 AM2/7/24
to gVisor Users [Public]
Hi Etienne, If you compare systrap vs kvm, which one will yield the best performance (approximately)?

Andrei Vagin

unread,
Feb 7, 2024, 11:34:11 AM2/7/24
to gVisor Users [Public]
KVM have a better performance on bare-metal. In vm-s, nested-virtualization isn't always available and it's slow, so systrap is the choice there.

Sankaranarayanan Venkatasubramanian

unread,
Feb 8, 2024, 10:53:03 AM2/8/24
to gVisor Users [Public]
Thanks, Andrei. Currently, I am interested in bare metal. So, looks like KVM is the choice there.

In VM case assuming nested virtualization, roughly how much is the gap between KVM and systrap?

-Sankar

Reply all
Reply to author
Forward
0 new messages