Font Size: a A A

Study, Based On Multi-core Memory Management

Posted on:2010-09-07Degree:MasterType:Thesis
Country:ChinaCandidate:J X HeFull Text:PDF
GTID:2208360275483462Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
As the development of semiconductor technics and its application, a brand new chip multiporcessor, or CMP, has become the single way to construct the modern microprocessor of high performance. The conventional emission technology of super scalar instructions can not excavate the parallelity more enough from instruction streams in a typical programme, which in turn constrains the improvement of the performance on the single microprossor. To make things worse, the problems of energy-consuming and heat dissipation are more serious. Unless a water cooling system is used, the performance of the microprocessor can hardly be promoted by means of merely increasing the clock frequency. Thus, the multi-processor comes to its birth with the challenges mentioned above.The variation of microprocessor architecture challenges the designers of the operating systems. The operating system should provide corresponding strategies for multi processors to accord with their computing ability. The memory management subsystem is one of the most important parts in the system kernel for it is the foundation of whole system. A strong and complete memory management subsystem is the prerequisite for a system of reliability and scalability. In a multi-core system, more than one tasks can be tackled on different processors at the same time, which is the authentic implementation of parallelism. When shared by those tasks, the memory is accessed exclusively and it should be made the best of for its finity. Therefore, some critical data structures and algorithms should be optimized to meet these specific requests.Linux operating system adopts the paging method to manage its memory and uses the classic buddy algorithm, in which two memory blocks regard each other as buddy when they are equal in size, consecutive in address and derive from the same bigger block. This requires a concise memory managing and a simple memory allocating and deallocating in Linux operating system. However, there could be several consecutive memory blocks in some cases, big enough, not applicable to buddy algorithm.Those blocks unaviable for combination, affect the usability to some extent. This paper improves the buddy algrithom, enhances the old methods of allocating and deallocating. After the enhancement, the algrithom can not only maintain these buddy blocks, but also those non-buddy blocks. The usability of memory is therefore improved. Finally, the paper proposes an alternative idea for buddy algrithom in the multi-processor systems given their characters, so that the algrithom can be more suitable in the multi-processor environment and the allocating and deallocating of pages are truly parallel. With this ability, Linux operating system can play a crucial role in the application of high performance multi-core processor.
Keywords/Search Tags:multiprocessor, symmetric multiprocessor, Linux memory management, buddy algorithm
PDF Full Text Request
Related items