1. Párhuzamosság a számítástechnikában, modellek Flashcards

1
Q

Miről is van szó?

A

Esetünkben az a lényeg, hogy egy feladat megoldását mennyire tudjuk párhuzamosítással gyorsítani. Így kétféle párhuzamosságról beszélhetünk:
 Rendelkezésre álló: a feladatban rejlő párhuzamosság, csak elméleti
 Kihasználható: a végrehajtás során valóban hasznosított párhuzamosság
A cél természetesen, hogy a kihasznált párhuzamosságot minél jobban közelítsük a rendelkezésre állóhoz.
Architektúrák, operációs rendszerek, fordító programok (compilerek) törekednek a rendelkezésre álló párhuzamosság kihasználására.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Ezek alapján a számítástechnikában beszélhetünk két kategóriáról

A
  1. Adatpárhuzamosság

2. Funkcionális párhuzamosság

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Adatpárhuzamosság

A

Lényege: az adatelemeken párhuzamos/futószalag elvű műveletvégzés.
Ehhez vannak kifejezetten adatpárhuzamos architektúrák.
Az adatpárhuzamosság átalakítható funkcionálissá úgy, hogy a műveleteket ciklus iterációkban fogalmazzuk meg.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Funkcionális párhuzamosság

A

Lényege: ez a feladat logikájából adódó párhuzamosság. Egy feladat megoldása során mindig ott van, kisebb, nagyobb mértékben.
Innentől a funkcionális párhuzamosságot parancsnyelveken írt programokon értelmezzük.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Parancsnyelv

A

Kérelmet fogalmaz meg az OS kernel kiszolgáló rutinja felé.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Parancsnyelvek esetén különböző szinteken értelmezhetjük a funkcionális párhuzamosságot:

A
  1. Utasításszintű párhuzamosság: programutasítások párhuzamosan, akadály » függőségek
  2. Ciklusszintű párhuzamosság: ciklus iterációk párhuzamosan ahelyett, hogy egymás után
    hajtódnának végre. A függőségek itt is akadályt jelentenek.
  3. Eljárásszintű párhuzamosság: eljárások párhuzamosan
  4. Programszintű párhuzamosság: egymástól független programok egymás mellett,
    párhuzamosan futtatva (time sharing)
  5. Felhasználószintű párhuzamosság: több felhasználó egyidejű kiszolgálása
    Ez csak a parancsnyelvek esetén való ÉRTELMEZÉS!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Valóban KIHASZNÁLHATÓ funkcionális párhuzamosságok

A
  1. Utasítás szinten való kihasználás lehetőségei
  2. Szálakkal és folyamatokkal való kihasználás
  3. Felhasználói szinten hasznosított párhuzamosság
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Utasítás szinten való kihasználás lehetőségei

A

a. utasítás szinten párhuzamos architektúrák (ILP)

b. erre a célra szolgáló fordítóval (VLIW)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Szálakkal és folyamatokkal való kihasználás

A

Szál: a tárgykód legkisebb önállóan végrehajtható egysége. Ezek mivel kis, elemi egységek bizonyos feltételek mellett párhuzamosíthatók.
Szál és folyamat létrehozásának lehetőségei:
 Párhuzamos nyelvet használ a programozó (Pl.: Fork-Join modell)
 A többszálas vagy többfeladatos működést támogató operációs rendszer
gondoskodik róla
 Magas szintű programnyelvek párhuzamos fordítója gondoskodik a
párhuzamosságról
A ciklus és eljárás szintű párhuzamosságot is szálak és folyamatok formájában hasznosítjuk!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Felhasználói szinten hasznosított párhuzamosság

A

Ez egyértelmű, több felhasználó egyidejű kiszolgálása.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Szemcsézettség (felbontás) [lehet alacsony-magas is] (A kihasználható funkcionális párhuzamosság szintjei)

A

(Szemcsézettség: fentről lefelé Finom » Durva)

  • Utasításszint
  • Szál szint
  • Folyamat szint
  • Felhasználói szint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Rendelkezésre álló párhuzamosság és annak kihasználása

A

Rendelkezésre álló párhuzamosság - Annak kihasználása:
Utasítás szinten - Utasítás szinten
Ciklus szinten - Szál szinten
Eljárás szinten - Folyamat szinten
Felhasználói szinten - Felhasználói szinten
Vagyis alacsony szinten közvetlenül tudjuk kihasználni a rendelkezésre álló párhuzamosságot (utasításszintű párhuzamos architektúrák segítségevel). Magasabb szinten már „trükközni” kell, többszálas, többfeladatos OS-ek alatti konkurens vagy párhuzamos végrehajtásra van szükség.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly