Optimizing the Lichess Tablebase Server
lichess.org
lichess.org
> The added constant seems artificial, but it's just viewing the results from the point of view of a client with 30ms ping time. Otherwise the log scaled x-axis would overemphasize the importance of a few milliseconds at the low end.
I thought this was interesting - maybe it's a standard practice I was just unaware of but it seems like a smart trick.
I guess they were interested in doing the testing and optimization for fun. From a product standpoint I probably would have invested my limited time in other projects.
One of the most famous examples is Wikipedia.
Technically yes, they are a non-profit. Impoverished ? Certainly not !
Look at the financials, as others have already pointed out. Especially if you are in the habit of donating to non-profits, the financials can make for interesting reading.
In no other industry a engineer would think like that...except in IT.
We definitely have too powerful and cheap Hardware, combined with lazy Wetware who just wants to "call it a day"....be proud of your work....or so they say.
In all industries there is always something you can do better if only you spend more time. But at most places time is worth money and I'd say $3000 for a few SSDs is little enough to not make this worth my time.
I have no idea why software people think their industry is the only one where people cut corners. Some form of meta-imposter syndrome perhaps.
Look, I come from that industry (metalworking), if you do friction stir where it's not needed you should be kicked out of your job, but wonder, I've never heard of such a thing in reality, don't tell me you're buying another friction stir cnc to save 100k "on people", friction stir is slow, expensive and any robot can weld (normal welding) faster.
Yes people are expensive, but un-optimised work is even more expensive (on factory level), NO ONE in the metal industry would do something like this if it was not necessary (well except the defence sector, because those guys are crazy and have unlimited money).
I call your made up story complete BS.
This is the implicit assertion that developer time is more expensive than hardware costs.
Seems true in the short term, until the whole system crumbles.
Also the organization is based in France. I don’t what impact that has on costs but it’s worth mentioning.
The impact on costs is "not small", because as a rough estimate, the charity pays overall about twice what the dev gets in take-home money, because French employer taxes are high (keyword for the Frenchies reading us: URSSAF).
Source: am President of the Lichess charity and have the honour and pleasure of dealing with most of the French administrative paperwork.
Makes sense from that perspective, but Lichess is not run as a for-profit company with a product, it's run as a non-profit organization (which it is), so a perspective shift is needed to understand their decisions :)
They have yearly expenses for more than $500.000
https://docs.google.com/spreadsheets/d/1Si3PMUJGR9KrpE5lngSk...
Seems really weird to be using harddrives when they already have expenses like that.
And while 500k is a lot maybe they can do so much with it because they do not just throw $1500 in drives at every problem.
"WDL tables (.rtbw) store the outcome of positions, e.g. if a position is winning. An engine will use this very frequently to decide which endgames to aim for. WDL tables should be stored on the fastest disk (preferably SSD) you have." "DTZ tables (.rtbz) tell the engine how to finish the endgame once it is on the board. They are optional, but required to reliably convert complicated endings."
Seems reasonable to put the WDL table on the SSD for better engine performance. I do understand not choosing SSD's. The number of lookups for positions always remains the same per user per game. Yet the tablebase is growing more than exponentially.
https://lichess.org/@/lichess/blog/7-piece-syzygy-tablebases...
Source: am président of the lichess charity (and also one of the sysadmins)
The reason for the optimization is that there is so much IO activity the RAID checks can't complete.
It is unclear from the article if the RAID checks were ever completed on 17TiB of data. Instead, they choose to disable the periodic RAID checks and instead switch to doing the error checking as a page of data is read in. The two are not equivalent, and both should be used for important data.
Finding corrupt data only as you try to read it can lead to long running data corruptions, maybe to the point your backups do not go back far enough to restore the uncorrupted data. Underpinning this also is a change to RAID 0... While the fastest option, they are putting a lot of faith in that NVMe config handling that kind of workload.
Hope they have good backups...
EDIT: A good way to solve this is to spin up a temporary server, restore your backups to it, do the full data checks and when successful, you have also checked your backup and restore process along with the integrity of the file. You still want to have enough overhead available to complete the RAID checks on the primary server and don't use RAID 0 for performance.
Shogi is the most entertaining for chess variants. Xiangqi not as much.
Properly, a male lich is "werlich" and a female lich is "wiflich" (unlike other words the /f/ sound is not likely to disappear); the plurals add "-en". But generally sex is irrelevant for undead{cn} so the neuter form by far predominates.
"lichess" is an abominable mixture of German and French roots ... so naturally it is indistinguishable from the rest of English.
If we look for relatives of "libre", they include "leed"(song) and the first half of Leopold (adding "bold") and Luther (adding "army"). The common meaning is "people".
Lichess' mobile app was a weak spot, however the v2 rewrite in Flutter is already pretty good while still in beta.
And keep in mind Thibault pays himself less than 60k/year.
What I do want to know is how does one pronounce Lichess? Lie chess, Le chess?, League chess?
They also link this video: https://www.youtube.com/watch?v=KRpPqcrdE-o
(Some) HN commentators seems weirdly out of touch when it comes to salary outside of IT-heavy cities in the US. The other day someone claimed $125k/year for an employee wasn't "big money" (https://news.ycombinator.com/item?id=40927175), so I'd take any comments saying some salary is high/low with a box filled with sand.
It's comfortable outside of Paris and other expensive cities. But he could easily double that given his background. Before quitting his job he already worked with Play and the Typesafe (now Lightbend) stack before the peak of its hype, when companies were paying top dollar for consultants.