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