A platform independent approach to multi- threaded encoding with Random Linear Network Coding
Author
Nielsen, Lars
Term
4. term
Education
Publication year
2018
Submitted on
2018-06-06
Pages
39
Abstract
Formålet med specialet er at undersøge, om man kan bygge en multitrådet Random Linear Network Coding (RLNC)-koder, der ikke skal tilpasses den konkrete hardware (f.eks. størrelsen på hovedhukommelse og cache samt antal CPU-kerner), for dermed at sænke den forsinkelse (latens), som selve kodningen tilfører. RLNC er en metode, hvor datapakker blandes ved hjælp af tilfældige lineære kombinationer for at øge robusthed og effektivitet. Vi skitserer tre mulige kodningsskemaer, der udnytter parallelisering og multitrådet programmering, og vælger ét til implementering. Med den implementerede koder gennemfører vi en empirisk undersøgelse og sammenligner den målte latens med en førende enkelttrådet RLNC-koder. Resultaterne viser, at den valgte løsning ikke reducerer kodningslatensen. Vi vurderer, at det skyldes, at caches størrelse blev ignoreret. Vores konklusion er, at det sandsynligvis ikke er muligt at designe en effektiv, parallel, multitrådet RLNC-koder uden at tage systemressourcer, som f.eks. cachestørrelse, i betragtning.
This thesis investigates whether it is possible to build a multi-threaded Random Linear Network Coding (RLNC) encoder that does not need to be tuned to specific hardware (such as main memory size, cache size, and the number of CPU cores), with the goal of reducing the encoding delay (latency) introduced by RLNC. RLNC is a technique that mixes data packets using random linear combinations to improve robustness and efficiency. We outline three encoding schemes that leverage parallel computing and multi-threaded programming, and we implement one of them. Using the implemented encoder, we run an empirical study and compare the measured latency against a state-of-the-art single-threaded RLNC encoder. The results show that the implemented scheme does not reduce encoding latency. We attribute this to ignoring cache size. We conclude that it is unlikely an efficient parallel, multi-threaded RLNC encoder can be designed without accounting for system resources such as cache size.
[This abstract was generated with the help of AI]
Keywords
Documents
