Tablebases Engine
Bestand – Instellingen – Tablebases Engine
De Rybka engine werkt iets anders dan andere engines. Om meer controle te hebben over het geheugenverbruik van uw computer is er een verschil gemaakt tussen het toekennen van tablebases aan de engine en het toekennen van tablebases aan de GUI.
Wat zijn de effecten van deze instellingen op het gedrag van het programma? Het staat u toe om vast te stellen welke tablebases in het geheugen worden geladen door de Rybka engine. Om de tablebases engine beter te begrijpen is de volgende uitleg over de manier waarop de Rybka engine geheugen gebruikt noodzakelijk.
Geheugenverbruik door Deep Rybka
Door de wijze waarop Rybka werkt, moet er met gedetailleerde technische aspecten van meervoudige processor computers (of computers met meerdere processorkernen) rekening worden gehouden. Rybka start een aparte versie van de engine op voor elke processor. Elk van deze versies van de engine maakt gebruik van zijn eigen geheugenruimte. Gespecificeerd:
Ø Inclusief 4+5 stuk tablebases vereist voor elke versie van de engine ongeveer 110-120 MB geheugen.
Ø Elke engine krijgt zijn eigen tablebase cache geheugen.
Ø Aan de andere kant is de hash table slechts eenmaal vereist voor alle engines.
Voorbeeld: 8 processorkernen, 256MB tablebase cache, 2 GB hash table.
Engines 8x120MB = ongeveer 1GB
Tablebase cache 8x256MB = 2 GB
Hash table 2GB
Het geheugen gebruik van Windows varieert nogal en het is beter om een extra GB vrij te hebben om veilig te zijn.
Aldus zouden deze instellingen een computer vereisen met 8GB aan RAM geheugen. Als u bovenstaande probeert met een computer met slechts 4GB aan geheugen, dan zal de engine in slow motion opstarten omdat Windows continu bezig is met schrijf- en leesacties naar het wisselbestand waarmee de harde schijf wordt bedoeld.
Om dit uit te leggen is de waarde van de tablebase cache opzettelijk hoog gekozen. De eenvoudigste maatregel om het geheugenverbruik te verminderen is door het verkleinen van het cache geheugen. Als u deze instelt op 32MB dan zouden de 8 versies van Rybka draaien met een 2GB hashtable op een computer met 4GB RAM. Maar dit laat weinig ruimte over voor andere programma’s.
Tot dusverre hebben we de 6-stuk tablebases buiten beschouwing gelaten. Het geheugenverbruik stijgt exponentieel met dit type data. Als vuistregel kunnen we stellen dat voor elke GB aan tablebases op de hard disk een geheugenruimte van 1-1.5MB aan RAM voor iedere versie van de engine benodigd is. Dus als u 100GB aan tablebases heeft dan heeft u voor bovenstaand voorbeeld 8x100MB tot 8x150MB = 1200MB RAM nodig. Dat zal dus nog steeds werken op een computer met 8GB aan RAM. Het zou een computer met 4GB overstromen, zelfs met een kleine tablebase cache.
U kunt het geheugenverbruik controleren met Taakbeheer onder tabblad Prestaties. De grafiek Geschiedenis van verbruik Fysiek geheugen geeft het momentane geheugenverbruik aan. (Soms staat het geheugenverbruik in de onderste regel van Taakbeheer). Onder het kopje Fysiek geheugen, Totaal, kunt u zien hoeveel geheugen de computer heeft. De waarde van het momentane geheugenverbruik kan groter worden dan de beschikbare hoeveelheid geheugen. Wanneer dat punt bereikt wordt zal Windows extra ruimte creëren door het wisselbestand in te schakelen.
Tip:
Meer dan 3GB RAM kan alleen gebruikt worden op de 64 bit versie van Windows! Als u de 32 bit versie gebruikt dan moeten de hashtabellen verkleind worden tot 1GB of 512MB. U kunt het geheugenprobleem verkleinen door helemaal geen tablebases te gebruiken of door ten minste de cache lager in te stellen. De eerste optie pakt de cache aan (8x32MB = 256MB en ook de data voor 4+5 stuk tablebases (ongeveer 8x15MB = 120MB).