Font Size: a A A

Research On Parallel Performance Of Operating System In Multicore Environment

Posted on:2016-12-08Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z H ChengFull Text:PDF
GTID:1368330482951859Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
As multicore technology develops,the number of cores on a chip grows exponentially,which puts forward new demands on the parallel performance of operating systems.Traditional monolithic OSs adopt symmetrical architecture to utilize computing resources.Application code and kernel code running alternately on the same processor core would make processor hardware resources polluted,and thus reduce overall performance.Microkernel architecture can bind OS functions onto one or multiple cores to avoid this problem owing to its modularity.Besides,the multicore scalability of monolithic is limited by massive lock contention,while microkernel OSs need to launch multiple parallel servers to handle requests,so it also has to solve the data synchronization issues inside services.We study how to make a microkernel OS achieve high scalability by underlying architecture design and service parallelism.It needs to consider service model design for service parallelism,including data layout,the organization and interactive processes of service processes.Improper design will lead to the problems including load unbalance,message passing cost and so on.We study the parallel bottlenecks of various services,present our design principles of service model to solve the above problems,design and implement scalable services including memory management,file system,and process management.Moreover,at applition level,concurrent programs running on different cores within a chip would contend shared hardware resources,and cause performance degradation.We will study how to predict the performance degradation of co-running applications accurately,and optimize overall performance by configuring the multicore scheduling policy of OSs.The works of this paper are detailed as follows:? We design and implement a microkernel prototype called VTOS on shared memory multicore platform.By scheduling OS services and applications on distinct cores to avoid core resource pollution,and present an efficient multi-threading mechanism for servers.We propose three design principles for service parallelism:(1)core specialization.It serializes a portion of global data and operations onto dedicated cores to avoid data synchronization.(2)Comining data distribution and sharing.It distributes data with high contention into concurrent servers,and allows contention-less data being shared,such that lock contention is reduced and data interaction among servers can be simplified.(3)Master-slave service model.The master is responsible for the management of metadata and load balance,while the slaves perform actual tasks.Master-slave structure is simply designed,and can reduce message passing cost.? We present a parallel and scalable memory management service(SMMS)based on VTOS,which avoids lock contention during physical memory allocation/freeing by distributing page pools.The slaves of SMMS are responsible for page allocation/freeing,and the master is responsible for coordinating the procedueres of slaves,balancing memory loads,exeception handling,and solving the problems of distributed memory fragmentation.SMMS employs buddy algorithm,and provides two page allocation manners:immediate allocation and delay allocation.The experimental results on 32-core platform indicate that the two allocation manners of SMMS can both overcome the memory management module of Linux on scalability,and its load balance policy is able to mitigate service exceptions due to inefficient memory effectively.? Linux file system has prominent performance bottlenecks on concurrent directory traverse and file reading/writeing,which result from the lock contention over various cache structures,including shared dentry cache,inode cache and buffer cache.We design and implement a scalable file system service(SFSS)in VTOS.SFSS divides the data of Ext2 physical file system into metadata and common file data,lets a directory server running on a dedicated core manage metadata and manipulate directories,and parallel file servers use private buffer caches to handle file R/W tasks.By doing this,it makes the working sets of various servers disjoint,and solves most synchronization issues inside traditional file systems.Besides,SFSS is able to balance workloads and achieve elasticity for file services.The results of comparison in 32-core environement indicate that SFSS achieves higher parallel performance on directory traverse and file reading/writing comparing to Linux and Minix with low overhead.? We present a distributed process management service(DPMS).By parationing process control blocks,employing asynchronous manner for process inserting,and integrating SMMS and SFSS,DPMS solves scaling problems during process life cycle management.The results of performance evaluation show that the throughputs of process creation and executable loading of DPMS can both grow linearly with core count increasing.It surpasses Linux and Minix on scalability,but the service latency is acceptable comparing to Linux.? Co-schduling concurrent programs can reduce the performance degradation caused by on-chip shared resource contention,but it needs to predict the performance degradation of co-running programs accurately.The traditional modeling methods based on reuse distance profile cannot be implemented online because of their high overhead,while some heuristic methods based on dynamic indicators get bad results in some cases.In view of thess deficiencies,we propose a method to support degradation prediction online based on machine learning,called DPO(Degradation Prediction Online).The hardware performance indicators are chosen to measure the intensity of shared resource usage,and it builds up prediction models with two layers:uses co-run performance indicators as input to estimate contentiousness/sensitivity,or solo-run performance indicators,and further predicts the performance degradation between any two programs.The scheduling experiments in Linux show that the scheduler based on DPO brings less overall degradation for different workloads comparing to a heuristic algorithm-DI and random scheduler.
Keywords/Search Tags:Multicore processor, Operating system, Scalability, Microkernel, Shared resource contention
PDF Full Text Request
Related items