Lajitteluverkkojen simulointi moniydinsuorittimella
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
School of Electrical Engineering |
Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Authors
Date
2011
Department
Major/Subject
Systeemitekniikka
Mcode
AS-74
Degree programme
Language
fi
Pages
iv + 49
Series
Abstract
A sorting network is a network that sorts its input using comparators. A multi-core processor is a processor that consists of two or more processing cores, which share a common memory. Sorting networks can be simulated on a multi-core processor utilizing parallel execution. Simulating sorting networks for different input lengths requires that a block model of the sorting network and a suitable parallel programming method is known. This thesis shows the block model for five efficient sorting networks. The block models of all five sorting networks are based on three basic blocks. It will be shown that several block models can lead to the same sorting network. Examples will show that different block models for the same sorting network can lead to different simulation times. A thread pool programming library will be presented as a suitable parallel programming method for simulating sorting networks. The advantages of this thread pool programming library compared to the parallel programming methods provided by the operating system will be shown by measurements.Lajitteluverkko on komparaattoreista koostuva verkko, joka järjestää syötteensä. Moniydinsuoritin on suoritin, joka koostuu kahdesta tai useammasta suoritinytimestä, jotka jakavat keskenään keskusmuistin. Lajitteluverkkoja voi simuloida moniydinsuorittimella rinnakkaissuoritusta hyödyntäen. Lajitteluverkon simulointi eri syötteenpituuksille vaatii, että lajitteluverkon lohkomalli sekä sopiva rinnakkaisohjelmointimenetelmä tunnetaan. Tässä työssä esitetään lohkomallit viidelle tehokkaalle lajitteluverkolle. Kaikkien viiden lajitteluverkon lohkomallit perustuvat kolmeen peruslohkoon. Osoitetaan, että useampi lohkomalli voi johtaa samaan lajitteluverkkoon. Esimerkein näytetään, että saman lajitteluverkon eri lohkomallit voivat johtaa eri simulointiaikoihin. Lajitteluverkon simulointiin sopivaksi rinnakkaisohjelmointimenetelmäksi esitetään tehtäväjonoon perustuva ohjelmointikirjasto. Tehtäväjono-ohjelmointikirjaston edut käyttöjärjestelmän sisältämiin rinnakkaisohjelmointimenetelmiin osoitetaan mittauksin.Description
Supervisor
Koivo, HeikkiKeywords
sorting network, lajitteluverkko, multi-core processor, moniydinsuoritin, parallel programming, rinnakkaisohjelmointi