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

Date

2011

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, Heikki

Keywords

sorting network, lajitteluverkko, multi-core processor, moniydinsuoritin, parallel programming, rinnakkaisohjelmointi

Other note

Citation