News for hackers. Stuff that matters.
Re:Elixir v1.7 released by AboutTheWhisles on Thursday July 26, 2018 @09:16AM (#17617163)
> Default allocator settings can call malloc/mmap a lot, and is sensitive to latency on those calls. Under host memory bandwidth pressure, BEAM can grind to a halt. Tuning BEAM's allocator settings is imperative to avoid this. Namely, MHlmbcs, MHsbct, MHsmbcs and MMscs. This was especially noticeable after meltdown was patched.

Excessive allocations and memory bandwidth are two very different things. Often then don't overlap, because to max out memory bandwidth you have to write a fairly optimized program.

Also, are the allocations because of BEAM or is it because what you are running allocates a lot of memory?

Re:Elixir v1.7 released by jhgg on Thursday July 26, 2018 @02:19PM (#17619614)
BEAM's default allocator settings will allocate often. It's just how the VM works. The erlang allocation framework: http://erlang.org/doc/man/erts_alloc.html is a complicated beast.

We were able to simulate this failure condition synthetically by inducing memory bandwidth pressure on the guest VM.

We noticed that during certain periods of time, not caused by any workload we ran, the time spent doing malloc/mmap would 10-20x, but the # of calls would not.

Re:Elixir v1.7 released by bostonvaulter2 on Thursday July 26, 2018 @11:45PM (#17623295)
> We noticed that during certain periods of time, not caused by any workload we ran, the time spent doing malloc/mmap would 10-20x, but the # of calls would not.

I'm curious what tools you used to discover this

Re:Elixir v1.7 released by jhgg on Friday July 27, 2018 @01:54AM (#17623771)