[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] Hvordan ? Et program skal sende beskeder til N andre.



Hans-Christian Stadler wrote:
>> Shared memory är ungefär lika snabbt
<cut>beräkning>/<cut>

> I theorien ser det altså ud til, at msq er næsten lige så hurtig som
> shm, hvis Breceiver er stor og jeg må hermed trække mit argument fra min
> forige posting delvist tilbage på grund af realitetsblindhed :-(.

Det borde klargöras att mitt påstående att de är ungefär lika snabba bygger
på min erfarenhet, och att jag menar att hastigheten ligger i samma
storleksordning. Men det verkar som din beräkning även ger ett teoretiskt
stöd för påståendet.

> Hvis jeg får tid, hvil jeg prøve begge varianter og måle tiden.
> Det skal siges, at jeg går ud fra et system hvor der er mange (20?)
> modtagerprocesser per kanal. Dit eksempel med 2 modtagerprocesser svarer
> ikke helt til dette scenario.
> 
>> semaphor per process. Varje läsare hänger på sin semaphor, och skrivaren
> Jeg tror det kan gøres med 2 semaphorer per processgruppe (=datakanal),
> #children er antallet af child processer, der lytter på kanalen:
> 
> initial sem1 = 0, sem2 = #children;
> 
> loop: parent prepare data                      loop: children sem1 down by
> 1-->block
> parent sem1 up by #children      -->           children read data
> parent await sem2 = 0-->block
> parent sem2 up by #children      <--           children sem2 down by 1,
> goto loop parent goto loop
> 
Jag tänkte inte på att du, eller Henrik, inte ville skicka _olika_
meddelanden till mottagarna.

>> Men det förutsätter att ingen annan kommer in, och struntar i den globala
>> semaphoren, för då är datat i shared mem garanterat korrupt.
> Klart - en fordel for msq, hvor dette ikke er et problem.
> 
> Summa summarum: Bjørn har fået mig til at tvivle på, at man som regel skal
> foretrække shm fremfor msq af hensyn til performance.

Även om snabbare är bättre, så tycker jag att mindre antal fel är ännu
bättre, och kan man välja en enklare metod, som sannolikt minskar risken
för besvärliga fel, så borde man välja den metoden, så länge man klarar de
grundläggande hastighetskraven. Något annat jag har lärt mig under mina år
med systembyggande, är att kan man lösa något med hårdvara, istället för
ingenjörstimmar, så är det också att föredra (läs 'köp snabbare maskin')
eftersom tekniken för att klämma ut extrem prestanda ofta blir komplexare,
och mer felbenäget (läs ingejörstimmar). Med relativt billig hårdvara blir
kanske 20 extra timmars felsökande dyrare än att köpa en sannbare cpu,
eller två. (Fast det är ofta roligt och känns bättre när man väl lyckats 
klämma ut max från ett givet system)

/Björn



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 22:44 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *