next up previous contents
Next: Projektioiden tuottaja -prosessi Up: Pääohjelma Previous: Laskettavien kulmien välittäminen

Projektioiden välittäjä -prosessi

Projektioiden välittäjän toimintaperiaate on yksinkertainen. Se kuuntelee projektioita projektioiden tuottajilta ja kirjoittaa niitä järjestyksessä puskuriinsa. Lisäksi se tarjoaa kullekin vertailijalle ensimmäistä projektiota, jota kyseinen vertailija ei vielä ole käsitellyt. Koska lähetys ja vastaanotto-operaatiot ovat synkronisia projektioiden välittäjä pakottaa projektioiden tuottajat odottamaan, jos puskurissa ei ole tilaa uudelle projektiolle. Vastaavasti jos vertailijaprosessi on kiireinen, projektioiden välittäjän lähetysoperaatio kestää kunnes vertailija on valmis ottamaan vastaan. Katso lisää kohdasta: Synkroninen viestinvälitys 8.2.4.

Projektioiden välittäjällä on yksi olennainen tietorakenne eli rengaspuskuri, joka sisältää projektioita, joiden laskenta on vertailijoilla kesken tai ei ole vielä alkanutkaan. Käyttäjä voi määritellä puskurin enimmillään sisältämien projektioiden määrän konfiguraatiomoduulin muuttujalla projection_buffer_size (katso lisää projektioiden välittäjä -prosessista luvusta Hajautuksen toteutus 8.2.2)

Projektioiden välittäjä kuuntelee projektioita projektioiden tuottajilta rinnakkaistamismoduulin funktiolla recv_projection ja lähettää projektioita vertailijoille funktiolla send_pro-jec-tion.



T Valtteri Rahkonen
2000-04-02