Publikationer från Malmö universitet
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Förgreningsfria optimeringsmöjligheter för modern hårdvara
Malmö universitet, Fakulteten för teknik och samhälle (TS).
Malmö universitet, Fakulteten för teknik och samhälle (TS).
2020 (Svenska)Självständigt arbete på grundnivå (kandidatexamen), 10 poäng / 15 hpStudentuppsats (Examensarbete)
Abstract [sv]

Traditionellt fokuserar algoritmanalys på tidskomplexitet där alla individuella instruktioner förmodas ta likvärdig “konstant” tid. Men med modern hårdvara går det att både kasta om ordningen på instruktioner (out-of-order-exekvering) och utföra dem parallellt (pipelining) vilket ändrar förutsättningarna för vad som kan betraktas som effektiv kod. I rapporten identifieras bitvisa operationer och conditional moves som två möjliga förgreningsfria tekniker. Möjligheterna att nå prestandaförbättringar genom att använda dessa tekniker undersöks med experiment där förgreningsfri kod jämförs med traditionell kod. Experimenten utförs på både enkla rutiner och sorteringsalgoritmer för att ta reda på om det blir någon skillnad i exekveringstid med de olika teknikerna. Resultatet tyder att man kan finna vissa vinster i exekveringstid med rätt förutsättningar. Vilken typ av data som rutinerna arbetar med, branch predictors förmåga att göra kvalificerade gissningar och kostnaden för de extra instruktioner som förgreningsfria kod innebär är avgörande faktorer. Dessutom är det avgörande att kompilatorn faktiskt lyckas utföra de optimeringar som conditional moves förlitar sig på.

Abstract [en]

Traditionally, algorithmic analysis focuses on time complexity where all individual instructions are assumed to take equal "constant" time. But with modern hardware it is possible to both reorder instructions (out-of-order execution) and execute them in parallel (pipelining) which changes the conditions for what can be regarded as effective code. The report identifies bitwise operations and conditional moves as two possible branch-free techniques. The possibilities of achieving improved performance through these techniques is investigated by experiments comparing branch-free code with traditional code. The experiments are performed on both simple routines and more advanced sorting algorithms to evaluate if these techniques will lead to a difference in execution-time. The results suggest that certain performance gains can be found in execution time with the right conditions. The type of data that the routines work with, the branch predictor's ability to make qualified guesses, and the cost of the extra instructions that branch-free code entails, are crucial factors. In addition, it is crucial that the compiler actually succeeds in performing the optimizations that conditional moves rely on.

Ort, förlag, år, upplaga, sidor
Malmö universitet/Teknik och samhälle , 2020. , s. 29
Nyckelord [sv]
förgreningfri, algoritm, branch free, algorithm, bithacks
Nationell ämneskategori
Teknik och teknologier
Identifikatorer
URN: urn:nbn:se:mau:diva-20910Lokalt ID: 32085OAI: oai:DiVA.org:mau-20910DiVA, id: diva2:1480794
Utbildningsprogram
TS Systemutvecklare
Handledare
Examinatorer
Tillgänglig från: 2020-10-27 Skapad: 2020-10-27Bibliografiskt granskad

Open Access i DiVA

fulltext(582 kB)147 nedladdningar
Filinformation
Filnamn FULLTEXT01.pdfFilstorlek 582 kBChecksumma SHA-512
34b2b4a55239fccce124f310515a4211677ef5f05d1a6ceb687b7466145415291b1e25b75207e4745ddb3f12eab65d0b12af77a785c9115c9aa01fc32e879171
Typ fulltextMimetyp application/pdf

Av organisationen
Fakulteten för teknik och samhälle (TS)
Teknik och teknologier

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 147 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

urn-nbn

Altmetricpoäng

urn-nbn
Totalt: 141 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf