Párhuzamos programozás



Hasonló dokumentumok
Rendezési algoritmusok belső rendezés külső rendezés

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

A döntő feladatai. valós számok!

BOLYAI MATEMATIKA CSAPATVERSENY FŐVÁROSI DÖNTŐ SZÓBELI (2005. NOVEMBER 26.) 5. osztály

Gépi forgácsoló Gépi forgácsoló

Programozás I gyakorlat

Algebra es sz amelm elet 3 el oad as Rel aci ok Waldhauser Tam as 2014 oszi f el ev

Analízis elo adások. Vajda István október 3. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

Érettségi feladatok Algoritmusok egydimenziós tömbökkel (vektorokkal) 1/6. Alapműveletek

Mágneses szuszceptibilitás vizsgálata

KOVÁCS BÉLA, MATEMATIKA I.

Azonosító jel: Matematika emelt szint

Elemi adatszerkezetek

ADATBÁZIS-KEZELÉS. Funkcionális függés, normál formák

Egyre nagyobb profitot generálnak a mobiltelefonnal végzett vásárlások, és egyre többet hezitálunk vásárlás előtt

Analízis elo adások. Vajda István szeptember 24. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Kerékpárlabda kvalifikációs szabályzat

Algoritmuselmélet. Keresés, rendezés, buborék, beszúrásos, összefésüléses, kupacos, láda, radix. Katona Gyula Y.

Arany Dániel Matematikai Tanulóverseny 2011/2012-es tanév első (iskolai) forduló haladók I. kategória

A SZÁMFOGALOM KIALAKÍTÁSA

1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév

Korszerű geodéziai adatfeldolgozás Kulcsár Attila

Jelek tanulmányozása

A Hozzárendelési feladat megoldása Magyar-módszerrel

Épületvillamosság laboratórium. Villámvédelemi felfogó-rendszer hatásosságának vizsgálata

Fordítóprogramok Készítette: Nagy Krisztián

Áramlástechnikai gépek soros és párhuzamos üzeme, grafikus és numerikus megoldási módszerek (13. fejezet)

1. Írja fel prímszámok szorzataként a 420-at! 2. Bontsa fel a et két részre úgy, hogy a részek aránya 5 : 4 legyen!

Belépési útmutató a MIAG weboldalra

A táblázatkezelő felépítése

Adatok ábrázolása, adattípusok. Összefoglalás

MATEMATIKA ÍRÁSBELI VIZSGA május 3.

MATEMATIKA VERSENY

Shared IMAP beállítása magyar nyelvű webmailes felületen

Vodafone ReadyPay. Használati útmutató

Az aktiválódásoknak azonban itt még nincs vége, ugyanis az aktiválódások 30 évenként ismétlődnek!

Kérdések és feladatok

Házi dolgozat. Minta a házi dolgozat formai és tartalmi követelményeihez. Készítette: (név+osztály) Iskola: (az iskola teljes neve)

MBLK12: Relációk és műveletek (levelező) (előadásvázlat) Maróti Miklós, Kátai-Urbán Kamilla

[MECHANIKA- HAJLÍTÁS]

Halmazok és függvények

Lineáris algebra gyakorlat

ELŐTERJESZTÉS a Veszprém Megyei Önkormányzat Közgyűlésének április 19-ei ülésére

Vegyes tételek könyvelése felhasználói dokumentum Lezárva:

Kombinatorika. 9. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Kombinatorika p. 1/

Számelmélet I. 1. A tantárgy általános célja és specifikus célkitűzései

Az első lépések. A Start menüből válasszuk ki a Minden program parancsot. A megjelenő listában kattintsunk rá az indítandó program nevére.

Diszkrét matematika I. gyakorlat

Digitális technika (VIMIAA01) Laboratórium 1

VII. Gyermekszív Központ

Javítóvizsga témakörei matematika tantárgyból

BOLYAI MATEMATIKA CSAPATVERSENY ORSZÁGOS DÖNTŐ SZÓBELI (2012. NOVEMBER 24.) 3. osztály

1. Metrótörténet. A feladat folytatása a következő oldalon található. Informatika emelt szint. m2_blaha.jpg, m3_nagyvaradter.jpg és m4_furopajzs.jpg.

ELLENÁLLÁSOK PÁRHUZAMOS KAPCSOLÁSA, KIRCHHOFF I. TÖRVÉNYE, A CSOMÓPONTI TÖRVÉNY ELLENÁLLÁSOK PÁRHUZAMOS KAPCSOLÁSA. 1. ábra

MAGISTER GIMNÁZIUM TANMENET OSZTÁLY

B1: a tej pufferkapacitását B2: a tej fehérjéinek enzimatikus lebontását B3: a tej kalciumtartalmának meghatározását. B.Q1.A a víz ph-ja = [0,25 pont]

E-ADÓ RENSZER HASZNÁLATI ÚTMUTATÓ

Földrajzi helymeghatározás

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ. Orvosi laboratóriumi technikai asszisztens szakképesítés Mikrobiológiai vizsgálatok modul. 1.

Országos Középiskolai Tanulmányi Verseny 2011/2012 Matematika I. kategória (SZAKKÖZÉPISKOLA) Döntő. x 3x 2 <

Egyszerű áramkörök vizsgálata

Számítógépes vírusok

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

Fazekas Mihály Fővárosi Gyakorló Általános Iskola és Gimnázium

A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki A hirdetmény kézhezvételének dátuma KÉ nyilvántartási szám

Sajátos Szükségletű Hallgatókat Segítő Szabályzat (Részlet)

ÚTMUTATÓ A KONTROLL ADATSZOLGÁLTATÁS ELKÉSZÍTÉSÉHEZ (2012-TŐL)

Ablakok használata. 1. ábra Programablak

EMELŐGÉPEK típusismertetése és igénybevételük feltételei: Emelőgépek 1. sz. melléklet

Tájékoztató a szerződés módosításáról_munkaruházati termékek szállítása (5. rész)

Az NHB Növekedési Hitel Bank Zrt. tájékoztatója a lakossági kölcsönök feltételeiről Érvényes: május 01-től május 31-ig

Egységes Mezőgazdasági Ügyfél-nyilvántartási Rendszer. Kérjük, a kérelmet olvashatóan, nyomtatott nagy betűkkel töltse ki! I. rész: Azonosító adatok

Jelölje meg (aláhúzással vagy keretezéssel) Gyakorlatvezetőjét! Györke Gábor Kovács Viktória Barbara Könczöl Sándor. Hőközlés.

Egyéb előterjesztés Békés Város Képviselő-testülete december 2-i ülésére

MATLAB. 4. gyakorlat. Lineáris egyenletrendszerek, leképezések

2000 db speciális komposztláda, 0,3 m3 térfogatú

INFORMATIKAI ALAPISMERETEK

Tartalomjegyzék. Tartalom 1/16

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

HIRDETMÉNY AKCIÓK, KEDVEZMÉNYEK

A TŰZVÉDELMI TERVEZÉS FOLYAMATA. Dr. Takács Lajos Gábor okl. építészmérnök BME Építészmérnöki Kar Épületszerkezettani Tanszék

BOLYAI MATEMATIKA CSAPATVERSENY DÖNTŐ osztály

G Szabályfelismerés feladatcsomag

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria IV.

Értékelés Összesen: 100 pont 100% = 100 pont A VIZSGAFELADAT MEGOLDÁSÁRA JAVASOLT %-OS EREDMÉNY: EBBEN A VIZSGARÉSZBEN A VIZSGAFELADAT ARÁNYA 30%.

Növelhető-e a hazai szélerőmű kapacitás energiatárolás alkalmazása esetén?

Tájékoztató. Értékelés Összesen: 100 pont

Az új modulrendszer tapasztalatai

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre

A HIRDETMÉNY VISSZAVONÁSÁRÓL, MÓDOSÍTÁSÁRÓL, AZ AJÁNLATTÉTELI, VAGY RÉSZVÉTELI HATÁRIDŐ MEGHOSSZABBÍTÁSÁRÓL, A DOKUMENTÁCIÓ MÓDOSÍTÁSÁRÓL I.

Beállítások CLASSBOOK-óratervező. Első belépés

CAD-CAM

Az éves statisztikai összegezés. Statisztikai összegezés az éves közbeszerzésekről a Kbt. IV. és VI. fejezete szerinti ajánlatkérők vonatkozásában

Beszámoló: a kompetenciamérés eredményének javítását célzó intézkedési tervben foglaltak megvalósításáról. Őcsény, november 20.

Kiszombor Nagyközség Polgármesterétől 6775 Kiszombor, Nagyszentmiklósi u. 8. Tel/Fax: 62/

PÁLYÁZATI FELHÍVÁS - JELENTKEZÉSI LAP

Átírás:

Párhuzamos programozás Rendezések Készítette: Györkő Péter EHA: GYPMABT.ELTE Nappali tagozat Programtervező matematikus szak Budapest, 2009 május 9.

Bevezetés A számítástechnikában felmerülő problémák jelentős részében szükség van elemek rendezésére, sorbaállítására. Ehhez definiálni kell egy rendezési relációt, mely bármely két elemet össze tud hasonlítani. Ehhez egész számok esetében általában a hagyományos relációs jeleket szokás használni, így a feladat az, hogy növekvő, vagy csökkenő sorozatba állítsuk az elemeket. A soros rendező algoritmusok két csoportba oszthatók: az összehasonlításon alapulókra és a hasítófüggvényt használókra. Írásomban az első csoporttal foglalkozom. Mivel az azonos elemek a rendezés számára érdektelenek, így az általánosság megszorítása nélkül feltehetem, hogy az összes elem különbözik. Szintén feltehető, hogy amennyiben n elemet kívánunk rendezni, úgy ezen elemek legyenek az 1-től n-ig lévő egész számok egy permutációja. Az egyszerűség kedvéért példáimban az n kettőhatvány (felírható 2^k alakban, ahol k természetes szám) lesz, így egyszerűbbek lesznek a számolások és az ábrák. Amennyiben a rendezendő elemek száma nem ilyen, úgy válasszuk ki a legkisebb olyan kettőhatványt, amely nem kisebb a kérdéses számnál, majd a maradék helyeket töltsük ki tetszőlegesen nagy vagy kicsi számokkal. Az összehasonlításon alapuló rendezéseknél a műveletigényt úgy határozzuk meg, hogy az elvégzendő összehasonlítások számával arányosítjuk a futásidőt, és az egyéb műveleteket (például az elemek mozgatása, törlése, indexelése) a hatékonysági vizsgálatok esetében figyelmen kívül hagyjuk. A továbbiakban a lg (logaritmus) függvényt kettes alapúnak tekintem, mivel a számítástechnika és a kettes számrendszer használata mellett ez a legkézenfekvőbb.

A soros rendezés Az összehasonlító rendezések alaptétele kimondja, hogy nem létezik aszimptotikusan gyorsabb rendezés mint n*lg(n) (ahol n a rendezendő elemek számát mutatja). Ez a korlát a gyakorlatban elérhető, például a merge sort (összefuttatásos rendezés) segítségével. Ennek alapja egy rekurzív eljárás, mely során kezdetben a szomszédos elemeket fésüljük össze, majd a párokat és így tovább a k-adik menetben egymás melletti 2^k elemek kerülnek összefuttatásra. Mivel maga a fésülés művelet lineáris időben elvégezhető (m és n hosszú tömb esetén maximum m+n 1 összehasonlítás elegendő), így minden szinten O(n) összehasonlítás szükséges. A rendezés során kapott fa magassága log(n), így a rendezéshez szükséges idő éppen n*lg(n), vagyis elértük az elméleti határt. A párhuzamos algoritmus A következőkben a CREW PRAM model szerinti párhuzamos gépeket fogom tekinteni, mely esetében megengedett egy memóriaterület párhuzamos olvasása, ám írása nem. Az algoritmus alapja az előzőekben ismertetett merge sort és egy munkaoptiomális összefésülő algoritmus, mely képes O(lg(m)) lépésben összefésülni két m hosszú rendezett sorozatot 2m/lg m processzoron. Ennek elve, hogy mindkét sorozatot m/lg m részre bontjuk, majd mindegyikhez egy processzort állítunk, ami az ismert soros algoritmus segítségével összefésüli azokat.

Ezzel a k-adik szinten mindig 2 darab 2^(k-1) hosszú részeket fésülhetjünk össze párhuzamosan. Ennek műveletigénye az előbbi algoritmust használva lg(2^(k-1)) = k 1, vagyis szintenként csak lineáris munkát kell végeznünk. Ez egy számtani sort alkot, melynek összege k(k-1)/2 ami négyzetes, ám ne feledjük, hogy k=lg(n), vagyis O(lg(n)^2) az algoritmus műveletigénye, mely összehasonlítva a soros esettel elég szembetűnő javulást hoz, melyet az alábbi grafikon jól szemléltet: a piros függvény az x*ln(x), a kék pedig az ln(x)^2 a kek csak a szemléltetés kedvéért szerepelő identitás függvény

Amennyiben a szükséges processzorok számát tekintjük, úgy már nem ilyen kedvező a helyzet. Az első lépésben az összefűzéshez legalább n/2 db processzorra van szükségünk, ám az utolsóban már csak n/lg(n). Végül egy táblázatban összefoglaltam az általam írt szimulációs program segítségével kapott eredményeket: n Merge Sort Parallel Merge Sort 8 Összehasonlítások száma 15 5 Átlagos processzorszám 1 5.6 32 Összehasonlítások száma 123 81 Átlagos processzorszám 1 15.8 128 Összehasonlítások száma 730 523 Átlagos processzorszám 1 48.71 512 Összehasonlítások száma 3951 2959 Átlagos processzorszám 1 159.4 2048 Összehasonlítások száma 19931 15470 Átlagos processzorszám 1 541.5 8192 Összehasonlítások száma 96103 77002 Átlagos processzorszám 1 1888 a python nyelven írt program elérhető a http://people.inf.elte.hu/~gy_p/sort.py címen

Felhasznált irodalom Fekete István - Algoritmusok és adatszerkezetek I. : http://people.inf.elte.hu/fekete/alg_adat_1_text.html Iványi Antal Párhuzamos algoritmusok: http://elek.inf.elte.hu/magyarkonyvek