Parallelization of Sequential Applications using .NET Framework 4.5

Modern processor construction has taken a new turn in that adding on more cores to processors appears to be the norm instead of simply relying on clock speed improvements. Much of the responsibility of writing efficient appli-cations has thus been moved from the hardware designers to the software de...

Full description

Bibliographic Details
Main Author: Litsfeldt, Johan
Format: Others
Language:English
Published: KTH, Skolan för informations- och kommunikationsteknik (ICT) 2013
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-129394
id ndltd-UPSALLA1-oai-DiVA.org-kth-129394
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-1293942013-10-01T04:50:58ZParallelization of Sequential Applications using .NET Framework 4.5engLitsfeldt, JohanKTH, Skolan för informations- och kommunikationsteknik (ICT)2013Modern processor construction has taken a new turn in that adding on more cores to processors appears to be the norm instead of simply relying on clock speed improvements. Much of the responsibility of writing efficient appli-cations has thus been moved from the hardware designers to the software developers. However, issues related to scalability, synchronization, data dependencies and debugging makes this troublesome for developers. By using the .NET Framework 4.5, a lot of the mentioned issues are alleviated through the use of the parallel extensions including TPL, PLINQ and other constructs designed specifically for highly concurrent applications. Anal-ysis, profiling and debugging of parallel applications has also been made less problematic in that the Visual Studio2012 IDE provides such functionality to a great extent. In this thesis, the parallel extensions as well as explicit threading techniques are evaluated along with a parallelization attempt on an application called the LTF/Reduce Interpreter by the company Norconsult Astando AB. The application turned out to be highly I/O dependent but even so, the parallel extensions proved useful as the running times of the parallelized parts were lowered by a factor of about 3.5–4.1. Modern processorkonstruktion har tagit en vändning i och med att normen nu ser ut att vara att lägga till fler kärnor till processorer istället för att förlita sig på ökningar av klockhastigheter. Mycket av ansvaret har således flyttats från hårdvarutillverkarna till mjukvaruutvecklare. Skalbarhet, synkronisering, databeroenden och avlusning kan emellertid göra detta besvärligt för utvecklare. Många av de ovan nämnda problemen kan mildras genom användandet av .NET Framework 4.5 och de nya parallella utbyggnaderna vilka inkluderar TPL, PLINQ och andra koncept designade för starkt samverkande applikationer. Analys, profilering och debugging har också gjorts mindre problematiskt i och med att Visual Studio 2012 IDE tillhandahåller sådan funktionalitet i stor utsträckning. De parallella utbyggnaderna samt tekniker för explicit trådning utvärderas i denna avhandling tillsammans med ett parallelliseringsförsök av en applikation vid namn LTF/Reduce Interpreter av företaget Norconsult Astando AB. Applikationen visade sig vara starkt I/O beroende menäven om så var fallet så visade sig de parallella utbyggnaderna vara användbara då körtiden för de parallelliserade delarna kunde minskas med en faktor av c:a 3.5–4.1. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-129394Trita-ICT-EX ; 2013:160application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
description Modern processor construction has taken a new turn in that adding on more cores to processors appears to be the norm instead of simply relying on clock speed improvements. Much of the responsibility of writing efficient appli-cations has thus been moved from the hardware designers to the software developers. However, issues related to scalability, synchronization, data dependencies and debugging makes this troublesome for developers. By using the .NET Framework 4.5, a lot of the mentioned issues are alleviated through the use of the parallel extensions including TPL, PLINQ and other constructs designed specifically for highly concurrent applications. Anal-ysis, profiling and debugging of parallel applications has also been made less problematic in that the Visual Studio2012 IDE provides such functionality to a great extent. In this thesis, the parallel extensions as well as explicit threading techniques are evaluated along with a parallelization attempt on an application called the LTF/Reduce Interpreter by the company Norconsult Astando AB. The application turned out to be highly I/O dependent but even so, the parallel extensions proved useful as the running times of the parallelized parts were lowered by a factor of about 3.5–4.1. === Modern processorkonstruktion har tagit en vändning i och med att normen nu ser ut att vara att lägga till fler kärnor till processorer istället för att förlita sig på ökningar av klockhastigheter. Mycket av ansvaret har således flyttats från hårdvarutillverkarna till mjukvaruutvecklare. Skalbarhet, synkronisering, databeroenden och avlusning kan emellertid göra detta besvärligt för utvecklare. Många av de ovan nämnda problemen kan mildras genom användandet av .NET Framework 4.5 och de nya parallella utbyggnaderna vilka inkluderar TPL, PLINQ och andra koncept designade för starkt samverkande applikationer. Analys, profilering och debugging har också gjorts mindre problematiskt i och med att Visual Studio 2012 IDE tillhandahåller sådan funktionalitet i stor utsträckning. De parallella utbyggnaderna samt tekniker för explicit trådning utvärderas i denna avhandling tillsammans med ett parallelliseringsförsök av en applikation vid namn LTF/Reduce Interpreter av företaget Norconsult Astando AB. Applikationen visade sig vara starkt I/O beroende menäven om så var fallet så visade sig de parallella utbyggnaderna vara användbara då körtiden för de parallelliserade delarna kunde minskas med en faktor av c:a 3.5–4.1.
author Litsfeldt, Johan
spellingShingle Litsfeldt, Johan
Parallelization of Sequential Applications using .NET Framework 4.5
author_facet Litsfeldt, Johan
author_sort Litsfeldt, Johan
title Parallelization of Sequential Applications using .NET Framework 4.5
title_short Parallelization of Sequential Applications using .NET Framework 4.5
title_full Parallelization of Sequential Applications using .NET Framework 4.5
title_fullStr Parallelization of Sequential Applications using .NET Framework 4.5
title_full_unstemmed Parallelization of Sequential Applications using .NET Framework 4.5
title_sort parallelization of sequential applications using .net framework 4.5
publisher KTH, Skolan för informations- och kommunikationsteknik (ICT)
publishDate 2013
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-129394
work_keys_str_mv AT litsfeldtjohan parallelizationofsequentialapplicationsusingnetframework45
_version_ 1716598030130479104