

Java Garbage Collection Distilled (2013) - adamnemecek
http://mechanical-sympathy.blogspot.com/2013/07/java-garbage-collection-distilled.html

======
nickik
Oracle or Sun should just have bought Azul back in the day. I have no idea why
they did not. Both there JIT and GC were way better then what they sold to
there costumers and maybe hardware would be further along by now as well.

Its awesome that we now see opensource project shooting for a pausless gc.

~~~
aardvark179
Gil & Azul have always been very focused on their particular market segment,
but it's not a solution that suits every workload or can be deployed generally
(C4 requires OS enhancements to operate).

~~~
nickik
I have not suggested that they put C4 or the orginal passless as a standard.
While they did focuse on a perticular market segment the performance and
paustime numbers they showed could easly have been usful for tons and tons of
other markets.

While C4 does currently require OS enhancements, they could make it without
it, it would just be slower. However the problem that Azul has tried to
overcome with the OS could have been much more powerful attacked with the full
force of oracle/sun behind it. They once put some linux patches but it was
never there focus and it never went upstream.

At a big company this technogoly could have had a bigger impact, they could
have talked to microsoft, apple and the linux team. I know that Azul also
tried to strike up a conversation with Intel but in there words "it was like
moving a mountain".

And im not suggesting Sun/Oracle should have done this for the greater good of
all humans. They would would have created a gigantig benefit for java products
over the competition C# and C++ in the server space.

I rember talks by Cliff Click that mentioned that they were really suprised
that Sun did not have more intresst in them, considering some simple things
that Sun could have to get huge increses in some of the high end server
systems they were selling (am searching for the refernce ...).

Edit: See Cliff Click talk about intel and sun.

[http://www.youtube.com/watch?v=5uljtqyBLxI&](http://www.youtube.com/watch?v=5uljtqyBLxI&)
t=54m33s

He mentions that the sun shareholders should put there exutive staff into
prison.

~~~
rikf
I agree with everything you said. Here is an interesting lwn article from when
the azule people originally tried to push their change/enhancements upstream.

[http://lwn.net/Articles/392307/](http://lwn.net/Articles/392307/)

Seems like either the quality wasnt there or the linux people where resistant
to change.

Some more info here.
[http://en.wikipedia.org/wiki/User:AzulPM/Managed_Runtime_Ini...](http://en.wikipedia.org/wiki/User:AzulPM/Managed_Runtime_Initiative)

Its a pitty that this type of GC hasn't found widespread use because it gives
us the best of both worlds, in terms of automatics memory management and
performance.

 _edit for spelling mistake_

~~~
nfa_backward
It looks like their attention has turned to LLVM.

[http://www.philipreames.com/Blog/2014/06/04/code-for-late-
sa...](http://www.philipreames.com/Blog/2014/06/04/code-for-late-safepoint-
placement-available/)

[http://www.azulsystems.com/about_us/careers/llvm-compiler-
en...](http://www.azulsystems.com/about_us/careers/llvm-compiler-engineer)

~~~
hga
I've been following Philip Reames' blog, it's good to see LLVM get some
serious precise GC love.

Reading the job advert, I would have to wonder if they want to avoid an all
in, 100% bet on the Hotspot JVM, not to mention strict JVMs in general. I
wouldn't be surprised if they have the best concentration of knowledge on
Hotspot in the world, including Oracle, might be getting a bit tired of it,
and certainly would know the limitations of its code base by now.

~~~
nickik
I think that they might just want to profit from all the love going into LLVM.
Currenlty hotspot has costum optimization and if you have a product based on
it you have to maintain this and improve it. If you manage to creat a fast
powerful LLVM based JVM you can profit from the other work going into that
space and maybe distance yourself from the orcale standard.

However, currently not that many JIT are LLVM based so it seams that it needs
some love to get this to working well. Both for GC and compilation speed.
Thats at least my guess.

------
joncrocks
Anyone interested in newer GC strategies would be well off looking at two, one
commercial, one that's hopefully going to make it into OpenJDK.

The commercial one is already available, the other is still pretty POC/not
ready yet. Both look to provide 'pretty pauseless' collection.

[http://www.azulsystems.com/zing/pgc](http://www.azulsystems.com/zing/pgc)
[http://openjdk.java.net/jeps/189](http://openjdk.java.net/jeps/189)

~~~
aardvark179
There was good talk on Shenandoah at Strange Loop
[http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&...](http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCgQtwIwAQ&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DQcwyKLlmXeY&ei=K7N1VPfECpLWau2LgfAK&usg=AFQjCNFIuEyAMJ4EHUU8f6tBJzhLGp1kyQ&bvm=bv.80642063,d.d2s)

~~~
nickik
Sadly this video is incomplet but the most importent stuff is there.

------
thoughtsimple
It would be nice to have something like this for Google's GC in Android. Does
anyone know how close this is to what Google has implemented--especially in
later versions of Android.

