New Project Proposal: The Block GC

Roman Kennke roman at kennke.org
Sun Apr 1 10:03:17 UTC 2018


I like the proposal.
The block chain technology can be leveraged to further help with memory management. We could simply store any Java heap transaction in the block chain, indefinitely. I propose to handle any latency, throughput or capacity concerns by throwing more buzzwords on it. We can do that because the block chain provides a perfect abstraction layer from reality.

Cheers, Roman

Am 1. April 2018 09:35:25 MESZ schrieb Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com>:
>I hereby propose the creation of the Block GC Project with myself 
>(Magnus Ihse Bursie) as the Lead and the Build Group as the sponsoring 
>group.
>
>In accordance with the OpenJDK guidelines [1], this project will
>provide 
>the Block GC, a creative new approach of handling GC
>mis-optimization.[2]
>
>The Block GC, also known as the Block Chain GC, is an innovative new 
>system for Garbage Collection. It is a well-known fact that even though
>
>the JVM can be fine-tuned to employ an optimal GC method for a specific
>
>payload, most users do not bother to do so, or lack the technical
>skills 
>needed to select the proper GC. The Block GC is a "parasitic" GC, in 
>that it does not provide a separate GC system of it own, but instead 
>selects the most optimal GC for each individual payload.
>
>As a unique feature, the Block GC will measure and accurately calculate
>
>the improvement provided by selecting the optimal GC method, compared
>to 
>the GC previously selected. Let T_gc_def be the time the user 
>application is stopped during the GC for the default GC settings, and 
>let T_gc_opt be the corresponding time using the optimal GC method 
>selected by the Block GC. The difference T_gc_def - T_gc_opt is the 
>improvement in pausetime provided by the Block GC, and is known as the 
>"block gain".
>
>The block gain can be seen as a hidden resource, available for free
>from 
>the user of the JRE. After the GC has finished, the JRE can use the
>time 
>provided by the block gain, with the user threads still suspended, 
>without the application suffering performance regressions. In the 
>initial implementation of the Block GC, the block gain was just used to
>
>let the JVM sleep for an amount of time corresponding to the block
>gain. 
>This gave us a simple way to save processor cycles, and hence energy, 
>thus providing a simple way for the Java user to help fight climate 
>change without even noticing it.
>
>While a noble goal, this does not really makes business sense. In the 
>updated version of the Block GC, which we propose to be added as the 
>default GC in JDK 11, the block gain is instead used to calculate hash 
>values for popular cryptocurrencies, a.k.a. "bitcoin mining". Our 
>estimates show that this can generate a significant amount of revenue; 
>with a projected ~50 M downloads of JDK 11, running typical workloads, 
>and with typical values for GC settings (default or misconfigured), 
>$50k/day for all OpenJDK installations worldwide is not unreasonable.
>
>This is a pure win-win scenario. The user will not notice any 
>performance regression compared to the previous GC settings, and the 
>cryptocurrency account proprietor will benefit fiscally.
>
>The user can set their own blockchain account, instead of the default, 
>by issuing this command:
>
>    java -XX:UnlockDangerousOptions 
>-XX:UnsupportedGCOption=new_provider_config:<path to config file>
>
>where <path to config file> points to a configuration file in ASN.1 
>format describing the blockchain account. We hope to finish the 
>documentation of this file in time for the release, but if not done, it
>
>will not be considered a release blocker.
>
>If a user override is not provided as above, by default, the revenue 
>extracted by the Block GC miner will be stored in the Block GC Project 
>account. This revenue will be divided as follows: 90% will go to the 
>initial committers of the Block GC Project, and 10% will go to the 
>OpenJDK community.
>
>The first installment of the 10% payment to the OpenJDK comminuty will 
>be issued exactly one year from now, on April 1st 2019.[3]
>
>A preview of the Block GC can be found here: 
>http://openjdk.java.net/preview/thisisunbelievable.
>
>The initial Committers will be: Magnus Ihse Bursie, Satoshi Nakamoto
>and 
>P. T. Barnum.
>
>/Magnus
>
>[1] http://openjdk.java.net/projects/#new-project
>[2] http://openjdk.java.net/preview/thisisunbelievable
>[3] https://en.wikipedia.org/wiki/April_Fools%27_Day

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.


More information about the discuss mailing list