NoForce vs. Steal

Use the Force, Luke!

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

NoForce vs. Steal
Hi,
Kann mir jemand den Unterschied zwischen Steal und NoForce beschreiben (Skript s. 433)?
Da steht; Speicherung der Daten
Steal: bei Verdrängung aus dem Puffer
NoForce: erst bei Verdrängung aus dem Puffer. (Naja, viel später als bei der Verdrängung geht’s nicht würde ich sagen…).


würde mich auch interessieren! Seh da keinen Unterschied. Kann man eigentlich in der Newsgroup noch Fragen posten und professionelle und kompetente Hilfe empfangen?


Ich vermute (ohne Garantie):

Steal: Einer laufenden Transaktion können veränderte Pufferseiten geklaut werden. Speicherung von Seiten vor Transaktionsende möglich.

NoForce: Nach erfolgreichem Beenden einer Transaktion werden veränderte Seiten nicht unbedingt sofort geschrieben. Speicherung von Seiten (einige Zeit) nach Transaktionsende möglich.

Steal und NoForce schließen sich also nicht aus.


Und ich glaube:

Bei Steal gehts ja nur darum, ob eine Transaktion verdraengt werden kann oder nicht

Bei Force gehts nach der Beendigung ums rausschreiben (gleich/Verdraengung)

Nun muss man sich fuer [No] Steal und [No] Force entscheiden. Die beste Kombination (man beachte die Farben im Script [vielleicht hat das auch absolut ueberhaupt gar nichts damit zu tun]) No Steal und Force.

[No] Force und und [No] Steal beziehen sich also auf 2 verschiedene Sachen und koennen schlecht miteinander verglichen werden


Die beste Kombination (man beachte die Farben im Script [vielleicht hat das auch absolut ueberhaupt gar nichts damit zu tun]) No Steal und Force.

Sicherlich nicht die beste und in der Praxis auch kaum praktikabel. No Steal führt dazu, dass ein sehr großer Puffer nötig ist, während Force eine bittere Performancebremse ist.

Es ist sicherlich das „ideale“, was die Konsistenzsicherheit angeht…


ja, auf jeden fall habt ihr recht, dass man sich entweder fuer steal oder nosteal entscheiden muss und fuer force oder noforce.
danke fuer den denkanstoss.


könntet ihr das nochmal näher erläutern? Es müssen jeweils beide verwendet werden - entweder Steal und noForce bzw. NoSteal und Force - hab ich das richtig verstanden?

Also: für was ist jetzt Steal/Force zuständig?


Bei Steal/No Steal gehts darum ob eine Seite aus dem Puffer verdraengt werden darf oder nicht.
Bei Force/No Force gehts darum was passiert wenn die TA abgeschlossen ist (rausschreiben oder auf Verdraengung warten).


ah ok verstanden.
und wie kommt ihr darauf? :wink:


Skript S433 (Teil 17)


und du willst morgen mitschreiben???


Und du hälst dich wohl für den Obergott???


wohl kaum :]. oder?


Über Google hab ich folgende (mir einleuchtende) Erklärungen gefunden:

Steal/NoSteal
Verdrängungsstrategie bestimmt, wann Puffer-Verwalter geänderte Datenelemente frühestens auf den Hintergrundspeicher schreiben darf:

Steal: Segment-Verwalter ruft unpin(x) auf, sobald Transaktion unfix(x) aufgerufen hat.

Nosteal: Segment-Verwalter ruft unpin(x) für alle geänderten x erst beim commit der Transaktion auf.

Force/NoForce:
Auslagerungsstrategie bestimmt, wann Puffer-Verwalter geänderte Datenelemente spätestens auf den Hintergrundspeicher schreiben muss:

Force: Beim commit der Transaktion erfolgt flush(x) für alle geänderten x.

Noforce: Aufruf von flush(x) erfolgt irgendwann nach dem commit der Transaktion (oder gar nicht, wenn Schreiben bei Verdrängung aus Puffer erfolgt).

Zur Erklärung:
pin(x) verhindert Ersetzung von x aus Puffer (damit Transaktion auf x operieren kann).

unpin(x) gibt x zur Ersetzung frei (bewirkt nicht notwendig sofortiges Ersetzen oder sofortiges Schreiben von x).

flush(x) veranlasst sofortiges Schreiben von Seite x auf Hintergrundspeicher.

Ich hoffe, das hilft weiter…


ok jetzt wirds glaub ich klar. Man verwendet also jeweils eines der beiden “Gruppen” um eine Art Intervall zu definieren, in dem Einbringen und Auslagern stattfinden sollen.


ne, aber irgendwas zu fragen, was im klartext gross und deutlich im SKript steht…


Lesen kann ich, Max! Ich konnte nur mit den bloßen Worten auf Seite 433 nichts anfangen. Was meinst Du: sollte ich so saudumme Fragen nicht mehr hier im Forum stellen? Ich würde das natürlich tun, wenn Du das möchtest.


Ich bitte dich. Dumme Menschen sind hier nicht erwünscht. Wir sind die Elite.

vorsicht ironie


versteh ich nicht :anx: