|
Altruistic Delay
14.06.2004
Abstract
Denne avhandlingen omhandler design og implementasjon av en skeduleringsmekanisme for distribuerte transaksjoner. Dette er den første implementerte prototypen av mekanismen, publisert under "Later Can Be Better" av Dr. Yu, NIK 2002, Nov 2002 og "Increasing Concurrency without Early Release" av Dr. Yu, Proceedings of the 4th International Symposium on Collaborative Technologies and Systems, Orlando, Florida, USA, Jan 19-24,2003. Målet for metoden er å utforske hvorvidt det er mulig å øke den totale giennomstrømningen mot vanlig eksekvering av distribuerte transaksjoner.
Prototypen er designet og implementert med hensyn til å bevise om konseptet virker eller ikke. Konseptet viste at man fikk i de fleste testkjøringene mer gjennomstrømning, enn ved vanlig eksekvering av distribuerte transaksjoner. Man fikk sjeldent mindre gjennomstrømning med metoden enn med vanlig eksekvering.
Ideen er å innføre en tidsutsettelse for startpunktet til enkelte del-transaksjoner, slik at alle del-transaksjoner som eksekveres i parallell avslutter arbeidet sitt i tilnærmet samme tidspunkt. Man er da avhengig av at del-transaksjonene som utføres i parallell, har forskjellig arbeidstid og at man har kjennskap til noe av tidsforbruket for de deltakende del-transaksjonene på forhånd. Ideen er å holde kortest mulig lås på delte
ressurser, og la andre transaksjoner få utføre arbeid når de ellers måtte ha ventet på å få slippe til.
Prototypen er implementert i en komponent mellomvare arkitektur, basert på en generell to fasers forpliktelses protokoll. Det er et viktig poeng at man kan gjøre bruk av eksisterende generelle ressurs strukturer, og at det implementasjons tekniske er på et overkommelig nivå. Flere av de eksisterende strukturene som skal gi bedre ytelse baserer seg på svært kompliserte implementasjons tekniske problemstillinger, som kompenserende transaksjoner.
Konseptet har fått navnet Altruistic Delay, noe som betyr å ta hensyn til andre.
|