Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poll: whitelist Minecraft@home #243

Closed
Droogans opened this issue Feb 15, 2021 · 27 comments
Closed

Poll: whitelist Minecraft@home #243

Droogans opened this issue Feb 15, 2021 · 27 comments

Comments

@Droogans
Copy link

Droogans commented Feb 15, 2021

Poll: whitelist Minecraft@home

This poll seeks approval to whitelist the Minecraft@home project, allowing participants to earn GRC for completing work units for the project. Instructions for this poll's creation were taken from https://gridcoin.us/wiki/whitelist-process.html and may not represent the final state of this whitelist poll creation request.

Funds for backing the poll's creation will be provided by the account linked to CPID d7d7d75b4d415e3dd1a928de1bd17bb3.

Whitelisted Project

The admin of the project is @ChipWolf on github, and @chip#0001 on discord.

Discussion

reddit
steemit
discord

This matter is largely already discussed. Any additional discussion is welcome.

Poll Question

Should Gridcoin whitelist the BOINC project Minecraft@home?

Poll Options

  • Yes
  • No
  • Abstain

Poll Duration

21 days

Poll Validation Requirements

40% AVW

Begin Date: February 15th, 2021
End Date: March 8th, 2021

@ChipWolf
Copy link

I approve, also approving whitelisting immediately following this poll if it passes
cc. @hube12 (as discussed)

@RoboticMind
Copy link
Contributor

@jamescowens
Copy link
Member

jamescowens commented Feb 15, 2021

Have we gotten the concurrence of the project administrator to do this and is the project ready?

Ok. I just checked the Discord and it looks like we have. It would be a good idea for the project admin to confirm on this thread.

@RoboticMind
Copy link
Contributor

RoboticMind commented Feb 15, 2021

The reply from ChipWolf in this thread was the project admin saying they approve and that they approve whitelisting immediately after the poll if it gets approved

@jamescowens
Copy link
Member

I for one am voting yes on this one. Not everything on Gridcoin has to be absolutely serious, and I have a soft spot in my heart for Minecraft. I spent many, many hours playing it with my kids and their friends, and STILL run two servers for F&F. A Bukkit (Spigot) server and a Tekkit server.

@Hyenadae
Copy link

Hyenadae commented Feb 17, 2021

We do currently have some "long term" work going on, which is basically simulating Minecraft Cactus generation in order to find the tallest ones on any given "height" they start being generated at. Some of us had talks of trying to find a 64bit collision for some SHA hash stuff, but there's no firm plan on that or code atm. Though I assume that could take a long time, and would very much be a more 'serious' project if someone was looking for one. No idea how much power we would need, but apparently some weird stuff in Minecraft could happen if we can get collisions as everything in it is java 64bit rng based (though, only 2^48 unique worlds can be made)

@RoboticMind
Copy link
Contributor

RoboticMind commented Feb 17, 2021

That's interesting! Would a collision be detected if it was run into in the regular search going on in the project or would it require some special code to spot it? (Not that the current searches would necessarily be the most efficient way to find collisions)

@Hyenadae
Copy link

Hyenadae commented Feb 18, 2021

That's interesting! Would a collision be detected if it was run into in the regular search going on in the project or would it require some special code to spot it? (Not that the current searches would necessarily be the most efficient way to find collisions)

Not in the current application, called "Kaktwoos-cl" (Cactus-TWOChunk-OpenCL). Some further info on this:

The reason why finding a 64bit wrap of a seed is interesting is because in theory, we can find "a new class of seeds". We have seeds (Minecraft rng gen inputs) currently classed as "Sister Seeds" and "Shadow Seeds" where these worlds have exactly the same generation of Feature X, but Environment Y is different. This is because Minecraft uses the leftover bits (48 -> 64) to calculate the environment (biomes) and what type you will encounter in a specific coordinate.

To quote some people:

sha2(seed1)%64==sha2(seed2)%64
sha2(seed1)==sha2(seed2)
"Well you see the sha256 algorithm hashes the seed, which then in turn is transformed into a 64 bit number"

(SHA 256 is used) yes, to get the "biome voronoi level seed"
(Minecraft) it hashes the world seed using sha256 and converts to a long.

I'll try to bring this up again with my team and see if they would like to consider this, though the majority of us are on our Discord server. I also don't know what kind of resource requirements this would entail anyways, like how much storage/TFLOPs would be needed to keep track and begin making progress on a project such as this.

@hube12
Copy link

hube12 commented Feb 18, 2021

I made a POC of this, it's an interesting application of bloom filter over distributed ressource. But since that needs high performance operations we will first update our boinc infrastructure to a kubernetes cluster and contribute upstream before doing that one. In the meantime we have calculated that our current tasks with the current rate (and even factoring a 1.5x increase) would last us for the next 200-300 days which at this moment will leave place to another projects which is in the working (or the sha project if the infrastructure is up to date). If you want a run down of what we are doing, I will gladly jump in a voice call/ instant chat (IRC/Discord/Slack/Zulip...). We know that some people external to Discord might have only a partial view of what we do (notably with the very few message on our boinc page) but we are trying to close that gap.

@Droogans
Copy link
Author

we will first update our boinc infrastructure to a kubernetes cluster and contribute upstream before doing that one

Which part of this sentence is related to that "and contribute upstream" bit at the end? The BOINC project? That sounds interesting.

I suspect you're referring to the docker-compose setup in the mc@h project.

@hube12
Copy link

hube12 commented Feb 20, 2021

@Droogans Actually we are going to ditch soon the docker stuff and split the boinc monolithic structures into microservice such as it can be scaled correctly on a kubernetes cluster. It has been a few months since the work has been started and we hope to finish before the end of the year, allowing us to better use our server infrastructure.
But again it's a project in the making ;)

@ChipWolf
Copy link

ChipWolf commented Feb 20, 2021

It'll shift the workflow for us, dramatically improving our agility to build and iterate on the research apps we distribute. Migrating the workload into something Kubernetes-native will also make BOINC deplotments significantly more resilient and available.

BOINC tasks become Kubernetes Jobs, Daemons become ReplicaSets, etc.

To keep things simple; we'll use Helm to package our Kubernetes implementation of BOINC & we'll take advantage of existing, well-maintained Kubernetes implementations of BOINC dependencies (such as Apache).

Our BOINC Helm chart will be contributed upstream when available 🚀

@smoe
Copy link

smoe commented Feb 22, 2021

When adding Minecraft, could we also discuss removing a project that may be considered borderlinish by many? Candidates for a removal from my side are:

Amicable Numbers
Collatz Conjecture
NFS@Home
NumberFields@home
ODLK1
SRBase
YAFU

We could also think of a pool of 3-5 "not helping mankind too much that we have for publicity" projects and round-robin them every month.

@Aurum420
Copy link

Aurum420 commented Feb 23, 2021

I voted NO because I don't see how a kid's game has anything to do with science and advancing the human condition.
"Gridcoin is an open source cryptocurrency (Ticker: GRC) that rewards volunteer computing for science through the BOINC platform." [https://gridcoin.us/]

@RoboticMind
Copy link
Contributor

When adding Minecraft, could we also discuss removing a project that may be considered borderlinish by many? Candidates for a removal from my side are:

Amicable Numbers
Collatz Conjecture
NFS@Home
NumberFields@home
ODLK1
SRBase
YAFU

We could also think of a pool of 3-5 "not helping mankind too much that we have for publicity" projects and round-robin them every month.

Mathematical work has an impact. It always seems so abstract and useless until it isn't. Boolean algebra wasn't super useful until it became the foundation of computing. A lot of work with prime numbers seems not very practical until it became the foundation of modern cryptography.Black holes were thought to be a mathematical fluke in Einstein's view until they were discovered to exist. There's countless more examples of all this. See this thread on math stack exchange about it

Trying to guess what will and will not have an impact would be missing many of the things that do have impacts. Science and mathematics advances from unsuspected places. Would you have guessed that quaternions which were discovered in the 1843 would be fundamental for much of 3D graphics today? Would you have guessed that black-body radiation would lead to the whole world of quantum mechanics? Or how the inventor of the first Radio through it would have no real applications ("It's of no use whatsoever. This is just an experiment that proves Maestro Maxwell was right, we just have these mysterious electromagnetic waves that we cannot see with the naked eye. But they are there")

@smoe
Copy link

smoe commented Feb 23, 2021

When adding Minecraft, could we also discuss removing a project that may be considered borderlinish by many? Candidates for a removal from my side are:

Amicable Numbers
Collatz Conjecture
NFS@Home
NumberFields@home
ODLK1
SRBase
YAFU

We could also think of a pool of 3-5 "not helping mankind too much that we have for publicity" projects and round-robin them every month.

Mathematical work has an impact. It always seems so abstract and useless until it isn't. Boolean algebra wasn't super useful until it became the foundation of computing. A lot of work with prime numbers seems not very practical until it became the foundation of modern cryptography.Black holes were thought to be a mathematical fluke in Einstein's view until they were discovered to exist. There's countless more examples of all this. See this thread on math stack exchange about it

Trying to guess what will and will not have an impact would be missing many of the things that do have impacts. Science and mathematics advances from unsuspected places. Would you have guessed that quaternions which were discovered in the 1843 would be fundamental for much of 3D graphics today? Would you have guessed that black-body radiation would lead to the whole world of quantum mechanics? Or how the inventor of the first Radio through it would have no real applications ("It's of no use whatsoever. This is just an experiment that proves Maestro Maxwell was right, we just have these mysterious electromagnetic waves that we cannot see with the naked eye. But they are there")

I like mathematics. But the prime work was to come up with the theorem, not to put an infinite amount of work into failing to find a counter-example - so "Collatz Conjecture" would be highest on my cut-list, even though they have a nice GPU support. The others, well, depends on what you all want the Gridcoin to be, really. Not having Gridcoin's whitewash will not kill any of these projects, so I do not see our responsibility to strengthen these projects. My only interest is in the coin and how it is perceived by those who want to use it. Anything lacking a "cool, great, thank you for this"-factor should go. If a round-robin of second-league projects is not acceptable, here an extended proposal for a ranked cut-list - the other was alphabetical:

Collatz Conjecture
NFS@Home - we do not need more factorisation
ODLK1 - so what
----- my very personal cut line --
SRBase
Yoyo@Home - OGR is fine with me, everything else not so much
----- my "you'd be in danger to be cut if I was in charge" line --
YAFU
Amicable Numbers - I actually like that one
NumberFields@home - and I like that one

@jring-o
Copy link
Collaborator

jring-o commented Feb 24, 2021

Audio discussion:

https://www.gridcoin.science/episode/incentivizing-minecrafthome

TL;DR

Due to the Apollo/SETI@Home effect, Minecraft@Home is the most valuable BOINC project out there and should be added to the whitelist.

I'm sure there are a lot people who support revisiting every legacy project on the whitelist. I suggest making a dedicated thread. You can also join the #whitelisting-committee channel on Discord. This is an open group which has taken up the task of reviewing all projects.

@smoe
Copy link

smoe commented Feb 24, 2021

I just completed listening to the fireside - had to look up https://www.urbandictionary.com/define.php?term=Snoody . I have set up a minecraft server myself and while I doubt that minecraft users are young, I am fully with you that an "artificial environment benchmarking" is very intersting per se and educational also on the computer science level. But I would ensure that

  • the minecraft@home folks invite the CS community to come up with interesting benchmarks
  • the acceptance for GRC is revisited next year to see if minecraft has brougth new CPIDs indeed and remove them if not
    In other words, I would make their acceptance temporal - they shine and help the Gridcoin or they go again.

Let alone as a favor to @jamescowens who is backing the project's acceptance I would be very happy to welcome Minecraft@Home on the whitelist (-> allowlist?) . But we do not do GRC a favor if we dillute the value of the computations for the society too much. It is not a maths vs biology vs physics vs games issue as I felt you put it during the fireside. Also the "just don't crunch it" does not hold since the GRC are spent on the project anyway, no matter how many people are crunching it.

I am very much convinced that we need the means to remove projects from the whitelist. And preferably so, we have an objective means to decide what project(s) needs to go. This could be the number of CPIDs that are active on a project. Or a vote. Every project that is added to the whitelist could remove one. I would remove more - unless we start to non-equally reward the participation in these projects.

The question came up if we would accept yet another protein folding project - that was an interesting one. My heart cries no, unless it brings some technical novelty, like support for AMD GPUs. Minecraft has a neat vicinity to the gaming industry, which has strong GPUs. So, yes, it may be important for us. But we need to let some cruft go, too. I suggest to add this to the voting:

o Whitelist Minecraft@Home no matter what
o Whitelist Minecraft@Home and vote again on it in 2022.
o Whitelist Minecraft@Home if another project is blacklisted
o Do not whitelist Minecraft@Home
o Abstain

"snoddy"ness. Hm. A project with a couple full-time scientists has it easier than a single individual coming up with something as a side-project. But that does not mean that the Gridcoin has to support everything that is out there and treat the small projects that likely never have any scientific publication equally to the big projects. Yes, we should have smaller projects, and we should have educational projects, but some projects are more equal than others.

And while I tend to think that I am active reader of anything that is Gridcoin related, I managed to miss the discussion on how the poll is to be prepared. Otherwise I would have raised my concerns earlier.

@jring-o
Copy link
Collaborator

jring-o commented Feb 24, 2021

@smoe

I'm a bit confused by your post. There is already a way to remove projects. Some metrics you're talking about might be possible with a dynamic magnitude system, but that's not coming any time soon -- if at all. Otherwise it's up to discussion and voting based on the process already established. If the project is approved you are welcome to argue for its removal in a year based on any data you want to use.

#227

To clarify my argument, which I feel might have been misunderstood:

The main thrust of the argument for adding is that Minecraft@Home does more "for society" than most if not all current BOINC projects. It brings people into distributed computing in the same way SETI@Home did. It introduces people to DC and science through something fun, which is very important. It then pushes them to explore the larger BOINC ecosystem, which is something even SETI@Home struggled to do.

@smoe
Copy link

smoe commented Feb 24, 2021

Then please remove one (or more) project(s) for my "yes" vote. It seems like you do not need it anyway, so my "no" won't hurt you. But for the sake of Gridcoin - clean it up.

@jamescowens
Copy link
Member

It is up to the community to "clean it up". Start a discussion about project removal and follow the procedure and put it up to a vote.

@jamescowens
Copy link
Member

Also... please don't vote yes as a favor to me. You should decide based on what you think is right.

@Hyenadae
Copy link

Listened to the fireside chat (we've forwarded it to our Discord channel users) and I liked their perspective on it on incentivizing and introducing a younger, games-orientated generation of computer users with GPU and CPU resources to BOINC. It's honestly one of the aspects I never thought about too often when Chip and I began establishing the network and understanding the whole BOINC infrastructure (and porting) from scratch, but now it seems to be a good outcome from the work and making interesting projects.

But, seeing all the popularity of our surprising results and the amount of really cool, and often (to me) complicated OpenCL and CUDA code needed to get them has been an interesting experience so far. We've definitely grown our team (as Chip and Hube/Neil mentioned) and infrastructure, so we're definitely not as worried about increased load or users from GRIDCOIN or other sources as last year.

Another example of what more coders and processing power at their disposal is showing more limits of Minecraft and Java's psuedo-random world generation algorithms, where some seeds and inputs produce "nonsense and repetition" in certain aspects of the world. There are seeds that are practically broken "just because" their RNG input seed causes quirks. I'm personally not sure if the community has found all possible broken seeds/more flaws in the noise and various generation code of Minecraft, but I'm sure someone out there would have the answer and interest, simply as a philosophical "How broken can these 64bit seed inputs and their outputs be". Another project I feel the Minecraft community would like, though insane (and impossible due to how many resources it would need) is to pre-generate a given area of all worlds for a specific version of Minecraft and save it somehow. A sort of index or search engine for world features would be made from that, then people could select a known but unique (due to sheer amount of these worlds) starting area. This isn't a project we'd consider, ever, unless we'd have another universe worth of resources to expend. For reference on how insane this would be, if each chunk (16x16x256 blocks) in Minecraft was 1KB, then we'd need "2.65633114661418e+35 bytes" to store that data. So I guess it's impressive, given how vast worldgen in Minecraft is that we can even find seeds and tall cacti using highly simplified and specific re-generation algorithms.

Anyways, I'm always happy to get more people into BOINC via MC@Home, and I've suggested to some of our members to try to learn OpenCL when possible so any projects, or code we make for cracking seeds can run on as many GPUs as possible; and isn't strictly limited to CUDA due to lack of resources or care to port and test an OpenCL port like we see with older BOINC projects. Considering 40% of our compute power and users run AMD GPUs, they're a considerable portion of our infrastructure and it'd be nice if they had another place to donate their compute power to, if other projects they would be interested in otherwise only support Nvidia gpus. It seems like we've got another two weeks or so before the polls closed, but I earned enough gridcoin from Milkyway+Collatz tasks to put my vote in, so now I have some experience with the Gridcoin software and pools' BOINC integrations. I'm interested in any other suggestions for what users of Gridcoin would like to have us run task-wise, if the majority opinion comes to either whitelisting us, or having us re-focus a future project/goals to make it more appetizing for the users if we can.

@MavropaliasG
Copy link

I vote NO and I full agree with @Aurum420

@ChipWolf
Copy link

ChipWolf commented Mar 6, 2021

I feel many of the no votes fail to consider the impact of introducing this new demographic to distributed computing projects.
There's obviously a level of bias to this statement, however, I'd be remiss to not raise the fact our BOINC project has promoted the wider distributed computing community and encourages our members to actively contribute to the cause.

The Minecraft element is something attractive to a demographic which would otherwise not pay attention to this area; the impact of this is immeasurable & the value of this completely outweighs the science purist attitude I've seen from some of the Gridcoin community.

I encourage anyone on the fence to listen to @jring-o's fireside podcast on the matter, he highlights some very valid points.
Given how tight the numbers on the vote are currently, there's a very good chance this whitelist proposal will not go through; in the event it does not, it'd be good to understand the cooldown period before this discussion can be had again.

@RoboticMind
Copy link
Contributor

The poll has now ended and Minecraft@Home will be added to the whitelist!. The "yes" answer has a majority of the votes and a little under an hour before the poll closed, the poll reached the required AVW for it to be validated. Minecraft@Home has will be included the next superblock

@jring-o jring-o closed this as completed Mar 15, 2021
@presciencia
Copy link

I know it is passed but I have seen the message from cycy in discord chat that is good part of this discussion and so it will not be lost I am copying:

I've been watching the project's development of the aging BOINC server software into more modern, modular infrastructure--something that I've hoped to see in the BOINC world since I learned about it. If that direction continues, MC@Home has the potential to contribute open-source improvements upstream to be used by future projects and developers that have come to expect a modern cloud-native process, and MC@Home has a real-world workload to test these changes without the constraints of many of the current academic projects that cannot afford those development resources on top of the costs of maintaining their own applications.

For this I agree, as one non game legacy for Minecraft@home maybe improved starting and maintenance experience for all future and possible current BOINC projects. With the barrier for running projects is reduced more scientists can benefit with BOINC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

12 participants