Linux2

Moore törvényének megfelően a komponensek száma egy integrált áramköron az elmúlt idő során lineáris novekedést mutatott
True
False
A konkurens illetve párhuzamos végrehajtás egymás kizáró fogalmak: a feladatok vagy konkurensen vagy párhuzamosan hajtódnak végre.
True
False
Egy osztott memóriával rendelkező rendszerben minden számítási egység (mag/processzor) hozzáfér a rendelkezésre álló teljes memóriához.
True
False
Az alábbiak kozül mi az, amiből minden egyes szállhoz külön-külön tartozik egy:
Folyamatazonosító, verem
Megnyitott állományok descriptorai, folyamatazonosító
Verem, folyamatazonosító
Utasításszámláló, megnyitott állományok descriptorai
Az alábbiak közül mi az, ami szinkron módon zajló kommunikációt ír le:
Második kurzus anyagának leadása/meghallgatása
Elso kurzus anyagának leadása/meghallgatása
Hagyományos levélírás/olvasása
Hanguzenet küldése/meghallgatása
Az alábbiak közül mi NEM végrehajtható egység?
Processor
Mag
CPU
Szál
Az alábbiak közül melyik hétköznapi minkafelosztas ad adatpárhuzamosságra példát?
Webalkalmazás készítése egy programozócsapat által: egyikük a nézeteket tervezi és implementálja, egy másik a szerver oldali szolgáltatásokat implementálja, egy harmadik az adatbázis-hozzáférést implementálja
Munkamegosztást egy családban: apa autót mos, anya kitakarít, a nagyfiú kiviszi a szemetet
Buliszervezés: valaki a termet foglalja le, egy másik személy a zenét intézi, egy harmadik az (üdítő)italokról gondoskodik
Pénzszámlálás párhuzamosításának első lépésként mindenki kap egy köteg pénzt, amit meg kell számolnia.
Mire vonatkozik Amdahl törvénye?
A sebességnövekedésre ad egy felső korlátot, amennyiben a folyamat egy bizonyos hányada nem párhuzamosíthato, a tobbi viszont tökéletesen párhuzamosítható.
Rámutat arra, hogy szállkezelésősnől/szinkrozinálásból adódó többlet-időforítás miatt a processzorok számának növekedésével egy idő után akár csökkenhet is a relatív sebességnovekedés.
Meghatározza, hogy mit jelent a lineáris sebességnövekedés.
Egy párhuzamos algoritmus hatékonyságára vonatkozó képletet ad meg.
Az alábbiak közül melyik hétköznapi minkafelosztas NEM taszkpárhuzamosságra ad példát?
Szavazólapok megszámolása: egyik szavazóbizotság az egyik urnába dobott lapokat számolja össze, a másik a másodikban levőket, a harmadik pedig nem találod ki, de a harmadik urna szavazólapjait....
Licenszvizsgán az egyik tanár az op. Rednszerek tételt javítja a masik az OOP tételt egy harmadik az AB tételt.
Közös projekt készítése: egyik csapat a felhasználói interfeszen dolgozik, egy másik az üzleti logikát implementálja, illetve vannak tesztelők.
Gólyabál-szervezéskor: egyik csapat próbákat ki, egy másik kellékeket készít a harmadik a termet készíti elő.
A legtöbb párhuzamos gép a MIMD (multiple instruction stream, multiple data stream kategóriába tartozik).
False
True
A jelenlegi számítógépekben a memóriahozzáférés sebessége több, mint 100-as nagyságrenddel gyorsabb, mint a processzor műveletvégrehajtási sebessége.
True
False
Neumann-elvű számítógép szűk keresztmetszete abban áll, hogy a memória és CPU közti adatvitel sebessége jóval kisebb, mint a processzor sebessége, így nem tudja elég gyorsan adatokkal ellátni a memória a processzort.
True
False
Alacsonyabb szintű cache (a magasabb szintűhöz képest):
Gyorsabb és kisebb kapacitású
Lassabb és kisebb kapacitású
Gyorsabb és nagyobb kapacitású
Lassabb és nagyobb kapacitású
Mit nevezünk gyorsítótár találati hibának (cache miss)?
A keresett adat nincs benne a cache-ben
A cache-ben tárolt adat nem egyezik meg a memóriabeli értékkel
A hivatkozott lap nem található a memóriában
Dirty-ne jelölt cache-vonalról olvasunk adatot
A gyorsítótárral (CPU cache) kapcsolatban melyik állítás HAMIS:
Cache inkonzisztencia esetén a write-through cache azonnal visszaírja a módosított adatot a memoriába
Egyszerre egy nagyobb méretű blokk mozgatása történik
Közvetlen leképezés esetén nehéz implementálni a LRU algoritmus (a kipakolásra szánt cache vonal megtalálásához)
Egy gyorsítótárral ellátott rendszerben az adatok elhelyezkedése a központi memóriában, illetve a rájuk való hivatkozás sorrendje vefolyásolhatja a végrehajtás sebességét
A szuperskalár architektúra az alább felsoroltak közül jellemzően milyen párhuzamossággal kapcsolatos lehetőséggel rendelkezik:
Térbeli többszörös (multiple issue) - az utasításvégrehajtások ütemezése futásidőben történik
A fordítóprogram spekulatív előrejelzesei
Utasításszintű párhuzamosság - futószalag elven összekapcsolt utasítás - fázisokkal
Közbeékelt többszálúság (interleaved multithreading) - a processzor szálat vált minden egyes utasítás után (kihagyva azokat, amelyek nincsenek ready állapotban)
Egyetlen adat lekérésének folyamatában az alábbi sorrendben megadott hozzáférések közül melyik HELYTELEN sorrend:
Laptáblázat - merevlemez - memória
TLB - laptáblázat - cache
TLB - cache - memória
Cache - TLB - memória
Virtuális memóriával rendelkező rendszerben, hogy nevezzül egy program azon részét, ami a memóriában van:
Lapkeret
Virtuális cím
Rezidens halmaz
Laptáblázat
Ha egy szál módosítja egy osztott változó értékét, a többi szál is a módosított értéket látja.
True
False
Egy új szál létrehozása egy folyamaton belül kevesebb időt vesz igénybe, mint egy új folyamat létrehozása.
True
False
Egy többszálú programozást támogató rendszerben az erőforrások a szálakhoz lesznek hozzárendelve, az ütemezés egysége pedig a folyamat
True
False
Több szál használatának nincs értelme egyprocesszoros rendszerben.
True
False
Az alább felsoroltak közül mi az, ami a kernel szintű szálak ELŐNYének számít a felhasználói szintű szálakkal szemben
Egy blokáló rendszerhívás a teljes folyamatot blokálja
Többprocesszoros rendszerben a szálak párhuzamosan futtathatók az egyes processzorokon
Az ütemező algoritmust a felhasználó választhatja meg
A szálak váltásához üzemmódosításra van szükség
Egy gyorsítótárakkal rendelkező többprocesszoros rendszerben nem elég a cache inkonzisztenciát megoldani, a cache koherencia problémával is foglalkozni kell.
True
False
Egy SIMD architektúrában a végrehajtó egységek tipikusan aszinkron módon működnek, míg az MIMD architektúrára a szinkron végrehajtás jellemző.
True
False
A vektorprocesszorok előnyének számít, hogy kihasználják a teljes vonalat.
True
False
Egy szisztolikus algoritmus megvalósítása tipikusan (a konkrét algoritmus futtatására) specializált hardver formájában igazán hatékony
True
False
Melyik a helyes befejezése a mondatnak? A mai osztott rendszerek nagyrésze tipikusan...
Tudományos számításokat végző, speciális hardverrel rendelkező szuperszámítógép.
Hibrid rendszer, azaz csomópontjai osztott memóriás, többmagos processzorok
Osztott memóriás rendszerként is kezelhető egyuttal
Szorosan összekapcsolt rendszer
Az alábbi hardverarchitekrúrák közül melyik NEM tartozik a MIMD kategóriába:
Szisztolikus architektúra
Felhő alapó szolgáltatást nyújtó grid rendszer
Osztott memóriával rendelkező NUMA rendszer
Beowulf klaszter
Melyik állítás HELYTELEN az osztott rendszerekre vonatkozóan
Minden processzor csak a hozzá kapcsolt memóriához fér hozzá közvetlenül
Lazán összekapcsolt rendszerek
Angol megnevezésük: shared memory system
A processzorok közt a kommunikáció üzeneteken keresztül történik
Az alábbi hardverarchitektúrák közül melyik NEM tartozik a MIMD kategóriába:
COVID-19 kutatási projektet futtató osztott rendszer
SMP architektúra
Vektorprocesszor
Osztott memória UMA rendszer
Mit jelent a gyorsítótár-koherencia biztosítása?
Annak biztosítása, hogy ha ugyanarról a változóról van szó, minden processzor ugyanazt az értéket lássa.
Annak biztosítása, hogy a különböző processzorok gyorsítótárai szinkron módon működjenek.
Annak biztosítása, hogy egy processzor gyorsítótárában illetve memóriatárában az egyes változóknak ugyanaz az értéke szerepeljen.
Annak biztosítása, hogy egyidőben csak egy processzor módosíthassa egy osztott változó értékét
A hamis megosztás jelensége elkerülhető azzal, ha
Pl. kisebb értékekhez tartalmazó tömb esetén byte típusúnak deklaráljuk, int helyett
A szálak lokális másolatot használnak a számításokra, amit később visszaírnak a közös memóriába
A párhuzamosan használt adatok közveltenül egymás mellett helyezkednek el a memóriában
Nagyobb méretű cache-vonalat használunk
A MESI cache koherencia protokoll négy állapotának leírása közül melyik HELYTELEN:
S(hared) - több szál használja megosztva ugyanazt az értéket
I(nvalid) - nem érvényes cache adat
M(odified) - módosítva volt a cache tartalom, vissza kell írni a memóriába
E(xclusive) - egyetlen másolat van cache-elve, ami még nem volt módosítva
Melyik a mondat helyes befejezése? Hamis megosztás lép fel, amikor két processzor konfliktusba kerül (mintha ugyanahhoz az értékhez szeretnénk hozzáférni), pedig...
Két különböző processzor gyorsítótárában nem biztos, hogy ugyanaz az aktuális érteke egy változónak.
Valóban két különböző adatról van szó, melyek ugyanazon a cache vonalon helyezkednek el.
A kölcsönös kizárás megvalósítása ezt kizárja.
A két érték valóban nem megosztott, hanem szétosztott.
Amennyiben foglalva várakozást használunk a kölcsönös kizárás megvalósítására, ez eredményezhet bizonyos esetekben lassúbb, mas esetben gyorsabb kódot a mutex-es megoldáshoz kepést.
True
False
A Dijkstra-féle szemafor érteke, ha negatív, ennek abszolút érteke azt mutatja, hogy
Hány folyamat/szál csökkentheti anélkül, hogy blokálodna
Hány folyamat/szál kell növelje a szemfor értékét ahhoz, hogy a blokállt folyamatok/szálak közül valamelyik ismét ready állapotba kerülhessen
Hány folyamat/szál van blokálódva az illető szemaforon
Hány folyamat/szál növelheti anélkül, hogy blokálódna
Ha a megszakítások nincsenek letiltva ey rendszerben, számíthatunk arra, hogy a program futása bármelyik két elemi utasítás között megszakadhat.
True
False
Osztott memóriát használó folyamatok közt nincs szükség a kölcsönös kizárás megoldására
True
False
Amennyiben foglalva várakozást használunk a kölcsönös kizárás megvalósítására, ez minden esetben lassúbb kódot eredményez a mutex-es megoldáshoz képest.
True
False
Egy multiprogramozott rendszerben két folyamat egymáshoz viszonyított sebessége nem ismert előre.
True
False
A Dijkstra-féle szemafor értéke ha pozitív, azt mutatja, hogy
Hány folyamat/szál végezhet műveleteket az illető szemaforon
Hány folyamat-szál van a kritikus szakaszban
Hány blokált folyamat/szál várakozik a szemaforhoz rendelt várakozási sorban
Hány folyamat/szál csökkentheti anélkül, hogy blokálódna
A Dijkstra-féle szemafor értékét csökkentő művelet NEM blokálja a folyamatot/szálat, ha
A szemafor értéke a csökkentést követően 0 lett
Már vannak a szemaforhoz rendelt várakozási sorban blokált folyamatok/szálak
A szemafor értéke a csökkentés előtt negatív volt
A szemafor értéke a csökkentést követően negatív lett
Dijkstra-féle szemafor esetén (feltéve, hogy a P- a szemafor értékét csökkentő, V pedig az azt növelő művelet)
Mindkét művelet (P,V) blokálhatja a folyamat/szálat
A P művelet minden esetben blokálja a folyamatot/szálat, a V csak néha blokálja
Csak a P művelet blokálhatja a folyamatot/szálat
Csak a V művelet blokálhatja a folyamatot/szálat
A kritikus szakasz (meghatározás szerint)
A folyamat/szál azon része, amely alatt egy osztott memória területhez fér hozzá
A folyamat azon része, mely alatt az egy kritikus erőforrást lefoglalva tart
Kölcsönös kizárás megoldására kialakított hardver-eszköz
Egy szinkronizálási eszköz
A Lampson és Redell-féle monitor cnotify művelete esetén, ha van az illető feltételre várakozo folyamat/szál, azok közül valamelyik haladáktalanul meg kell kapja a monitort
True
False
A Lampson és Redell-féle monitor cnotify művelete esetén, ha nincs az illető feltételre várakozó folyamat/szál, a jelzés elvesztődik
True
False
A Hoare-féle monitor csignal művelete esetén, ha nincs az illető feltételre várakozó folyamat/szál, a jelzés elveszlődik
True
False
A Hoare-féle monitor csignal művelete esetén, ha van az illető feltételre várakozó folyamat/szál, azok közül valamelyik haladéktalanul meg kell kapja a monitort.
True
False
A holtpont kialakulásával kapcsolatban melyik állítás IGAZ:
A holtpont kialakulásának feltételei közül a negyedik (körkörös várakozás) önmagában elégséges feltétele a holtpont kialakulásának.
A holtpont kialakulásának négy feltétele közül bármelyik, ha teljesül, a rendszer. Holtpontban van.
A holtpont kialakulása csak a különböző folyamatok/szálak műveleteinek végrehajtási sorrendjétől függ, így nem írhatunk olyan programot, ami soha nem kerülhet holtpontba.
Amennyiben egy rendszerben nincs megoldva a kölcsönös kizárás, nem alakulhat ki holtpont.
Az alábbiak közül melyik NEM feltétele a holtpont kialakulásának:
Fennálljon az a lehetőség, hogy egy folyamat egy erőforrást lefoglalva tartson, mialatt egy másik erőforrásra var
Két vagy több folyamat körkörösen várakozzon az egymás által lefoglalt érőforrásokra
Legyen engedélyezett az eroforrás-rablás
Legyen megoldva a rendszerben a kölcsönös kizárás
Az alább felsoroltak közül melyik szinkronizáló eszköz a legkevésbé alkalmas sorompó implementálására?
Mutex változó
Feltételes változo (+ a hozzá rendelt mutex)
Sorompó megvalósítására specializált szinkronizáló eszköz
Szemafor
Melyik állítás IGAZA holtpont kialakulásának négy feltétele közül
Barmely harom feltetel teljesülése elég a holtpont Kialakulasához
Bármelyik feltétel teljesülése azt jelenti, hogy a rendszer holtpontba van
Mind a négy feltételnek egyidőben kell teljesülnie ahhoz, hogy holtpontról legyen szó
A negyedik (körkörös várakozás) önmagában elégséges feltétele a holtpont kialakulásának
Az üzenetküldő mechanizmus nagy előnye, hogy könnyen kiterjeszthető többprocesszoros vagy osztott rendszerekre.
True
False
A POSIX szabványban definiált üzenetsor eseteben üzenetküldéskor direkt címzést használunk.
True
False
Az üzenetküldő mechanizmus előnye a többi szinkronizáló eszközzel szemben, hogy ez nem okozhat holtpontot
True
False
Üzenetküldésnél nem blokaló send, blokáló receive használatának előnye, hogy
Az üzenetet küldő folyamat megbizonyosodik róla hogy az üzenete megérkezett
Az üzenetre váró folyamat nem kerülhet holtpontba
Az üzenetküldés illetve fogadás szinkron módon történik
Ha több üzenetet szeretne küldeni a küldő folyamat, nem kell megvárnia, míg az elózö(ke)t fogadják
Üzenetküldésnél nem blokaló send, nem blokáló receive használata érdemes, ha
Az üzenet küldés- illetve fogadást szinkron módon szeretnénk megoldani
Csak egy üzenetet akarunk elküldeni
El szeretnénk kerülni, hogy az üzenetet váró folyamat holtpontba kerüljön, amennyiben nem érkezik meg a neki szánt üzenet
üzenetküldés segítségével szeretnénk a folyamatok szinkronizálását megoldani
Üzenetküldés esetén melyik a legtipikusabb (a POSIX szabvány üzenetküldő mechanizmusára is alapértelmezetten jellemző) változat az alábbiak közül:
Blokalo send, blokalo receive
Nem blokáló send, blokáló receive
Nem blokáló send, nem biokáló receive
Blokáló send, nem biokáló receive
Üzenetküldésnél az alábbiak közül melyik állítás IGAZ blokaló send, blokaló receive esetére:
Nem alkalmas folyamatok szinkronizálására
Biztosan nem kerülhet egyik folyamat se holtpontba az üzenetküldes miatt.
Az üzenetküldés és fogadás szinkron módon történik
Amennyiben több üzenetet kóld a küldő a folyamat, nem kell megvárnia, amíg az előző üzenete megérkezik
Az iró/olvasó probléma esetén, ha az iró van elönyben, melyik állitás NEM igaz:
Ha egy iró folyamat érkezik, az haladéktalanul nekiláthat az irásnak (a jelenleg olvaso folyamatok kénytelenek megszakítni az olvasást)
Az olvasó folyamatok éheztetéseléphet fel
Ha érkezik egy iró folyamat, az utána következő olvasók blokálva lesznek
Ha egy író folyamat éppen ir, az utána érkező olvasó folyamatok blokálva lesznek
Az iró/olvasó probléma esetén, ha az olvasó van előnyben, melyik állítás IGAZ:
Ha van legalább egy olvasó aki éppen olvas, a többi olvasó várakozás nélkül nekiláthat olvasni akkor is, ha van várakozó író
Ha érkezik egy iró folyamat, és jelenleg n olvasó éppen olvas, az éppen olvasók befejezhetik az olvasást, mivel prioritásuk van, ám ezután biztos, hogy az iró fog sorra kerülni akkor is, ha még érkeznek idöközben olvasók
Az író folyamatok nincsenek éheztetve, amennyiben folyamatosan érkeznek az olvasó folyamatok
Az iró/olvasó probléma estén melyik állitás NEM igaz:
Egyszerre többen olvashatnak, ini viszont egyszerre csak egy folyamatnak lehetseges
Ha egy író folyamat éppen ír, az olvaso folyamatok meg kell várjak, amig befejezi, mielőtt olvashatnának
Ha több olvasó, de csak egy író folyamatot indítunk, az mindig azonnal tud írni, valahányszor szeretne
Ha egy író folyamat írni szeretne, nem teheti azt meg. Amennyiben egy másik író folyamat éppen ír
Az iró/olvasó probléma esetén, ha az olvasó van előnyben, melyik állítás NEM igaz:
Ha nines egy olvasó folyamat sem, az elso iró bemehet a kritikus szakaszba
Ha erkezik egy iró folyamat, és jelenleg n olvasó éppen olvas, az éppen olvasok befejezhetik az olvasást, mivel prioritásuk van, ám ezután biztos, hogy az iró fog sorra kerülni
Ha van legalább egy olvasó aki éppen olvas, a többi olvasó várakozás nelkül nekiláthat olvasni akkor is, ha van várakozó író
Az iro folyamatok éheztetve vannak, amennyiben folyamatosan érkeznek az olvasó talyamatok
A POSIX szálak kezeléséhez képest, az OpenMP magasabb szintú párhuzamos programozást tesz lehetové.
True
False
Az OpenMP-t osztott memóriás környezetben való párhuzamos programozásra terveztek.
True
False
Az OpenMp C nyelvkiterjesztésként való használatához egy segédprogram telepitésére van szükseg.
True
False
A paralel direktívára vonatkozó alábbi kijelentések közül melyik HELYTELEN?
A hozza tartozó kód-blokkon balüli kritikus szakasz mevalósítására használjuk critical direktívát
Num_thread(thread_count) kikötés esetén thread_count új szálat oz létre
Az utána következő strukturált blokkra vonatkozik
Az azt következő kód-blokk végén egy implicit sorompő van
A parallel for direktívára vonatkozó alábbi állítások közül melyik HAMIS?
Csak kanonikus alakban levő for ciklus elé helyezheto
egyenértékű egy parallel direktívát követő for ciklussal
A párhuzamosított for ciklus ciklusváltozoja alapértelmezetten privát hatókörű
A létrehozott szálak közt a rendszer osztja szét a ciklus iterációit a megadott beállítások szerint
На egy "parallel" direktíva után írunk for ciklust, illetve a "parallel for" direktíva után szerepel ugyanaz a (kanonikus alakban megadott) for ciklus, a kettő végrehajtása közötti különbség a következő:
Tulajdonképpen nincs különbség, csak a parallel for kompaktabb szintaxist tesz lehetővé
A "parallel for" direktíva blokk-szerűen osztja szét a ciklus iterációit, míg a "parallel" direktíva esetében ezt nekünk kell meghatározni.
A parallel direktíva által létrejött szálak mindegyike végrehajtja a for ciklust, mig a parallel for esetében a ciklus iterációi szét lesznek osztva a létrehozott szálak közt
Csak a "parallel for" direktivavával lehet for ciklust párhuzamosítani, az első változat tehát szintaktikailag helytelen
Az alábbi OpenMP direktiva alkotó részeinek megnevezésében melyik HELYTELEN: # pragma omp parallel for num_threads (thread_count) \ default(none) reduction(+:sum) private(k, 3) shared(n)
Redukciós operandus
N osztott változó
Parallel for direktíva
Num_threads kikötés
Nem tudom:))
Két különbözo szál privát változói NEM valószínű, hogy hamis megosztást (false sharing) okozzanak.
True
False
OpenMP-ben a "for" direktíva nem hoz létre új szálat
True
False
A ciklusiterációk ütemezését megadó schedule kikötés egyaránt használható a "parallel" vagy a "parallel for" direktívával.
True
False
Amennyiben nem adjuk meg OpenMP-ben explicit módon a ciklusiterációk ütemezésének módját, az alapértelmezett ütemezés (rendszerfüggő).
True
False
A "parallel for" direktivánál használt "schedule" kikötés értékére vonatkozóan, az alábbiak közül melyik párosítás HAMIS:
Schedule(dynamic, 10) - az iterációk 10-esével lesznek kiosztva, de futásidöben döl el, hogy melyik szál melyik blokkot kapja
Schedule(guided,10) - a blokkméret 10-töl 1-ig csökken
Schedule(static,1) - ciklikus ütemezés
Schedule(runtime) - az OMP_SCHEDULE környezeti változó értéke adja meg az ütemezés tipusát
A for ciklus iterációinak ütemezésére vonatkozóan melyik allitás HAMIS:
Ha az iterációk elvégzésére fordított idő lineárisa csökken 3 ciklusváltozó növekedésével ciklikus felosztást érdemes használni
A többlet-ráfordítás (overhead) statikus ütemezés esetén nagyobb, mint dinamikus ütemezésnél
Ha minden iteráció kb ugyanannyi időbe telik blokk-szerű felosztást érdemes használni
Az alábbi esetek közül OpenMP-ben melyik indokolja a lock-ok használatát a critical direktíva helyett:
Ha a kritikus szakasz egyetlen értékadó utasításból áll
Ha nem lehet forditási idöben hozzárendelni a kritikus szakaszt a levédeni kivánt kritikus eröforráshoz
Ha két különbözo kritikus szakaszt szeretnenk megvalósitani
Ha azt szeretnénk, hogy a kritikus szakasz rövidebb ideig tartson
N szál párhuzamosan dolgoz fel egy m elemü tömböt. A páros sorszámú szálak ismételten véletlenszerüen felserélnek két páros indexü elemet (az elemcsere a klasszikus módon, három lépésben történik), a páratlan sorszámúak pedig két páratlan sorszámú elemet cserélnek fel véletlenszerüen, szintén ismételten. Az alábbi lehetöségek közül melyik helyes megoldás a leghatékonyabb OpenMP-ben:
Critical direktíva, minden szálban a cserevégzésre
Külön lock minden elemre, a csere előtt előbb az először generált indexű elemet lock-oljuk, majd a másodjára generált indexű elemet. Csere után felszabadítjuk a lock-okat
Atomic direktiva minden szalban a cserevégzésre
Két különbözo névvel ellátott critical direktiva, egyiket a páros, másikat a páratlan sorszámú szálak hasznaljak
OpenMP-ben a kritikus szakasz megvalósítási lehetőségeit illetően az alábbiak közül melyik HELYTELEN:
Atomic direktíva
Lock direktíva
Critical direktíva
Névvel ellátott critical direktíva
A count osztott változó értékét növeli párhuzamosan több szál. OpenMP-ben az alábbi lehetöségek közül melyikkel a legérdemesebb megvalósítani a kölcsönös kizárást a count-hoz való hozzáférés esetén:
Lock-ok
Atomic direktíva
Critical direktíva
Névvel ellátott critical direktíva
Az Open MPI az OPENMP továbbfejlesztése osztott rendszerekre
True
False
Az MPI csak osztott rendszereken használható
True
False
Az MPI egy szabvany, melynek több implementációja is létezik
True
False
Az MPI imlpementációja üzenetközvetítésen alapuló függvénykönyvtárak.
True
False
Az MPI-ra vonatkozó alábbi állitasok közül melyik HAMIS:
Az mpicc-vel történo forditáskor tulajdonképpen a gcc forditó hivódik meg.
Egy MPI program általában SPMD technikán alapszik
A standard bemenetet bármelyik folyamat használhatja, a kimenetet viszont csak a 0 sorszámú folyamat
Az MPI függényeket tipikusan az MP| _Init illetve MPI_Finalize hivasok közt hasznaljuk
Mi a szerepe a kommunikátornak az MPI_Send/MPI_Recv hívás kapcsán?
Egy kommunikációs csatornát hoz létre a küldő illetve fogadó folyamat között
A kommunikátor által meghatározott folyamatok közül lesz kiválasztva a címzett, a sorszám alapján
Egyértelműen meghatározza a címzettet
Kisebb alkalmazások esetében nincs jelentösége, így NULL-t is megadhatunk helyette
Melyik párosítás HELYTELEN?
MPI_Wtime - egy bizonyos időponttól kezdődően eltelt idő
MPI_Comm_rank - a hívó folyamat sorszámát adja vissza
MP_Comm_size - a küldeni kivánt üzenet mérete
MPI_Init - MPI környezet inicializálása
Az alábbiak közül mit NEM tartalmaz az MPI_Status struktúra, melyet az üzenetet fogadó MPI_ Rec utolsó paramétereként adunk meg?
A kapott üzenet cimkéjét (tag)
A küldő folyamat sorszámát
az érkezett üzenetben található adatmennyiséget
Hibakódot
MPI-ban az üzenetküldés/fogadásra vonatkozóan melyik állítás IGAZ az alábbiak közül:
Implementácitöl függ, hogy az MPI Send egy pufferbe másolja az üzenetet és azonnal visszatér vagy megvárja, míg a fogadó fél készen all az üzenetfogadásra
Az MPI garantalia, hogy minden üzenetet váró folyamatnak jusson egy üzenet
Ugyanattól a küldőtől származó két, egymás után küldött, üzenet közül nem lehet tudni, hogy melyik érkezik meg hamarabb
Két külonbozo folyamattol szarmazo üzenet közul mindig az erkezik meg hamarabb amelyik hamarabb volt kiküldve
Az alábbiak közül melyik konstans nincs definiálva?
MPI_ANY_TAG
MPI_ANY_DEST
MPI_ANY_SOURCE
MPI_ANY_WORLD
Az alábbi esetek közül melyikben BIZTOS, hogy NEM lesz sikeres az üzenetközvetítés (MPI_Send + MPI_Recv páros esetén)?
A fogadó folyamatban paraméterként megadott, "üzenet forrását" jelölo paraméter megegyezik a kuldo folyamat sorszámával, a fogadásnál utolsó paraméterként NULL értéket adtunk meg status-ként
A megadott kommunikátor megegyezik, a fogadásnál második paraméterként megadott recv_buf _sz értéke kisebb, mint a küldésnél megadott send_buf_sz
A harmadik paraméterként megadott üzenet tipusa, illetve az ötödik paraméterként megadott cimke (tag) értéke ugyanaz a küldó és a fogadó folyamatban.
A megadott kommunikátor megegyezik, a küldo folyamatban paraméterként megadott cimzett megegyezik a fogadó sorszámával
MPI-ban, egy kollektiv kommunikációs primitív használata esetén, a kommunikációban résztvevő minden folyamat ugyanazt a primitívet kell meghívja.
True
False
MPI-ban, ha valamilyen kollektív kommunikációs primitívet használunk, a kommunikációban a kommunikátor összes folyamata részt vesz.
True
False
MPI-ban, amennyiben egy folyamat üzenetszórással (MPI_Bcast) küld adatot a többinek, azok MPI_Recv hívással fogadhatják.
True
False
MPI-ban, ha valamilyen kollektív kommunikációs primitívet használunk, megadhatjuk paraméterként, hogy a kommunikátor melyik folyamatai vesznek részt a kommunikációban.
True
False
Az alábbi MPI függvények közül melyik NEM kollektív kommunikációs primitív?
MPI_Irecv
MPI_Allgather
MPI_Reduce
MPI_Scatter
Mi a különbség az MPI_Reduce illetve MPI_Allreduce hivások közt?
Az Allreduce segitségével végezhetünk tömbön redukciót, mig Reduce-al csak egyetlen ertéket adhat meg minden folyamat
Allreduce esetén a redukciós valtozók tombjét adhatjuk meg, mig Reduce esetén csak egy redukcios változonk lehet
Az Allreduce-nak tobb parametere van
Reduce esetén csak egyetlen folyamatban lesz elérheto a redukció eredménye, mig az Allreduce esetén az összesben
Az MPI-beli kollektiv kommunikációs függvények milyen paramétert biztosan NEM használnak az alábbiak közül?
MPI_Datatype típusú paraméter a továbbitott/kapott adat tipusának meghatározasára
küldött adatmennyiséget meghatározó paraméter
Kommunikator
Továbbitott/kapott üzenet címkéjét megadó tag paraméter
Az adatok szétszórásával (MPI_Scatter) illetve összegyüjtésével (MPI_Gather) kapcsolatban melyik állítás HAMIS?
Az összegyüjtésnél minden folyamat mindig ugyanannyi adatot küld, de szétosztásnál kaphatnak változó számú adatot az egyes folyamatok.
Az MPI_Scatter illetve MPI_Gather hivasoknak ugyanannyi paraméterük van
Összegyütésnél ha a sendbuffer illetve receivebuffernek két különböző nevű mutatót adunk meg, azok nem mutathatnak ugyanarra a mamórialokációra
A szetosztásnál a szetosztott tómb elso count adatát mindig a 0. Folyamat kapja
A származtatott típussal kapcsolatos melyik állítás HAMIS az alábbiak közül:
Az új adattipus közvetlenül az MPI_Type_create_struct hivás után válik elérhetövé
A származtatott adattípus alapveto MPI adattipusok sorozata, melyekhez kapcsolódóan az eltolást is tároljuk
A származtatott adattipust az adattovábbitó függényekben használjuk
A származtatott tipusban szereplo alapveto tipusok tömbkent is szerepelhetnek
MPI-ban a futási idő meghatározásával kapcsolatban melyik állítás HELYTELEN az alábbiak közül:
A futasi idot kiiró folyamat elöbb megkapja a kiirásra szánt futási idöt, ami torténhet redukció segitségével
Sorompót kell helyeznünk a kezdeti idó mentése (MPI_Wtime) után, hogy az idomérést (nagyjából) egyidöben kezdjük
A leghosszabb mért idöt tekitjük mérvadonak (azaz a leglassubb folyamat által mért futási idot)
Minden folyamat lementi a befejezési idöt, majd a kezdési idöt kivonva kiszámitja a futással eltelt idot
Az n-test probléma alap verziójának párhuzamosítása mindhárom esetben egyszerübb volt, mint az összevont verziójé (abban az értelemben, hogy a szekvenciális megoldáshoz képest mennyire volt szükség jobb ötletekre).
True
False
Amennyiben egy részecskére ható erók összegének kiszámitásaban több szál is részt vesz, a lock-ok használatánál hatékonyabb megoldás, ha az elsó fázisban minden szál egy lokális értéket módosít, majd a második fázisban minden szál összegzi a hozzá rendelt részeckékre ható eróket. (lásd az összevont verzió OpenMP-s megoldása)
True
False
Az n-test probléma eredeti és összevont verziója csak a részecskék új pozíciójának és a sebességeknek a kiszámítási módjában különbözik egymástól.
True
False
{"name":"Linux2", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Moore törvényének megfelően a komponensek száma egy integrált áramköron az elmúlt idő során lineáris novekedést mutatott, A konkurens illetve párhuzamos végrehajtás egymás kizáró fogalmak: a feladatok vagy konkurensen vagy párhuzamosan hajtódnak végre., Egy osztott memóriával rendelkező rendszerben minden számítási egység (mag\/processzor) hozzáfér a rendelkezésre álló teljes memóriához.","img":"https://www.quiz-maker.com/3012/images/ogquiz.png"}
Powered by: Quiz Maker