Object Pile shifts the paradigm of .NET development as it eliminates the processing gaps caused by the GC. It provides a practical solution for consumption of heaps measured in 100s of gigabytes. Pile stores hundreds of millions of CLR objects in-process - a normal use-case! It is utilized in server applications via regular CLR object allocations on pile making Big Memory applications possible on a 100% managed runtime.
Apache 2.0; Get Commercial Support: Contact Us
Pile solves the notorious GC stalls problem which existed since the first days of managed memory model. Unfortunately, the GC blocking can not be eradicated completely - it is the price we have to pay for the higher-level memory model. In recent years there have been significant improvements in GC mechanisms see this MSDN blog post. The GC became less intrusive, and more informative, so we can now know about the upcoming blocking GC phase and try to divert traffic to a nearby server. This has helped many use-cases.
There is a number of systems, however, where GC remains problematic despite all of the improvements made in the runtime. It is a customary routine to use the out-of-box/process solutions such as Redis in such systems, however keep in mind that out-of-process stores still require serialization and transportation overhead.