• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 3
  • 1
  • Tagged with
  • 4
  • 3
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Att underlätta förståelsen för minneshantering, programmeringsspråket Q

Fredriksson, Johan January 2017 (has links)
Andelen avhopp från de datavetenskapliga utbildningarna är högre i jämförelse med genomsnittet, detta är problematiskt då efterfrågan på personal med datavetenskaplig utbildning ökar i takt med digitaliseringen av samhället. Det har bedrivits mycket forskning om varför studenter väljer att lämna de datavetenskapliga programmen, samt vilka hinder de upplever som störst under utbildningen, av forskning framgår att studenter upplever att den investerade tiden inte motsvarar den förväntade mängden inhämtad kunskap och att utbildningarna är för svåra. Forskare fastslår att första året på utbildningen är den mest kritiska perioden och att det är i denna period extra resurser behöver investeras. Vidare beskriver de förståelsen för pekare, array, referenser, funktionsargument m.m. som de primära svårigheterna. Problemet med forskningen är att den inte specificerar problemen på en nivå där det är möjligt att åtgärda dem, därför är syftet med detta examensarbete att försöka fastställa problemen på en nivå där det är möjligt att åtgärda dem och sedan försöka skapa förslag på åtgärder. Detta uppnås genom att med hjälp av en litteraturstudie fastställa de övergripande problemområdena, vilka sedan specificeras och undersöks genom intervjuer. Informationen ifrån litteraturstudien samt intervjuerna analyseras och används vid skapandet av ett programmeringsspråk (programmeringsspråket Q). Programmeringsspråket Q innehåller en uppsättning med förslag på åtgärder, men det är viktigt att betona att det finns fler sätt att komma till rätta med problemen. Programmeringsspråkets pedagogiska ansats utvärderas sedan via en pilotstudie som indikerar att programmeringsspråkets design och den pedagogiska ansatsen ökar användarnas förståelse för minneshantering.Uppsatsen ger lärare en inblick i studenternas svårigheter med minneshantering och ger förslag på hur specifika problem kan förklaras för att det ska bli enklare för studenterna att förstå dem. Programmeringsspråket Q är inte ett programmeringsspråk som ska konkurrera med programmeringsspråk så som C, C++, C# och Java m.m. Ändamålet med Q är att det ska användas i undervisningssyfte och då användas av lärare som ett diskussionsunderlag eller av studenter för att praktiskt testa samt undersöka minneshantering. Genom möjligheten till att praktiskt använda Q kan studenter testa sin förståelse för minneshantering och få visuell återkoppling.Uppsatsen betonar behovet av att fokusera på minneshantering vid undervisning då detta utgör ett stort problem som hindrar studenterna från att tillgodogöra sig utbildningsmaterialet. Därför bör minneshantering utgöra en stor del av grundutbildningen och inte som i tidigare föreslagna lösningar där minneshanteringen endast har varit en bieffekt av åtgärderna mot andra svårigheter. / The percentage of dropouts from the computer science courses is higher in comparison to the average, this is problematic as demand for staff with computer science education is increasing as the digitization of society. There has been much research into why students choose to leave the computer science programs and the barriers they perceive as the greatest in education. Research shows that students feel that the time invested does not correspond to the expected acquired knowledge and the training courses are too difficult. Researchers state that the first year of training is the most critical period and that it is in this period, additional resources need to be invested. Furthermore is the understanding of pointers, arrays, references, function arguments etc. the primary problems. The problem with the current research is that it does not specify the problems at a level where it is possible to fix them, therefore is the purpose of this essay to try to specify the problems at a level where it is possible to fix them and then create suggestions. This is accomplished by establishing, through a literature study, the overall problem areas, which are then specified and examined through interviews. The information from the literature study and the interviews is analysed and used in the creation of a programming language (programming language Q). It is important to emphasize that the programming language Q contains a set of suggested actions, but there are more ways to fix the problems. The educational language of the programming language is then evaluated via a pilot study that indicates that the programming language and the educational approach increase users' understanding of memory management.The paper gives teachers an insight into students' difficulties with memory management, and gives suggestions on how specific problems can be explained to make it easier for students to understand them. The purpose of Q is not to compete with programming languages such as C, C ++ and Java, etc. The purpose of Q is to be used in education as a basis for discussion at teaching and to be used by students to practical test and examine memory. Further can students use Q to test their understanding of memory and get visual feedback.The paper stresses the need to focus on memory management in education, as this is a major problem that prevents students from assimilating the training material. Therefore should memory management constitute a large portion in the basic education and not as in the previously proposed solutions where memory management only has been a side effect of the measures on other difficulties.
2

Dynamic Allocation for Embedded Heterogeneous Memory : An Empirical Study

Peterson, Thomas January 2018 (has links)
Embedded systems are omnipresent and contribute to our lives in many ways by instantiating functionality in larger systems. To operate, embedded systems require well-functioning software, hardware as well as an interface in-between these. The hardware and software of these systems is under constant change as new technologies arise. An actual change these systems are undergoing are the experimenting with different memory management techniques for RAM as novel non-volatile RAM(NVRAM) technologies have been invented. These NVRAM technologies often come with asymmetrical read and write latencies and thus motivate designing memory consisting of multiple NVRAMs. As a consequence of these properties and memory designs there is a need for memory management that minimizes latencies.This thesis addresses the problem of memory allocation on heterogeneous memory by conducting an empirical study. The first part of the study examines free list, bitmap and buddy system based allocation techniques. The free list allocation technique is then concluded to be superior. Thereafter, multi-bank memory architectures are designed and memory bank selection strategies are established. These strategies are based on size thresholds as well as memory bank occupancies. The evaluation of these strategies did not result in any major conclusions but showed that some strategies were more appropriate for someapplication behaviors. / Inbyggda system existerar allestädes och bidrar till våran livsstandard på flertalet avseenden genom att skapa funktionalitet i större system. För att vara verksamma kräver inbyggda system en välfungerande hård- och mjukvara samt gränssnitt mellan dessa. Dessa tre måste ständigt omarbetas i takt med utvecklingen av nya användbara teknologier för inbyggda system. En förändring dessa system genomgår i nuläget är experimentering med nya minneshanteringstekniker för RAM-minnen då nya icke-flyktiga RAM-minnen utvecklats. Dessa minnen uppvisar ofta asymmetriska läs och skriv fördröjningar vilket motiverar en minnesdesign baserad på flera olika icke-flyktiga RAM. Som en konsekvens av dessa egenskaper och minnesdesigner finns ett behov av att hitta minnesallokeringstekniker som minimerar de fördröjningar som skapas. Detta dokument adresserar problemet med minnesallokering på heterogena minnen genom en empirisk studie. I den första delen av studien studerades allokeringstekniker baserade på en länkad lista, bitmapp och ett kompissystem. Med detta som grund drogs slutsatsen att den länkade listan var överlägsen alternativen. Därefter utarbetades minnesarkitekturer med flera minnesbanker samtidigt som framtagandet av flera strategier för val av minnesbank utfördes. Dessa strategier baserades på storleksbaserade tröskelvärden och nyttjandegrad hos olika minnesbanker. Utvärderingen av dessa strategier resulterade ej i några större slutsatser men visade att olika strategier var olika lämpade för olika beteenden hos applikationer.
3

Visualization of Dynamic Memory in C++ Applications / Visualisering av Dynamiskt Minne i C++ Applikationer

Salén, Filip January 2019 (has links)
Optimized memory management is important for a demanding application to achieve high-performance results. But un-optimized or unwanted memory behaviors can usually be difficult to detect without an overview of how memory is structured during run-time. This thesis explores real-time visualization of dynamic memory allocation for applications using the memory pool allocation technique. In the thesis, technical and graphical challenges are described together with their solutions and the design choices that were made. The final result is a program that can visualize dynamic memory management in real time, with the focus on displaying a detailed and comprehensive memory overview that preserves the level of detail over time. / Optimerad minneshantering är viktig för att uppnå hög prestanda i en krävande applikation. Men att upptäcka icke optimerade eller oönskade minnesbeteenden kan vara svårt utan en visuell översikt över hur minnet är strukturerat under programmets exekvering. Denna avhandling undersöker hur dynamisk minnesallokering kan visualiseras i realtid för applikationer som använder allokeringstekniken minnes\-pool. I avhandlingen beskrivs tekniska och grafiska utmaningar tillsammans med deras lösningar och de designval som gjordes. Slutresultatet är ett program som kan visualisera dynamisk minneshantering i realtid och som fokuserar på att visa en detaljerad och omfattande minnesöversikt som bevarar detaljeringsgraden över tiden.
4

Design and Implementation of an Architecture-aware In-memory Key- Value Store

Giordano, Omar January 2021 (has links)
Key-Value Stores (KVSs) are a type of non-relational databases whose data is represented as a key-value pair and are often used to represent cache and session data storage. Among them, Memcached is one of the most popular ones, as it is widely used in various Internet services such as social networks and streaming platforms. Given the continuous and increasingly rapid growth of networked devices that use these services, the commodity hardware on which the databases are based must process packets faster to meet the needs of the market. However, in recent years, the performance improvements characterising the new hardware has become thinner and thinner. From here, as the purchase of new products is no longer synonymous with significant performance improvements, companies need to exploit the full potential of the hardware already in their possession, consequently postponing the purchase of more recent hardware. One of the latest ideas for increasing the performance of commodity hardware is the use of slice-aware memory management. This technique exploits the Last Level of Cache (LLC) by making sure that the individual cores take data from memory locations that are mapped to their respective cache portions (i.e., LLC slices). This thesis focuses on the realisation of a KVS prototype—based on Intel Haswell micro-architecture—built on top of the Data Plane Development Kit (DPDK), and to which the principles of slice-aware memory management are applied. To test its performance, given the non-existence of a DPDKbased traffic generator that supports the Memcached protocol, an additional prototype of a traffic generator that supports these features has also been developed. The performances were measured using two distinct machines: one for the traffic generator and one for the KVS. First, the “regular” KVS prototype was tested, then, to see the actual benefits, the slice-aware one. Both KVS prototypeswere subjected to two types of traffic: (i) uniformtraffic where the keys are always different from each other, and (ii) skewed traffic, where keys are repeated and some keys are more likely to be repeated than others. The experiments show that, in real-world scenario (i.e., characterised by skewed key distributions), the employment of a slice-aware memory management technique in a KVS can slightly improve the end-to-end latency (i.e.,~2%). Additionally, such technique highly impacts the look-up time required by the CPU to find the key and the corresponding value in the database, decreasing the mean time by ~22.5%, and improving the 99th percentile by ~62.7%. / Key-Value Stores (KVSs) är en typ av icke-relationsdatabaser vars data representeras som ett nyckel-värdepar och används ofta för att representera lagring av cache och session. Bland dem är Memcached en av de mest populära, eftersom den används ofta i olika internettjänster som sociala nätverk och strömmande plattformar. Med tanke på den kontinuerliga och allt snabbare tillväxten av nätverksenheter som använder dessa tjänster måste den råvaruhårdvara som databaserna bygger på bearbeta paket snabbare för att möta marknadens behov. Under de senaste åren har dock prestandaförbättringarna som kännetecknar den nya hårdvaran blivit tunnare och tunnare. Härifrån, eftersom inköp av nya produkter inte längre är synonymt med betydande prestandaförbättringar, måste företagen utnyttja den fulla potentialen för hårdvaran som redan finns i deras besittning, vilket skjuter upp köpet av nyare hårdvara. En av de senaste idéerna för att öka prestanda för råvaruhårdvara är användningen av skivmedveten minneshantering. Denna teknik utnyttjar den Sista Nivån av Cache (SNC) genom att se till att de enskilda kärnorna tar data från minnesplatser som är mappade till deras respektive cachepartier (dvs. SNCskivor). Denna avhandling fokuserar på förverkligandet av en KVS-prototyp— baserad på Intel Haswell mikroarkitektur—byggd ovanpå Data Plane Development Kit (DPDK), och på vilken principerna för skivmedveten minneshantering tillämpas. För att testa dess prestanda, med tanke på att det inte finns en DPDK-baserad trafikgenerator som stöder Memcachedprotokollet, har en ytterligare prototyp av en trafikgenerator som stöder dessa funktioner också utvecklats. Föreställningarna mättes med två olika maskiner: en för trafikgeneratorn och en för KVS. Först testades den “vanliga” KVSprototypen, för att se de faktiska fördelarna, den skivmedvetna. Båda KVSprototyperna utsattes för två typer av trafik: (i) enhetlig trafik där nycklarna alltid skiljer sig från varandra och (ii) sned trafik, där nycklar upprepas och vissa nycklar är mer benägna att upprepas än andra. Experimenten visar att i verkliga scenarier (dvs. kännetecknas av snedställda nyckelfördelningar) kan användningen av en skivmedveten minneshanteringsteknik i en KVS förbättra förbättringen från slut till slut (dvs. ~2%). Dessutom påverkar sådan teknik i hög grad uppslagstiden som krävs av CPU: n för att hitta nyckeln och motsvarande värde i databasen, vilket minskar medeltiden med ~22, 5% och förbättrar 99th percentilen med ~62, 7%.

Page generated in 0.1044 seconds