Font Size: a A A

A Scalable Multithreaded Model For Multicore Systems

Posted on:2018-12-31Degree:MasterType:Thesis
Country:ChinaCandidate:J K ChenFull Text:PDF
GTID:2348330512486731Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Multithreading based on shared address space is an important way to make efficient use of multicore resources.But,the serious contention of shared address space limits the performance of a large number of multithreaded programs.In addition,in some multithreaded stream processing applications,the synchronization of shared queue also greatly limit the scalability and performance.This thesis presents a thread model PMthreads,which is designed to completely eliminate address space contention.Based on the existing producer-consumer shared memory model,this thesis designs and implements the multi-thread flow programming model PMPL in PMthreads,which is designed to solve the problem of poor scalability in streaming applications1.The thesis analyzes in detail the reasons why the competition of address space affects the application performance,and the defects of the shared queue.Though the experiment and performance analysis tools,the global read/write lock pro-tecting the shared address space leads to the performance degradation of multithreaded applictions.2.Proposing a thread model based on isolated address space and achieving a prototype system PMthreads.In order to completely eliminate the contention of address space among threads,PMthreads gives each of the threads a separate ad-dress space.Though developing character device driver and IAmalloc heap allocators,PMthreads maintains shared variables among threads.And PMthreads uses the Pthreads interface to support existing Pthreads programs.3.In the PMthreads,this thesis designs and implements a stream program-ming model that can efficiently transfer data between threads.Based on DetMP,this thesis designs and implements PMPL.PMPL only provides two interfaces for send-ing and receiving.Through the thread ID,multithreadings can receive and send data.4.On 32 cores this thesis evaluate the performance of PMthreads and PMPL.This thesis first evaluated the performance of PMthreads using 10 test programs in Phoenix and PARSEC.Experimenal results show:for virtual memory intensive ap-plications.on 32 cores PMthreads improve performance by 2.17×?3.19× relative to Pthreads.And on 32 cores PMthreads have better affinity for NUMA than Pthreads.On 32 cores,for dedup flow application,PMPL improve performance by 7.51 x relative to the shared queue.The PMthreads proposed in this article can improve the performance of virtual memory intensive multithreaded programs,and Pthreads multithreaded programs can invoke PMthreads without modifications.At the same time,the proposed PMPL pro-vides programmers with a simple and efficient way to transfer data between threads,and also allows streaming multithreaded applications to be highly scalable.
Keywords/Search Tags:address space, shared queue, contention, performance, scalability
PDF Full Text Request
Related items