With any new technology, information is king. As proverbial farmers, we need to know the ins and outs of our tools. In our case, the Chia Plotter is our main tool. What’s the best way to plot? What are these other K plots? In this post, I’d like to provide some more exact information on all the different plotting types. I’ve seen information out that that just seems to be multiples of K32’s, which I found is not correct. I captured this information with version 1.1.4 of the Chia Client.
First lets start with UniformSort and QuickSort. If you don’t know what these are, reference this post to learn more. During plotting you will notice different “u_sort min” and “qs min” sizes for each bucket while the plotter is plotting. These differences I will call the u_sort levels. There are ten different levels of u_sort. Each level requires a different u_sort min in order to UniformSort that bucket. Also, there are two additional levels where only half the ram allocated is used for the u_sort min. These are “Level A” and “Level B”. In the table I list all of the different levels, per K-type, as well as how many buckets were affected by that level. The sizes for u_sort are in GiB:
|Level 1||0.563 / 186||1.125 / 190||2.250 / 239||4.500 / 237|
|Level 2||0.750 / 131||1.625 / 131||3.250 / 199||5.000 / 62|
|Level 3||1.125 / 253||2.500 / 373||4.750 / 202||6.500 / 131|
|Level 4||1.375 / 92||2.875 / 58||5.000 / 163||10.000 / 351|
|Level 5||1.500 / 427||3.250 / 427||6.000 / 113||12.000 / 94|
|Level 6||1.625 / 153||3.375 / 122||6.500 / 427||13.000 / 427|
|Level 7||2.250 / 73||4.750 / 162||7.000 / 182||14.500 / 147|
|Level 8||2.750 / 36||5.750 / 70||9.500 / 54||20.000 / 74|
|Level 9||3.250 / 103||6.750 / 134||12.000 / 15||24.000 / 34|
|Level 10||N/A||N/A||14.000 / 74||29.000 / 109|
|Level A||0.500 / 524||1.125 / 413||2.250 / 413||4.500 / 413|
|Level B||1.250 / 514||2.500 / 412||5.000 / 412||10.000 / 412|
Let me explain how to interpret the data above with an example. Lets look at Level 1 K32. The minimum RAM required to perform a uniform sort is 0.563GiB and it appeared on 186 buckets during the plotting process. With this data, we can come up with different tiers of RAM requirements per K-type:
|Tiers||K32 RAM||K33 RAM||K34 RAM||K35 RAM|
In the table above, you can see the different levels that you can set the RAM in your plotter to.
- No QS – If you want NO QuickSort, then configure your plotter with that RAM.
- Tier 1 – Setting your plotter to this value will QuickSort only the highest u_sort level.
- Tier 2 – Using this value will QuickSort the highest two levels.
- Tier 3 – Finally, Using this value will QuickSort the highest two levels plus level B. Level B is a huge mount of buckets in phase 3. The plot time in my parallel plotting between 11 Tier 2 plotters to 12 Tier 3 plotters was about 2000-2500 seconds. Level B is a huge time sink if you need to QuickSort it.
You can go past tier 3 and make your own tier using the information in the first table. There is one last nugget of information that came out of this testing, that is the absolute minimum RAM required in order for the plotter to not fail (In theory). With all this information, we can make a new recommended RAM table for two threads. Remember, the more threads you use, the more will be used from the RAM you configure in the plotter.
Bottom line: If you are RAM limited like me and are looking to squeeze more plotters in parallel, use this information to make a custom setting for your system. At the end of the day, Total plots per day is the metric you want to maximize.
Edit: Thanks to the comment of a reader. I forgot to add an example of how to use this information. Lets take my system for example. It has 12core/24thread which can support 18 plotters at the same time with the right delay. But, my RAM is 32GB. If you look at the “Maximum” setting for K32 in Table 3, you will see that my 32GB of ram can only support 9 plotters at once. Is this the best solution? Well, if I lower the RAM per plotter, I can have more plotters. Looking at Table 2 I can see some options. If I drop the plotters to 2.751GB the RAM can support 10 plotters (Because I need some RAM for Windows). If I drop the plotters to 2.501GiB, The RAM can support 11 plotters. Here is where trial and error comes into play. You’ll have to test out the settings to see if its worth it to drop the RAM so that more plotters can be used.