Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Lambda does not use hyperthreads/SMT on either x86 or ARM.


Interesting. Just tried running "cat /proc/cpuinfo" on an X86 Lambda, and I get:

  siblings : 2
  cpu cores : 2
Which would imply no hyperthreads, to the degree that their hypervisor is telling the truth. So Lambdas are then one of the few places where an x86 core is a core. Thanks for the info.


I highly recommend Andy Jassy's infrastructure keynote from re:Invent 2020. Among many other things, he discusses why Amazon never gives you a single hyperthread (it's mostly about cache coherency, IIRC).


Well, yes, but I had guessed based on them saying "between 2-6 vCPUs per Lambda". They could avoid single hyperthreads that way.


You can look at the EC2 t instance series to see how AWS might think about constraining resources.

All Intel t instances, like t2, or t3 give you two hyperthreads, but cap your CPU utilization.

Lambda runs on EC2...


Lambda runs on Firecracker, I would be very surprised if Firecracker is being run on EC2.


Lambda indeed runs on Firecracker, on EC2. See https://youtu.be/FTwsMYXWGB0?t=208 for example.


Thank you for the reference. Clearly you are right that Lambda runs on EC2. Specifically they mention that Lambda runs on EC2 bare metal instances (i.e. without any of the containerization), which makes a lot of sense to me.

I feel in this case the distinction between EC2 and EC2 bare metal is very important. Based on the GP's use of "EC2"[0] its clear they meant "the EC2 containerization model/code", rather "EC2" to mean "the EC2 hardware and/or software together".

I'll correct my original response: "While Lambda does run on EC2 hardware, Lambda uses Firecracker rather than the EC2 containerization model/code. I would be very surprised if we can correctly infer anything about Lambda's containers based on EC2's containers.

Maybe one day in the future (or already?) EC2 will also use Firecraker. At which point this comment should be deprecated.

[0] "You can look at the EC2 t instance series to see how AWS might think about constraining resources."


It’s too hard/not really feasible today to guarantee SMT safety between VMs. As Lambda is a many-VMs platform…


Yes, I had assumed SMT because they say they give you between 2-6 vCPUs. I assumed that meant 2,4, or 6 hyperthreads...where they could keep you from sharing a core with neighbors. But, seems you get real cores.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: