Feladatok (task) kezelése multiprogramozott operációs rendszerekben



Hasonló dokumentumok
Ütemezés (Scheduling),

Operációs rendszerek. Folyamatok ütemezése

Operációs rendszerek II. Folyamatok ütemezése

Ütemezés (Scheduling),

Tartalom. Operációs rendszerek Bevezetés CPU ütemezés. Középtávú ütemezés. Hosszútávú ütemezés

Előadás_#03. Előadás_03-1 -

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

(kernel3d vizualizáció: kernel245_graph.mpg)

Operációs rendszerek előadás Multiprogramozott operációs rendszerek

Operációs rendszerek MINB240

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Windows ütemezési példa

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Operációs rendszerek MINB240

Operációs Rendszerek II.

Operációs rendszerek. 1. Bevezetö. Operációs rendszer: nincs jó definíció

Operációs rendszerek. nem hivatalos jegyzet

Informatikai rendszerek alapjai (Informatika I.)

Operációs rendszerek. 3. előadás Ütemezés

Operációs rendszerek Folyamatok 1.1

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Operációs rendszerek előadás Multiprogramozott operációs rendszerek. Soós Sándor ősz

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Párhuzamosság a modern operációs rendszerekben

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs Rendszerek II.

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Operációs rendszerek története és osztályozása, HW környezet

Dr. Schuster György október 3.

Operációs rendszerek története és osztályozása, HW környezet

Az informatika alapjai. 10. elıadás. Operációs rendszer

Előadás_#02. Előadás_02-1 -

Teljesítménymodellezés

Megkülönböztetett kiszolgáló routerek az

Balogh Ádám Lőrentey Károly

Operációs rendszerek története és osztályozása, HW környezet

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

A mai program OPERÁCIÓS RENDSZEREK. A probléma. Fogalmak. Mit várunk el? Tágítjuk a problémát: ütemezési szintek

Utolsó módosítás:

Operációs rendszerek feladatai

Operációs rendszerek II. jegyzet

Operációs Rendszerek MindMap Kidolgozás

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

Virtualizáció. egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában

Feladatok (task) együttműködése

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

Architektúra, megszakítási rendszerek

Operációs rendszerek. Bemutatkozás

Párhuzamos programozási platformok

Operációs rendszerek. Az NT folyamatok kezelése

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Párhuzamos programozási platformok

OPERÁCIÓS RENDSZEREK. A mai program. Fogalmak. Ütemezés és a Context Switch

Mikrorendszerek tervezése

Digitális rendszerek. Digitális logika szintje

UNIX ütemezése. Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. Algoritmus követelményei. UNIX ütemezés jellemzése

Utolsó módosítás:

Hagyományos termelésirányítási módszerek:

Folyamatok. 6. előadás

Operációs rendszerek Memóriakezelés 1.1

Operációs rendszerek

Számítógép architektúra

A technológiai berendezés (M) bemenő (BT) és kimenő (KT) munkahelyi tárolói

Dr. Illés Zoltán

Az operációs rendszer szerkezete, szolgáltatásai

Ár: Ft Garancia: 2 Év

Az interrupt Benesóczky Zoltán 2004

Számítógépek felépítése

Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. UNIX ütemezése. Algoritmus követelményei. 4.

Valós idejű megoldások: Realtime ODS és Database In-Memory tapasztalatok

Bevezetés az informatikába

NAGY TELJESÍTM. Szerzők Dévai. István Automatizálási. és s Alkalmazott Informatikai Tanszék

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Operációs rendszerek (I 1204)

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

2011. November 8. Boscolo New York Palace Budapest. Extrém teljesítmény Oracle Exadata és Oracle Exalogic rendszerekkel

Valós idejű funkcionalitás Windows-ban

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

Grayteq. Grayteq DLP Teljesítmény Benchmark. Grayteq DLP Benchmark. Sealar Corporate Proprietary Commercial-in-confidence

A LabVIEW 8.5 támogatja a többmagos processzorok lehetőségeinek kihasználását

Magas szintű optimalizálás

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

Számítógépes alapismeretek

1. előadás: opre bevezető

Fábián Zoltán Hálózatok elmélet

A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata. Répás Sándor

Operációs Rendszerek II. 4. előadás

Teljesítménymodellezés

Hozzáférés a HPC-hez, kezdő lépések (előadás és demó)

SQLServer. Probléma megoldás

Beágyazott rendszerek alapkomponensei II. : Software

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

A számítógép egységei

Bevezetés a párhuzamos programozási koncepciókba

Operációsrendszerek. 2. elıadás. Standard ismeretek II.

Átírás:

Operációs rendszerek (vimia219) Feladatok (task) kezelése multiprogramozott operációs rendszerekben dr. Kovácsházy Tamás 3. anyagrész 1. Ütemezéssel kapcsolatos példa 2. Összetett prioritásos és többprocesszoros ütemezés Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék BME-MIT 2013, Minden jog fenntartva

Példa 1. Egyszerű CPU ütemezési algoritmusok összehasonlítása. FIFO, SJF, SRTF, RR ütemező algoritmusok Determinisztikus analitikai modellezés o Előre megadott beérkezési idő minden feladathoz o Előre megadott CPU löketek Első löket az egyszerűség kedvéért o OS saját futási ideje 0-nak tekinthető Ütemezés overhead-je és kontextus váltás 0 ideig tart Feladat: Kiszámítani az ütemezési algoritmust jellemző mértékeket. BME-MIT 2013, Minden jog fenntartva 2. lap

Példa 1., kiindulási adatok Feladat Beérkezési idő (ms) CPU löket (ms) 0 24 P2 0 3 2 6 P4 5 3 RR Időszelet: 4 ms BME-MIT 2013, Minden jog fenntartva 3. lap

Figyelmeztetés A slide-ok majdnem újak (2x mentek le)! Hiba lehet bennük! Mindenki figyeljen, várom a javításokat. BME-MIT 2013, Minden jog fenntartva 4. lap

Példa 1., FIFO Gannt diagram (chart) 0 2 5 FIFO P2 P4 24 27 33 36 Task Arrival time (ms) CPU burst (ms) 0 24 P2 0 3 2 6 Sor tartalma (felül az első) P4 5 3 P2 P2 P2 P2 P4 P4 P4 - - Üres sor BME-MIT 2013, Minden jog fenntartva 5. lap

Példa 1., SJF Gannt diagram (chart) 0 SJF P2 P4 23 5 9 12 36 Sor tartalma Task Arrival time (ms) CPU burst (ms) 0 24 P2 0 3 2 6 P4 5 3 P2 P4 - - BME-MIT 2013, Minden jog fenntartva 6. lap

Példa 1., SRTF Gannt diagram (chart) 0 SRTF P2 P4 23 5 8 12 36 Sor tartalma Task Arrival time (ms) CPU burst (ms) 0 24 P2 0 3 2 6 P4 5 3 P2 - - P4 beérkezik, és a preemptív ütemezés,és a legrövidebb CPU lökete miatt azonnal futó állapotba is kerül BME-MIT 2013, Minden jog fenntartva 7. lap

Példa 1., RR Gannt diagram (chart) 0 RR P2 P4 2 45 7 11 15 18 20 24 28 32 Sor tartalma (felül az első) 36 Task Arrival time (ms) CPU burst (ms) 0 24 P2 0 3 2 6 P4 5 3 P2 P2 P2 P4 P4 P4 - - - - - BME-MIT 2013, Minden jog fenntartva 8. lap

Példa 1., Gannt diagram (chart) 0 FIFO P2 P4 SJF 24 27 33 36 P2 P4 3 9 12 36 SRTF P2 P4 3 5 8 12 36 RR P2 P4 2 45 7 11 15 18 20 24 28 32 36 BME-MIT 2013, Minden jog fenntartva 9. lap

Példa 1., CPU kihasználtság 0 FIFO CPU kihasználtság P2 P4 100 % SJF 24 27 33 36 P2 P4 100 % 3 9 12 36 SRTF P2 P4 100 % 3 5 8 12 36 RR P2 P4 100 % 2 45 7 11 15 18 20 24 28 32 36 BME-MIT 2013, Minden jog fenntartva 10. lap

Példa 1., CPU kihasználtság 0 FIFO P2 SJF P4 P2 P4 24 0 overhead-del számoltunk, átbocsátó képességet sem érdemes számolnunk 27 33 36 P2 3 9 12 36 SRTF P4 3 5 8 12 36 RR Mi történik pl. 0.1 ms overhead-del? Ennél sokkal kisebb valójában az overhead P2 P4 2 45 7 11 15 18 20 24 28 32 36 BME-MIT 2013, Minden jog fenntartva 11. lap

Példa 1., CPU kihasználtság 0 FIFO CPU kihasználtság 0.1 ms ütemezési és kontextus váltás (cs) overhead-del? SJF P2 P4 24 27 33 36 4 cs: 36,4-0.4/36,4 = 98,9 % P2 P4 3 9 12 36 4 cs: 36,4-0.4/36,4 = 98,9 % SRTF P2 P4 3 5 8 12 36 5 cs: 36,5-0.5/36,5 = 98,6 % RR P2 P4 2 45 7 11 15 18 20 24 28 32 36 7 cs + 3 üt : 37-1/37 = 97,3 % BME-MIT 2013, Minden jog fenntartva 12. lap

Példa 1., Körülfordulási idő 0 FIFO Átlagos körülfordulási idő P2 P4 (24+27+31+31)/4 = 28.25 ms SJF 24 27 33 36 P2 P4 (36+3+7+7)/4 = 13.25 ms P2 3 9 12 36 SRTF P4 Feladat Beérkezési idő CPU löket 0 24 P2 0 3 3 5 8 12 2 6 36 RR P4 5 3 (36+3+10+3)/4 = 13 ms P2 P4 (36+7+18+13)/4 = 18,5 ms 2 45 7 11 15 18 20 24 28 32 36 BME-MIT 2013, Minden jog fenntartva 13. lap

Példa 1., Várakozási idő 0 FIFO P2 P4 Átlagos várakozási idő (0+24+25+28)/4 = 19,25 ms SJF 24 27 33 36 P2 P4 (12+0+1+4)/4 = 4,25 ms P2 3 9 12 36 SRTF P4 Feladat Beérkezési idő CPU löket 0 24 P2 0 3 3 5 8 12 2 6 36 RR P4 5 3 (12+0+4+0)/4 = 4 ms P2 P4 (12+4+12+10)/4 = 9,5 ms 2 45 7 11 15 18 20 24 28 32 36 BME-MIT 2013, Minden jog fenntartva 14. lap

Példa 1., Válaszidő 0 FIFO Átlagos válaszidő (tekintsük az összefüggő várakozások maximumának átlagát) P2 P4 (0+24+25+28)/4 = 19,25 ms SJF 24 27 33 36 P2 P4 (12+0+1+4)/4 = 4,25 ms P2 3 9 12 36 SRTF P4 Feladat Beérkezési idő CPU löket 0 24 P2 0 3 3 5 8 12 2 6 36 RR P4 5 3 (12+0+3+0)/4 = 3,75 ms P2 P4 (7+4+7+10)/4 = 7 ms 2 45 7 11 15 18 20 24 28 32 36 BME-MIT 2013, Minden jog fenntartva 15. lap

Példa 1., Konklúzió A feladat készlettől függenek az eredmények. o Ez a készlet elsősorban a konvoj hatást és a SJF és SRTF ütemezők közötti apró különbségek megmutatására képes. o SRTF a legjobb, az SJF szorosan követi, de a valóságban nem tudjuk az algoritmusukban felhasznált információkat (jövőbeli CPU löket). o Az RR működése is bemutatható, paraméterei sokkal jobbak a FIFO-nál (kivéve CPU kihasználtság), és nem igényel nem ismert információt futása során. Otthoni fakultatív feladatok (ZH készülés?): o 4 azonos, 9 ms-os CPU löketű, a 0 ms időpontban belépő feladatra végigszámolni az egészet. o 4 azonos, 9 ms-os CPU löketű, amelyek 0, 3, 6, 11 ms időpontokban lépnek be. BME-MIT 2013, Minden jog fenntartva 16. lap

Többszintű sorok (multilevel queue) Minden egyes prioritási szinthez futásra kész várakozási sor. o A prioritás meghatározásáról nem mond semmit... o Az egyes szinteken alkalmazott ütemezési algoritmusról nem mond semmit (FIFO, RR, stb.). Implementáció függő o Hány prioritási szint szükséges? Többnyire néhány (8-16-32) elég. Túl sok prioritási szint esetén átmehet az egyszerű prioritásos rendszerbe (szintenként 1 feladat) Mivel minden prioritáshoz kell egy sor is, a prioritási szintek számának növekedésével az algoritmus komplexitása nő. BME-MIT 2013, Minden jog fenntartva 17. lap

Többszintű sorok (multilevel queue) 1. Legmagasabb prioritás (P max ) sor P max-1 sor Prioritás alapján sor választás... P middle sor... Sor alapján futó feladat választás P min+1 sor Legalacsonyabb prioritás (P min ) sor Futásra kész állapotba kerül Futó állapotba kerül BME-MIT 2013, Minden jog fenntartva 18. lap

Többszintű sorok (multilevel queue) 1. Legmagasabb prioritás (P max ) sor P max-1 sor Prioritás alapján sor választás Futásra kész állapotba kerül A beérkező feladat a prioritásának megfelelő sorba kerül... P middle sor... P min+1 sor Legalacsonyabb prioritás (P min ) sor Sor alapján futó feladat választás Futó állapotba kerül BME-MIT 2013, Minden jog fenntartva 19. lap

Többszintű sorok (multilevel queue) 1. Prioritás alapján sor választás A legmagasabb prioritású, feladatot. tartalmazó.. sorból vesz ki feladatot Legmagasabb prioritás (P max ) sor P max-1 sor P middle sor... Sor alapján futó feladat választás P min+1 sor Legalacsonyabb prioritás (P min ) sor Futásra kész állapotba kerül Futó állapotba kerül BME-MIT 2013, Minden jog fenntartva 20. lap

Prioritás feladathoz rendelése Többnyire a prioritás a feladat jellegéhez kapcsolódik. Pl. o Batch feladatok alacsony prioritással. o On-line (interaktív) feladatok közepes prioritással. o Rendszer feladatok magas prioritással. o Valós idejű feladatok legmagasabb prioritással. Tipikusan RR (Időosztás) minden prioritási szinten. o Esetleg FIFO a batch feladatok esetén. BME-MIT 2013, Minden jog fenntartva 21. lap

Többszintű sorok (multilevel queue) 2. A prioritások meghatározása feladat alapon... Valós idejű feladatok sora Rendszerfolyamatok sora Prioritás alapján sor választás... Interaktív felhasználó feladatok sora... Sor alapján futó feladat választás Batch feladatok sora Idle feladat Futásra kész állapotba kerül BME-MIT 2013, Minden jog fenntartva 22. lap Futó állapotba kerül

Prioritásos rendszerek problémái Alacsony prioritási szinten lévő feladatok éhezhetnek az egyszerű prioritásos rendszerben o Ha a felsőbb prioritási szinten túl sok, és sokat futó feladat van. o Mindenképpen kerülendő állapot (túlterhelés). Időosztás prioritási szintek között (korrektség biztosítására, kiéheztetés elkerülésére) o Pl. adott % CPU idő egy adott prioritási szinthez. Ha az adott prioritási szinten vannak futásra kész feladatatok, azok az adott prioritási szinten elérhető CPU időt megkapják, De többet csak akkor kapnak, ha nincs alacsonyabb prioritású futásra kész feladat. o Összetett adminisztrációt igényel, komplex. Hogyan mérjük az elhasznált időt és hogyan osztjuk el? o Weighted fair queuing, Weighted Round-robin, stb. BME-MIT 2013, Minden jog fenntartva 23. lap

Időosztás prioritási szintek között P max sor Futási idő nyilvántartás Prioritás alapján sor választás P max-1 sor... P min+1 sor Sor és futási idő alapján futó feladat választás... Max Max Max P min sor (idle) Futó állapotba kerül Futásra kész állapotba kerül Futó állapot futási idő időméréssel BME-MIT 2013, Minden jog fenntartva 24. lap

Időosztás prioritási szintek között P max sor Futási idő nyilvántartás Prioritás alapján sor választás P max-1 sor... P min+1 sor Sor és futási idő alapján futó feladat választás... Max Max Max Futásra kész állapotba kerül P min sor (idle) Futó állapotba kerül A legalacsonyabb idle prioritás definíciószerűen kiéheztethető... Futó állapot futási idő időméréssel BME-MIT 2013, Minden jog fenntartva 25. lap

Időosztás prioritási szintek között Prioritás alapján sor választás P max sor P max-1 sor... P min+1 sor Ténylegesen elhasznált idő adott Sor és futási idő alapján futó feladat választás időegységen belül Futási idő nyilvántartás... Max Max Max P min sor Futó állapotba kerül Futásra kész állapotba kerül Futó állapot futási idő időméréssel BME-MIT 2013, Minden jog fenntartva 26. lap

Időosztás prioritási szintek között Prioritás alapján sor választás P max sor P max-1 sor... P min+1 sor Maximálisan elhasználható idő adott időegységen belül Sor és futási idő alapján futó feladat választás Futási idő adatbázis... Max Max Max P min sor Futó állapotba kerül Futásra kész állapotba kerül Futó állapot futási idő időméréssel BME-MIT 2013, Minden jog fenntartva 27. lap

Időosztás prioritási szintek között Prioritás alapján sor választás P max sor P max-1 sor... P min+1 sor Időegységenként nullázzák ezeket a mezőket Sor és futási idő alapján futó feladat választás Futási idő adatbázis... Max Max Max P min sor Futó állapotba kerül Futásra kész állapotba kerül Futó állapot futási idő időméréssel BME-MIT 2013, Minden jog fenntartva 28. lap

Időegység meghatározása Milyen időintervallumban kell biztosítani a legalacsonyabb prioritású feladatok futását? o Meddig képesek azok probléma nélkül éhezni? o Emlékeztető: Időszelet 10-20 ms (óramegszakítás)... o A kiéheztetés megengedett ideje ennél több nagyságrenddel is hosszabb lehet, több másodpercről is lehet szó. BME-MIT 2013, Minden jog fenntartva 29. lap

Visszacsatolt többszintű sorok Multilevel Feedback Queues (MFQ) A feladatok mozgatása a sorok között a ténylegesen végrehajtott CPU löketek alapján. o A rövid CPU löketű feladatokat részesítjük előnyben. Maradnak a jelenlegi sorukban. o A hosszabb CPU löketű feladatokat alacsonyabb prioritású, de nagyobb időszeletű sorokba helyezzük. o Dinamikusan felülvizsgáljuk a feladatokat: Ha csökken a CPU löket, akkor magasabb prioritású, de rövidebb időszeletű sorba kerülnek. o A régen várakozók prioritása is emelkedhet (ageing). Más ütemezési algoritmusokkal is kombinálható o Pl. Interaktív feladatokra (közepes prioritás) visszacsatolt többszintű sor. o Egyéb feladatokra (RT, rendszer, batch, idle, stb.) egyszerű többszintű sor. BME-MIT 2013, Minden jog fenntartva 30. lap

Visszacsatolt többszintű sorok (ábra) 1. 3 sor esetére, normál időszelet sorból érkező feladatra. Új feladat Normál időszelet (t) Legmagasabb prioritás Növelt időszelet (2t) Prioritás alapú döntés Fut (preemptív) FIFO/FCFS Legalacsonyabb prioritás Normál időszeletű lejárt időszelet esetén Normál időszeleten belül egyéb várakozás esetén BME-MIT 2013, Minden jog fenntartva 31. lap

Visszacsatolt többszintű sorok (ábra) 2. 3 sor esetére, növelt időszelet sorból érkező feladat esetén Új feladat Normál időszelet (t) Legmagasabb prioritás Növelt időszelet (2t) Prioritás alapú döntés Fut (preemptív) FIFO/FCFS Legalacsonyabb prioritás Növelt időszeletű lejárt időszelet esetén Növelt időszeleten belül egyéb várakozás esetén Normál időszeleten belül egyéb várakozás esetén BME-MIT 2013, Minden jog fenntartva 32. lap

Visszacsatolt többszintű sorok (ábra) 3. 3 sor esetére, FIFO/FCS sorból érkező feladat esetén Új feladat Normál időszelet (t) Legmagasabb prioritás Növelt időszelet (pl. 2t) Prioritás alapú döntés Fut (preemptív) FIFO/FCFS Legalacsonyabb prioritás Növelt időszeleten túl egyéb várakozás esetén Növelt időszeleten belül egyéb várakozás esetén BME-MIT 2013, Minden jog fenntartva 33. lap

Visszacsatolt többszintű sorok Széles körben alkalmazzák, természetesen a részleteiben eltérő algoritmussal. o Jellegzetesen általános célú operációs rendszerekben, pl. Windows, Linux, stb. BME-MIT 2013, Minden jog fenntartva 34. lap

Többprocesszoros ütemezés Multiple-processor scheduling Homogén többprocesszoros rendszerekkel foglalkozunk. o Lehet SMP vagy NUMA architektúra a memória szempontjából (vagy azok keveréke). o Egy adott I/O periféria egy adott processzorhoz van rendelve (arra csatlakozik). o Két lehetséges megoldás: Master and slaves (egy CPU osztja ki a feladatokat) Self-scheduling / peering (minden CPU ütemez) BME-MIT 2013, Minden jog fenntartva 35. lap

Processzor affinitás (Processor Affinity) A cache a futó feladat utasítás és adat tartalmának egy részét tartalmazza. o A processzorok vagy processzor magok cache tartalma különböző lehet (architektúrától és a rajta futó feladatoktól függ). o A cache koherencia csak a közösen tartalmazott adatokra vonatkozik, a teljes azonosságnak nem lenne értelme. o A feladat más processzorra, vagy processzor magra kerülése csökkenti a végrehajtás sebességét (a lokális cache-ben nincs benne a kód és/vagy adat) Az új CPU cache tartalmat ismét fel kell építeni Cél: A feladatot ugyan azon a végrehajtó egységen tartani Laza vagy kemény processzor affinitás (soft or hard processor affinity). o Laza: Nincs garancia, de törekszik rá az OS (többnyire alapeset) o Kemény: Biztosan ugyan azon a CPU-n marad (rendszerhívással) BME-MIT 2013, Minden jog fenntartva 36. lap

Processzor affinitás (Processor Affinity) A cache a futó feladat utasítás és adat tartalmának egy részét tartalmazza. o A processzorok vagy processzor magok cache tartalma különböző lehet (architektúrától és a rajta futó feladatoktól függ). o A cache koherencia csak a közösen Demó tartalmazott Task Managerrel: adatokra vonatkozik, a teljes azonosságnak nem Intel lenne Core értelme. i3 2350 o A feladat más processzorra, vagy processzor (2 mag magra + HT) kerülése csökkenti a végrehajtás sebességét (a lokális cache-ben nincs benne a kód és/vagy adat) Az új CPU cache tartalmat ismét fel kell építeni Cél: A feladatot ugyan azon a végrehajtó egységen tartani Laza vagy kémény processzor affinitás (soft or hard processor affinity). o Laza: Nincs garancia, de törekszik rá az OS (többnyire alapeset) o Kemény: Biztosan ugyan azon a CPU-n marad (rendszerhívással) BME-MIT 2013, Minden jog fenntartva 37. lap

SMP v. NUMA SMP esetén a processzor affinitás csak a cache találatok szempontjából érdekes. NUMA esetén a feladat által használt fizikai memória is érdekes a processzor affinitás szempontjából o A feladat elsősorban a CPU-hoz közeli memóriából fusson. o A távoli (más CPU-hoz csatlakozó) memória használata minimalizálandó. o Összetettebb ütemezési algoritmust igényel. SMP CPU CPU CACHE CACHE Mem. controller Memory NUMA CPU CPU CACHE CACHE M. cont. M. cont. Memory Memory BME-MIT 2013, Minden jog fenntartva 38. lap

Terhelés megosztás (load balancing) Egy globális futásra kész sor vagy processzoronkénti futásra kész sor Processzoronkénti futásra kész sor o Push and/or Pull o Push: OS kernel folyamat mozgatja a sorok között a feladatokat. o Pull: Az idle állapotban (idle feladatot végrehajtó) CPU próbál a többi sorából feladatot kapni. o A kettő kombinációja is használható. Összefüggő, párhuzamosan futtatható feladatok optimalizálása (később szálak/thread) o pl. Gang scheduler (gang = összetartozó párhuzamos feladatok) o Nagyobb CPU számig lineáris skálázódás érhető el vele. o Elsősorban erősen párhuzamos feladatok esetén szükséges. BME-MIT 2013, Minden jog fenntartva 39. lap