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...
Main Author: | |
---|---|
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 |