Gingeropolous 1TB MRC upgrade
1TB ram for new MRC server
I finally purchased a new epyc server, and I need to get ram for it. I was just going to get the minimal needed to make the thing mine some xmr, but figured we can pack this thing to the gills to provide some monstrous compute capacity for monero R&D.
For some background, I manage the Monero Research Computing cluster, which is essentially just my mining rigs that I've put more ram and storage in. I provide access to the MRC to various monero researchers and developers, so they can get some stuff done. The rigs mine when there is no activity by the users.
Currently, monero researchers are primarily using the box "Junior", which is a 64 thread AMD Ryzen Threadripper 3970X with 256 GB ram (max ram for the mobo). There is a 5x nvme striped lv thingy that allows for some fast swap, but its still just swap. This rig was upgraded years ago through the CCS (https://ccs.getmonero.org/proposals/gingeropolous_zenith_storage.html) to provide ample storage space for researchers (74 TB HDD - funded by me, 14TB nvme - funded by CCS), as working with the monero blockchain requires storing and moving massively large files. I have other boxes, but they are your average mobo that can take a max 128 GB. Rucknium has been able to do some distributed compute across all the boxes (at one point 7 or so boxes?), but I've found most folks just want a single box with massive amounts of ram.
This proposal is for funds for me to purchase 1 TB of ram to install in a new 2x 7h12 server (256 threads!) so monero researchers can stop fiddling with memory constraints when working or waiting for the poor 64 threads to chug through their tasks. The system maxes out at 4 TB (!!!!), so perhaps if funding goes over the request and hits enough to get more ram, then that will happen.
This is important for the community because more compute == more research capabilities for monero researchers. This request was already brought up during a monero research lab meeting, and the members were interested in adding this capacity to our cluster.
Milestone 0 isn't included, because its me purchasing the 2x epyc server. I just did that. So thats done.
Milestone 1 is when I have the 2x epyc server up and running with 1TB of ram installed. I'll take a screen shot and upload it. Timeline: 3 months? This should all be done by 2025-02-01 at the latest, but I expect this to be up and running by 2025-01-01.
Amount: I plan on purchasing this ram: https://www.ebay.com/itm/225753803091
So that comes out to around 15 xmr. I'm requesting 20 xmr for some padding and to pay for some of my time and I'll probably end up buying more stuff I wouldn't need for mining (like a 4TB nvme for the box because always more storage). If I receive a lot over the requested amount, I'll consider either finding higher quality ram (anyone have any input on that A-tech stuff?) or more ram.
Merge request reports
Activity
This proposal helps the Monero Research Lab in at least four ways:
-
Cuts time for analysis that fits into currently-available RAM. Some types of analysis need a single large-RAM machine. This proposal will attach a large amount of RAM to a more powerful CPU. (Note that the current 256GB of RAM in the "Junior" machine is incompatible with the new CPU, so new RAM must be purchased). I recently performed a RAM-heavy analysis that took about two weeks to complete. Using some CPU performance comparisons between the new and old CPUs, I estimate that the time of that analysis could be cut to five days. A faster turnaround time means that any adjustments that need to be made to the analysis can be made in a shorter time, reducing R&D time.
-
Enables analysis that needs more than 256GB of RAM. A well-indexed and fast Monero blockchain database fits in about 150GB of RAM. Note that a high-performance index of transactions can take up more space than the blockchain. When the Monero blockchain gets larger, more RAM will be needed. Full-chain membership proofs will reduce the need for statistical ring signature analysis in the future. Nonetheless, knowledge about blockchain users' spending patterns can be prodcued by analyzing transparent blockchains, which may be quite large.
-
Peer-to-peer network analysis can require lots of RAM. Simulating transaction relay behavior on a Monero network of realistic size would require large amounts of RAM. On a network of 60,000 nodes (about BTC network size), with the default 12 outbound connections, transaction relay timing data stored as double-precision floats would require about 60MB to hold data about propagation of a single transaction, according to my estimates. Multiplying that by 10,000 transactions brings you to 600GB of data.
-
Reduces resource monopolization. The current limited availability of the Monero Research Computing Cluster's RAM resources means that it is hard for multiple high-RAM users to run analysis at the same time. This proposal would reduce that bottleneck for multiple users.
-
mentioned in commit 88c6ccc7