Font Size: a A A

Design And Implementation Of Multicore Oriented Memory Compulting Platfrom On Non-Volatile Memory

Posted on:2018-02-26Degree:MasterType:Thesis
Country:ChinaCandidate:R PanFull Text:PDF
GTID:2348330512989160Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Storage has played the role of bottleneck in a long time in computer system.People always want a storage device with high performance,high reliability,low-energy and persistence gurantee.NVM,the Non Volatile Memory,makes it avalible for people.Scientists focus on those devices because they are persistent,fast,energy efficient,byte addressing.Because of those talents,NVM could be connected to CPU directly and become a part of ram.Currently,there are two thoughts about the future of NVM.For one is using NVM as slow device,users access NVM by block device interface or file-system.And the other is to regard NVM as persistent RAM,by using CPU's load/store command to access NVM.Obviously,the first thought would lead to switch into kernel mode frequently.As we can see,persistent RAM solution is more efficient.In other words,we use NVM as RAM.We map NVM into user process address space,design persistent memory management and create NVM objects.That's what this thesis focuses on.It's no longer suitable for DRAM memory management in NVM memory situation.Differences are mainly in following aspects:Firstly,all the updatings in NVM last a long time,which makes it's necessary for NVM that every updating should guarantee ACID.It's never mentioned in DRAM memory management.Besides,NVM memory management need to be efficient in multicore environment absolutely.But on the other side,NVM objects have longer lifetime compared to DRAM objects,so NVM space is far more precious than DRAM's.We have to design a defragmentation algorithm.And any NVM error could crash the whole system eternally which is never considered in DRAM memory management design.At last,NVM have a short erase life.We should avoid writing on NVM.To solve the problems above,we design and implement a multi-core oriented memory computing platform which gives a solution.The platform contains a consistent memory management of NVM,object storage with transcation assurances and object oriented programming interface.This platform contains following works:1.According to NVM mapping dirver,we design and implement a NVM memorymanagement system orient multi-core.2.Based on NVM memory management,we design and implement a dynamicdefragmentation strategy in the runtime.This strategy trace the allocatedresources by segment tree and move resources in the runtime.3.According to the theory of persistent object,we design a smart pointer basedprogramming model,provide transaction gurantee and isolate business andmemory operations.4.And based on both NVM programming model and NVM memory management,we design and implement a concurrent transcation system to make sure highperformance in concurrent situations.5.Because our driver provide page swap serivce to avoid accessing directly onNVM to protect NVM.Our system implement an access statistics which canreport memory access statistics to kernel driver.Finally,this thesis make functional tests and performance tests.According to functional tests,this system pass the transcation,defragmentation and NVM object operation test.In performance tests,we implement a K/V storage system based on OOP interface provided by our platform.And we compare our K/V storage system to redis in strong persistent assurances.According to the result,in single thread test,the K/V storage system out performance 1.4x than redis.And In multiple thead test,the K/V storage system out performance 10 x than redis.
Keywords/Search Tags:NVM, memory management, software memory transaction, object storage system, defragementation
PDF Full Text Request
Related items