[so] readers&writers?

Ioana Cutcutache so@atlantis.cs.pub.ro
Sun, 23 Nov 2003 08:37:19 +0200


In legatura cu aceasta problema : cand termina un scriitor, daca sunt alti
scriitori in asteptare,  unul din ei trebuie sa fie anuntat ca poate sa
scrie? Eu asa inteleg ca ar fi, daca se face cu prioritate pt. writeri. Dar
in acest mod se poate ajunge la reader starvation, daca sunt multi
scriitori. Ma gandesc ca atunci cand termina un scriitor el sa dea
prioritatea cititorilor care deja asteptau (daca mai vin altii si exista
scriitori ce asteapta, nu o sa poata intra in buffer), apoi cand termina ei,
o sa aiba prioritate scriitori care asteapta si tot asa, in felul asta nu se
ajunge la starvation pt. nimeni.

----- Original Message -----
From: "Cosmin Arad" <cosminarad@yahoo.com>
To: <so@atlantis.cs.pub.ro>
Sent: Saturday, November 22, 2003 11:04 PM
Subject: Re: [so] readers&writers?


> --- Bogdan Butnaru <bogdanb@fastmail.fm> wrote:
> > Nu sunt sigur daca am inteles enuntul la "Readers
> > and Writers cu
> > prioritate pentru writers": E vorba de o zona de
> > memorie in care fiecare
> > scrie/citeste unde/de unde vrea (respectand regulile
> > de prioritati), cam
> > ca la shared memory? Initial am crezut ca e bounded
> > buffer, dar parca nu
> > e asa, avand in vedere ca ati pus separat problema
> > asta.
>
> Readers and Writers modeleaza problema accesului
> concurential la o inregistrare dintr-o baza de date.
> Bufferul amintit in enunt e de dimensiune 1 (doar o
> variabila).
> Variabila poate fi citita in paralel de oricati
> readeri insa nu poate fi scrisa decat de un singur
> writer la un moment dat.
> Asadar in timpul unei scrieri nu este permis nici un
> alt acces insa in timpul unei citiri sunt admise
> oricate alte citiri. Astfel, daca un reader citeste
> dbufferul, in timpul acestei citiri pot sa mai apara
> alte cereri de citire care sunt permise. Se observa ca
> nu este exclus cazul in care cereri de citire sa
> ajunga in mod constant astfel incat sa se mentina tot
> timpul un cititor in buffer. In acest caz avem de-a
> face cu writer starvation pt ca unui writer nu-i va fi
> permis accesul la buffer decat cand toti readerii au
> iesit, dar cum readerii continua sa vina ...
> Voi trebuie sa implementati o solutie cu prioritate pt
> writeri, in care un writer nu va astepta la infinit
> chiar daca cereri de citire vin la infinit.
> O solutie ar fi ca in momentul sosirii unei cereri de
> scriere sa nu mai fie admisi in buffer alti cititori
> decat cei care erau deja, urmand ca dupa ce citirile
> deja incepute se termina, sa se faca scrierea dupa
> care alte citiri sau alte scrieri.
>
> Cosmin
>
> __________________________________
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard
> http://antispam.yahoo.com/whatsnewfree
> _______________________________________________
> so mailing list
> so@atlantis.cs.pub.ro
> http://atlantis.cs.pub.ro/cgi-bin/mailman/listinfo/so
>