Font Size: a A A

A Concurrent Programming Framework Design And Implementation For Storage System

Posted on:2016-10-30Degree:MasterType:Thesis
Country:ChinaCandidate:Z J ZhangFull Text:PDF
GTID:2308330467498926Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the coming of the ear of Internet, there comes a variety of applications, andwith the user amount becoming bigger and bigger, the systems background theapplications are under a huge pressure to handle the concurrency. The development ofsemiconductor hardware and architecture makes Multicore multi-threading CPUbecome the mainstream of The Times, so we have the chance and ability to solve thechallenge of high concurrency using the powerful hardware. However, because of themulti-core multi-thread processor’s specific architecture, the legacy applicationscouldn’t give a full play to the hardware’s performance, developers have to rewrite theprogram. But compare with the traditional development, to write a concurrencyapplication is more difficulty, and the requirement of developers is also higher. Inorder to solve this situation, there comes a lot of new technologies, new methods inrecent years to lower the threshold of development of the concurrent applications andimprove the efficiency of development.In the paper, on the basis of the analysis and summary of existing technologiesand solutions, we carried out a series of in-depth research in the area of threadscheduling and IO control, proposes a concurrent programming framework based onmulti-thread scheduling. The main contributions are as follows:1. In the respects of multi-threaded scheduling mechanism, this paper proposes athread pool based multi-thread scheduling mechanism, reducing the performanceoverhead of a large number of threads open and die effectively. Through reasonabledistribution scheduling mechanism, it makes the tasks be schedule adequately, solvethe concurrent tasks from the mechanism of resource allocation. At the same time,based on this mechanism, it makes the application run without lock queue operationsin the process of task switching, further improves the performance.2. Besides the research of the internal resource scheduling of concurrent applications, we take a research of requirement of the external IO. According to thecharacteristics of IO, we design a external IO mechanism of concurrent applications,combining with the internal resource scheduling framework. The mechanism with thecharacteristics of asynchronous, non-blocking, which makes the internal and externalresource run independently, improve the utilization of system resources.3. At the same time of designing and developing the scheduling mechanism ofthread pool, we design and develop an extra mechanism of timer. It allows someapplications run compulsively.To test the concurrent programming framework, we also design and develop aprototype of the storage system, which is a typical case of concurrent application,simulating some typical functions and features of the storage system.Through a series of tests for the prototype storage system, the result data showsthat the storage prototype system based on concurrent programming framework havethe availability in the functions, can be carried out on the store business levelsimulation. From the performance, it also has certain feasibility, fully embodies theregulation ability of the concurrent programming framework for external IO requestwith internal threads; From the system, the prototype system can take advantage ofmulti-core and multi-threading CPU hardware’s ability to improve the correspondingperformance.
Keywords/Search Tags:concurrent programming, multi-thread, prototype storage system
PDF Full Text Request
Related items