You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
De migratie van de trede en de zeef naar 25 meter in #759 heeft de rekentijd verkort en het werkelijke geheugengebruik ongemoeid gelaten, maar de reservering fors verhoogd. Dit issue is om die reservering te begrijpen en terug te brengen.
Gemeten
Hetzelfde zichtjaar, dezelfde machine (OVSRV08, 32 kernen, 128 GB, wisselbestand 600 GB), uit de staart van de allocatielogs in batch/log/run2120:
De migratie is dus op twee van de drie assen een verbetering: 29 procent sneller en 12 GB minder werkelijk toegewezen. Wat groeide is de reservering, met 104 GB. Het gat tussen gereserveerd en toegewezen is daarmee 132 GB.
Ter aanvulling: NbSGenuanceerd Y2040 op 4 september piekt op 368 GB CommitCharge in 61 minuten. Daar zit de waterbergingsallocatie bij die BAU niet heeft.
Waarom dit toch aandacht verdient
Op deze machine gaat het goed, want het wisselbestand is 600 GB. Maar 317 GB reservering voor een run die 185 GB gebruikt betekent dat de configuratie op een machine met een kleiner wisselbestand omvalt zonder dat er iets mis is met de berekening. Dat is een onnodige eis aan de omgeving, en het maakt de run gevoelig voor een tweede proces ernaast.
Waar het vandaan komt
De richting is bekend, de details niet. Alleen Templates/VariantData_T/Trede.dms ging van 184 items op AllocDomain naar 185 op AdminDomain, en een cel van 100 meter telt 9,1 miljoen keer tegen 145,6 miljoen op 25 meter. Als bool gerekend is dat voor dat ene bestand ongeveer 1,7 tegenover 26,9 GB. De commit raakte negentien bestanden.
Dat verklaart waarom er meer wordt gereserveerd, maar niet waarom het werkelijke gebruik gelijk blijft. Kennelijk worden lang niet alle tredevlaggen tegelijk vastgehouden. De vraag is dan of de reservering die ruimte wel opeist terwijl zij hem niet nodig heeft.
Aanknopingspunten
Geen daarvan is onderzocht; het is een lijstje om mee te beginnen.
De log noemt zelf Highest uncommitted: 55750 MB op 29 augustus. Kijk wat die post in de nieuwe situatie is en of de groei daarin zit.
Veel van de 185 tredevlaggen zijn bool. Een bitset of een samengesteld klasse-attribuut in plaats van een attribuut per vlag scheelt direct een factor.
De vlaggen per sector of per sequentie opbouwen en loslaten in plaats van als blok.
Dit issue verving een eerdere formulering van mij waarin stond dat het geheugen van 70 naar 180 GB ging. Dat klopte niet: die 70 GB was de werkset van de lopende run op een willekeurig moment en geen meting van een eerdere run. De vergelijking hierboven is wel like-for-like, uit de logstaarten van beide runs.
Zie #771, dat op deze meting is gesloten, en #770 voor de correctheidskant van dezelfde commit.
De migratie van de trede en de zeef naar 25 meter in #759 heeft de rekentijd verkort en het werkelijke geheugengebruik ongemoeid gelaten, maar de reservering fors verhoogd. Dit issue is om die reservering te begrijpen en terug te brengen.
Gemeten
Hetzelfde zichtjaar, dezelfde machine (OVSRV08, 32 kernen, 128 GB, wisselbestand 600 GB), uit de staart van de allocatielogs in
batch/log/run2120:De migratie is dus op twee van de drie assen een verbetering: 29 procent sneller en 12 GB minder werkelijk toegewezen. Wat groeide is de reservering, met 104 GB. Het gat tussen gereserveerd en toegewezen is daarmee 132 GB.
Ter aanvulling: NbSGenuanceerd Y2040 op 4 september piekt op 368 GB CommitCharge in 61 minuten. Daar zit de waterbergingsallocatie bij die BAU niet heeft.
Waarom dit toch aandacht verdient
Op deze machine gaat het goed, want het wisselbestand is 600 GB. Maar 317 GB reservering voor een run die 185 GB gebruikt betekent dat de configuratie op een machine met een kleiner wisselbestand omvalt zonder dat er iets mis is met de berekening. Dat is een onnodige eis aan de omgeving, en het maakt de run gevoelig voor een tweede proces ernaast.
Waar het vandaan komt
De richting is bekend, de details niet. Alleen
Templates/VariantData_T/Trede.dmsging van 184 items opAllocDomainnaar 185 opAdminDomain, en een cel van 100 meter telt 9,1 miljoen keer tegen 145,6 miljoen op 25 meter. Als bool gerekend is dat voor dat ene bestand ongeveer 1,7 tegenover 26,9 GB. De commit raakte negentien bestanden.Dat verklaart waarom er meer wordt gereserveerd, maar niet waarom het werkelijke gebruik gelijk blijft. Kennelijk worden lang niet alle tredevlaggen tegelijk vastgehouden. De vraag is dan of de reservering die ruimte wel opeist terwijl zij hem niet nodig heeft.
Aanknopingspunten
Geen daarvan is onderzocht; het is een lijstje om mee te beginnen.
Highest uncommitted: 55750 MBop 29 augustus. Kijk wat die post in de nieuwe situatie is en of de groei daarin zit.Voorbehoud bij de aanleiding
Dit issue verving een eerdere formulering van mij waarin stond dat het geheugen van 70 naar 180 GB ging. Dat klopte niet: die 70 GB was de werkset van de lopende run op een willekeurig moment en geen meting van een eerdere run. De vergelijking hierboven is wel like-for-like, uit de logstaarten van beide runs.
Zie #771, dat op deze meting is gesloten, en #770 voor de correctheidskant van dezelfde commit.