Kezdőoldal » Számítástechnika » Programozás » IPC feladat. Hogyan indulhatné...

IPC feladat. Hogyan indulhatnék el?

Figyelt kérdés

A feladat:

Adott n számpár. Párosával beolvasva számoljuk ki a két szám legnagyobb közös osztóját. Az adatokat és az eredményt egy fájl kimeneten visszaadjuk.

A számokat txt-ből olvasnám be. A feladatot Osztott memóriával kell megoldani. Természetesen C nyelven.

Előre is köszönöm a választ.



2013. máj. 12. 15:23
 1/1 anonim ***** válasza:

Nagyjából három dolgot tehetsz, ha ennél több kikötés nincs a feladatban megfogalmazva:


Az egyik, hogy számpáronként haladsz, két futó folyamattal, és a prímtényezők kiszámítását osztod meg a két szál közt, melyet követően a fő szál összeszorozza közös tényezőket, és elmenti az eredményt (a futás végén egyszerre kilistázandó).


A második lehetőség, hogy az eredménylistát osztod meg és az X mennyiségű szál mindegyike egy-egy számpáron dolgozik önállóan, majd visszaírja az eredményt. Az összes szál lefutását követően a fő szál kilistázza az eredményeket.


A harmadik lehetőség a kettő ötvözete: Amelyik szál ráér dolgozni, az kiválaszt egy még feldolgozatlan számot, előállítja a prímtényezős felbontását, majd egy köztes eredménylistába elmenti, ami kijött. Ha nincs több feldolgozatlan szám, akkor a köztes eredménylistával a szálak ugyanígy járnak el, vagyis aki ráér, magáhozveszi egy felbontás eredményét, kiszámolja a végső eredmény és elhelyezi a kimeneti eredménylistába. Ha ezek a taszkok is elfogytak, a szálak leállnak. A főszál, a workerek leállása utána kiírja az eredménylistát.


Ezek közül a második megoldás a legésszerűbb, mert a granularitása már megfelelő a párhuzamosításhoz, és minden szálnak meg van a standard módon, jól definiált feladata.


A "C multhithreading"/"IPC in C", illetve a "shared memory in C" kifejezések megguglizását rád bízom.

2013. máj. 12. 18:13
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!