1 |
Parallelliseringsstrategier med Web workers för partikelsystem med realtidsgrafikGustafsson, Johan January 2012 (has links)
Webbapplikationer blir allt mer lika desktopapplikationer vilket innebär att högre prestandakrav ställs på dessa. Ett sätt att möta dessa krav är att bättre utnyttja tillgänglig hårdvara med hjälp av parallellisering. Många webbapplikationer är implementerade i JavaScript. Ett nytt API kallat Web workers möjliggör parallellisering av JavaScript. Web workers har dock vissa begränsningar. Denna studie fokuserar på Web workers applicerat på webbapplikationer med partikelsystem. Partikelsystem har många olika användnings-områden vilket gör att dessa kan användas för många olika typer av tillämpningar. En tillämpning är fysiksimulering i applikationer med realtidsgrafik. Studien undersöker vilka prestandaeffekter tre olika parallelliseringsstrategier implementerade med Web workers ger för fysiksimulering med hjälp av partikelsystem i en webbapplikation. För ändamålet har en enkel applikation utvecklats vilken prestandamätningar utförts med. Resultatet visar att valet av parallelliseringsstrategi begränsas av kommunikationshastigheten till och från Web workers. Ett samband mellan prestanda och antal skickade meddelanden kan påvisas men behöver undersökas närmare.
|
2 |
JavaScript och web workers : Parallellisering av en beräkningstung webbapplikation / JavaScript and web workers : Parallelization of a computationally heavy web applicationStråhle, Jesper January 2013 (has links)
Webben används i allt större utsträckning som en riktig applikationsplattform, mycket tack vare HTML5. Detta ställer högre krav på webbapplikationens prestanda på klientsidan, då nya tekniker möjliggör mer avancerade applikationer. Parallellisering är en metod för att öka prestandan i applikationer, som dessutom tar nytta av de parallella arkitekturer som idag är vanliga. Web workers – ett nytt API för JavaScript – tillåter en enkel form av parallellisering för webbapplikationer. Dock har web workers en del begränsningar som minskar antalet möjliga strategier. Detta arbete syftar till att utvärdera hur valet av parallelliseringsstrategi påverkar prestandan hos en JavaScript-implementation av marching squares – en algoritm med goda möjligheter för parallellisering. Tre olika strategier implementeras, och utvärderas därefter genom prestandamätning. Resultaten visar att en strategi som använder så lite och så optimerad kommunikation som möjligt ger bättre prestanda än en strategi med mer kommunikation. Vidare arbete för att bland annat utvärdera vinsterna av delat minne föreslås.
|
3 |
Kapacitets- och ledtidsanalys i A-härden, SKF Sverige AB / Capacity and lead time analysis at A-härden, SKF Sverige ABBjörk, Robert, Nordvall, Erik January 2005 (has links)
<p>Detta examensarbete är skrivet vid den s.k. A-härden i Göteborg, på uppdrag av SKF Sverige AB. A-härden härdar i dagsläget ringar, brickor samt stora rullar åt framförallt interna kunder inom SKF koncernen. Dessa komponenter ingår sedan i slutprodukterna kul- och rullager. Syftet med examensarbetet är att undersöka vilka åtgärder A-härden bör ta när den nya D-härden kör igång för fullt vid halvårsskiftet 2005. Uppstartandet av den nya härden år 2005 innebär att A- härden hamnar i en situation där stora delar av dess nuvarande produktion kommer att tas över av D-härden. Detta resulterar förhoppningsvis i viss överkapacitet som kan användas till att t.ex. förkorta genomloppstider i härden. Arbetets slutliga rekommendationer ska gälla ända fram till årsskiftet 2006 2007, då den gamla A-härden eventuellt läggs ner och i så fall ersätts av den planerade E-härden. </p><p>Efter diskussion med härdchef Sten Svensson antogs och bestämdes det att en säkerhetsmarginal på 20 % och en effektivitetsfaktor på 75 % (i realiteten varierar denna) är rimliga nivåer att räkna med för både 2005 och 2006. Ur kapacitetsanalysen framgår det dock att ett femskift i A-härden enbart kan ha säkerhetskapacitet på ca 19 % för år 2005 och 15 % för 2006. Detta innebär att om stödhärdning till Hanover i USA sker, kommer den tänkta säkerhetsmarginalen inte att kunna klaras av för något av åren. </p><p>Som indata till den utförda ledtidsanalysen gjordes en materialfamiljsklassificering som utifrån volymvärde och interkundens ”viktighetsgrad” tog fram ett antal materialfamiljer för vidare studier. På de utvalda materialfamiljerna utfördes sedan en teoretisk ledtidsreducering med hjälp av orderklyvning, dvs. användandet av parallella flöden på en order. Denna analys ledde fram till ett antal rekommendationer gällande vilka materialfamiljer som kan vara intressanta att orderklyva och när det är aktuellt. Även en analys av flödet genom ugn 25 och 27 utfördes för att bland annat identifiera eventuella flaskhalsar och komma med förslag till förbättringsåtgärder. Slutligen har den sista delen i problemanalysen resulterat i ett antal slutsatser och rekommendationer inom områdena JIT, Supply Chain och detaljplanering.</p>
|
4 |
Kapacitets- och ledtidsanalys i A-härden, SKF Sverige AB / Capacity and lead time analysis at A-härden, SKF Sverige ABBjörk, Robert, Nordvall, Erik January 2005 (has links)
Detta examensarbete är skrivet vid den s.k. A-härden i Göteborg, på uppdrag av SKF Sverige AB. A-härden härdar i dagsläget ringar, brickor samt stora rullar åt framförallt interna kunder inom SKF koncernen. Dessa komponenter ingår sedan i slutprodukterna kul- och rullager. Syftet med examensarbetet är att undersöka vilka åtgärder A-härden bör ta när den nya D-härden kör igång för fullt vid halvårsskiftet 2005. Uppstartandet av den nya härden år 2005 innebär att A- härden hamnar i en situation där stora delar av dess nuvarande produktion kommer att tas över av D-härden. Detta resulterar förhoppningsvis i viss överkapacitet som kan användas till att t.ex. förkorta genomloppstider i härden. Arbetets slutliga rekommendationer ska gälla ända fram till årsskiftet 2006 2007, då den gamla A-härden eventuellt läggs ner och i så fall ersätts av den planerade E-härden. Efter diskussion med härdchef Sten Svensson antogs och bestämdes det att en säkerhetsmarginal på 20 % och en effektivitetsfaktor på 75 % (i realiteten varierar denna) är rimliga nivåer att räkna med för både 2005 och 2006. Ur kapacitetsanalysen framgår det dock att ett femskift i A-härden enbart kan ha säkerhetskapacitet på ca 19 % för år 2005 och 15 % för 2006. Detta innebär att om stödhärdning till Hanover i USA sker, kommer den tänkta säkerhetsmarginalen inte att kunna klaras av för något av åren. Som indata till den utförda ledtidsanalysen gjordes en materialfamiljsklassificering som utifrån volymvärde och interkundens ”viktighetsgrad” tog fram ett antal materialfamiljer för vidare studier. På de utvalda materialfamiljerna utfördes sedan en teoretisk ledtidsreducering med hjälp av orderklyvning, dvs. användandet av parallella flöden på en order. Denna analys ledde fram till ett antal rekommendationer gällande vilka materialfamiljer som kan vara intressanta att orderklyva och när det är aktuellt. Även en analys av flödet genom ugn 25 och 27 utfördes för att bland annat identifiera eventuella flaskhalsar och komma med förslag till förbättringsåtgärder. Slutligen har den sista delen i problemanalysen resulterat i ett antal slutsatser och rekommendationer inom områdena JIT, Supply Chain och detaljplanering.
|
5 |
Automatic Parallelization using Pipelining for Equation-Based Simulation LanguagesLundvall, Håkan January 2008 (has links)
<p>During the most recent decades modern equation-based object-oriented modeling and simulation languages, such as Modelica, have become available. This has made it easier to build complex and more detailed models for use in simulation. To be able to simulate such large and complex systems it is sometimes not enough to rely on the ability of a compiler to optimize the simulation code and reduce the size of the underlying set of equations to speed up the simulation on a single processor. Instead we must look for ways to utilize the increasing number of processing units available in modern computers. However to gain any increased performance from a parallel computer the simulation program must be expressed in a way that exposes the potential parallelism to the computer. Doing this manually is not a simple task and most modelers are not experts in parallel computing. Therefore it is very appealing to let the compiler parallelize the simulation code automatically. This thesis investigates techniques of using automatic translation of models in typical equation based languages, such as Modelica, into parallel simulation code that enable high utilization of available processors in a parallel computer. The two main ideas investigated here are the following: first, to apply parallelization simultaneously to both the system equations and the numerical solver, and secondly. to use software pipelining to further reduce the time processors are kept waiting for the results of other processors. Prototype implementations of the investigated techniques have been developed as a part of the OpenModelica open source compiler for Modelica. The prototype has been used to evaluate the parallelization techniques by measuring the execution time of test models on a few parallel archtectures and to compare the results to sequential code as well as to the results achieved in earlier work. A measured speedup of 6.1 on eight processors on a shared memory machine has been reached. It still remains to evaluate the methods for a wider range of test models and parallel architectures.</p>
|
6 |
Att procedurellt generera ett 2D landskap parallellt på GPU vs seriellt på CPU / To procedurally generate a 2D landscape in parallell on the GPU vs serially on the CPUWahlberg, Björn January 2019 (has links)
Procedurellt genererat innehåll, PCG,förekommer väldigt ofta i spel nu för tiden, mycket för att öka återspelbarheten i ett spel. Några populära exempel på spel som utnyttjar PCG är Terraria(2011) och Minecraft(2011). I takt med att hårdvara blir mer och mer kraftfull så ökar även kraven på spelen som utnyttjar teknikerna eftersom att det går att generera innehåll i realtid. Men finns det outnyttjat potential i grafikkortet? Trenden av ökningen av klockfrekvensen på processorer har reducerats på senare tid, för att istället ersättas av ett större antal kärnor. Här så kan parallellisering av programkod utnyttjas för att utvinna mer ur datorns hårdvara. Ett teknologi-orienterat experiment att utfördes på först en seriell CPUlösning, och sedan en parallell GPUlösning för att undersöka hur lång tid varje metod tog. Detta skedde på varierande stora kartor för att kunna fastställa om det fanns ett samband mellan storlek och tid. Genomförandet använde sig av SFML biblioteket för att implementera GPU varianten där en fragment shader användes för att utföra alla parallella uträkningar för kartgenreringen. CPU metoden använde samma tekniker som GPU metoden, fast utan någon parallellisering. Båda teknikerna validerades genom att använda SFML för att rita ut kartorna som de genererar med enkelgrafik.
|
7 |
Performance Evaluation of a Signal Processing Algorithm with General-Purpose Computing on a Graphics Processing UnitAppelgren, Filip, Ekelund, Måns January 2019 (has links)
Graphics Processing Units (GPU) are increasingly being used for general-purpose programming, instead of their traditional graphical tasks. This is because of their raw computational power, which in some cases give them an advantage over the traditionally used Central Processing Unit (CPU). This thesis therefore sets out to identify the performance of a GPU in a correlation algorithm, and what parameters have the greatest effect on GPU performance. The method used for determining performance was quantitative, utilizing a clock library in C++ to measure performance of the algorithm as problem size increased. Initial problem size was set to 28 and increased exponentially to 221. The results show that smaller sample sizes perform better on the serial CPU implementation but that the parallel GPU implementations start outperforming the CPU between problem sizes of 29 and 210. It became apparent that GPU’s benefit from larger problem sizes, mainly because of the memory overhead costs involved with allocating and transferring data. Further, the algorithm that is under evaluation is not suited for a parallelized implementation due to a high amount of branching. Logic can lead to warp divergence, which can drastically lower performance. Keeping logic to a minimum and minimizing the number of memory transfers are vital in order to reach high performance with a GPU. / GPUer (grafikprocessor) som traditionellt används för att rita grafik i datorer, används mer och mer till att utföra vanliga programmeringsuppgifter. Detta är för att de har en stor beräkningskraft, som kan ge dem ett övertag över vanliga CPUer (processor) i vissa uppgifter. Det här arbetet undersöker därför prestandaskillnaderna mellan en CPU och en GPU i en korrelations-algoritm samt vilka parametrar som har störst påverkan på prestanda. En kvantitativ metod har använts med hjälp av ett klock-bibliotek, som finns tillgängligt i C++, för att utföra tidtagning. Initial problemstorlek var satt till 28 och ökade sedan exponentiellt till 221. Resultaten visar att algoritmen är snabbare på en CPU vid mindre problemstorlekar. Däremot börjar GPUn prestera bättre än CPUn mellan problemstorlekar av 29 och 210. Det blev tydligt att GPUer tjänar på större problem, framför allt för att det tar mycket tid att involvera GPUn i algoritmen. Datäoverföringar och minnesallokering på GPUn tar tid, vilket blir tydligt vid små storlekar. Algoritmen passar sig inte heller speciellt bra för en parallell lösning, eftersom den innehåller mycket logik. En algoritm med design där exekveringstrådarna kan gå isär under exekvering, är helst att undvika eftersom mycket parallell prestanda tappas. Att minimera logik, datäoverföringar samt minnesallokeringar är viktiga delar för hög GPU-prestanda.
|
8 |
Automatic Parallelization using Pipelining for Equation-Based Simulation LanguagesLundvall, Håkan January 2008 (has links)
During the most recent decades modern equation-based object-oriented modeling and simulation languages, such as Modelica, have become available. This has made it easier to build complex and more detailed models for use in simulation. To be able to simulate such large and complex systems it is sometimes not enough to rely on the ability of a compiler to optimize the simulation code and reduce the size of the underlying set of equations to speed up the simulation on a single processor. Instead we must look for ways to utilize the increasing number of processing units available in modern computers. However to gain any increased performance from a parallel computer the simulation program must be expressed in a way that exposes the potential parallelism to the computer. Doing this manually is not a simple task and most modelers are not experts in parallel computing. Therefore it is very appealing to let the compiler parallelize the simulation code automatically. This thesis investigates techniques of using automatic translation of models in typical equation based languages, such as Modelica, into parallel simulation code that enable high utilization of available processors in a parallel computer. The two main ideas investigated here are the following: first, to apply parallelization simultaneously to both the system equations and the numerical solver, and secondly. to use software pipelining to further reduce the time processors are kept waiting for the results of other processors. Prototype implementations of the investigated techniques have been developed as a part of the OpenModelica open source compiler for Modelica. The prototype has been used to evaluate the parallelization techniques by measuring the execution time of test models on a few parallel archtectures and to compare the results to sequential code as well as to the results achieved in earlier work. A measured speedup of 6.1 on eight processors on a shared memory machine has been reached. It still remains to evaluate the methods for a wider range of test models and parallel architectures.
|
9 |
Världens bästa planeringsprocess - en analys av en informationsflödesprocess hos ett flygbolag på den skandinaviska marknaden / The Best Planning Process in the World - an analysis of an information flow process within an airline operating in the Scandinavian marketModin, Maria January 2014 (has links)
Detta projekt har utförts på ett charterflygbolag som verkar på den skandinaviska flygmarknaden, och är en första del i flygbolagets projekt (översatt till svenska) ”Världens bästa planeringsprocess”. ”Världens bästa planeringsprocess” skall kartlägga flygbolagets planeringsprocess sett till från det att en förfrågan kommer in till flygbolaget, till dess att ett svar kan lämnas till kunden. Detta projekt som behandlas i denna rapport studerar informationsflödesprocessen inom flygbolaget med fokus på den planering som sker efter att en kommande säsongs flygprogram är fastlagt. Det vill säga, detta projekt behandlar de förfrågningar som utgör förändringar och tillägg i flygprogrammet. Utifrån en kartläggning har informationsflödesprocessen analyserats utifrån Lean production-teori och tillämpbara åtgärder för att uppnå tidseffektivisering i flöden. Detta har sammanfattats i de följande möjliga åtgärderna för flygbolaget: - Omfördelning av flödet genom synkronisering, parallellisering och sekvensering - Omfördelning av arbetsuppgifter - Tillämpning av Alternate Chief Pilot Det rekommenderas att tillämpa samtliga åtgärdsförslag, vilket bedöms kunna ge en tidsbesparing på mellan 7 och 52 % i ledtid.
|
10 |
AES - kryptering med cuda : Skillnader i beräkningshastighet mellan AES-krypteringsmetoderna ECB och CTR vid implementering med Cuda-ramverket.Vidén, Pontus, Henningsson, Viktor January 2020 (has links)
Purpose – The purpose of this study is partly to illustrate how the AES encryption methods ECB and CTR affect the computational speed when using the GPGPU framework Cuda, but also to clarify the advantages and disadvantages between the different AES encryption modes. Method – A preliminary study was conducted to obtain empirical data on the AES encryption modes ECB and CTR. Data from the study has been analyzed and compared to determine the various aspects of the AES encryption modes and to create a basis for determining the advantages and disadvantages between them. The preliminary study has been carried out systematically by finding scientific works by searching databases within the subject. An experiment has been used as a method to be able to extract execution time data for the GPGPU framework Cuda when processing the AES encryption modes. Experiment were chosen as a method to gain control over the variables included in the study and to see how these variables change when they are consciously influenced. Findings – The findings of the preliminary study show that CTR is more secure than the ECB, but also considerably more complex, which can lead to integrity risks when implementation is done incorrectly. In the experiment, computational speeds are produced when the CPU memory sends to the GPU memory, the encryption on the GPU and how long it takes for the GPU memory to send to the CPU memory. This is done for both CTR and ECB in encryption and decryption. The result of the analysis shows that the ECB is faster than CTR in encryption and decryption. The calculation speed is higher with the ECB compared to the CTR. Implications – The experiment shows that CTR is slower than the ECB. But the most amount of time spent in encryption for both modes are the transfers between the CPU memory and the GPU memory. Limitations – The file sizes of the files tested only goes up to about 1 gigabyte which gave small computation times.
|
Page generated in 0.0927 seconds