Font Size: a A A

Cross-layer co-design of shared memory multi-core systems

Posted on:2008-11-13Degree:Ph.DType:Dissertation
University:University of California, Los AngelesCandidate:Lai, Bo-ChengFull Text:PDF
GTID:1458390005980037Subject:Engineering
Abstract/Summary:
Multi-processor systems are becoming a major trend for system architecture in modern very large scale integration (VLSI) technology. The multiple cores in a system are used to exploit the parallelism of applications to achieve superior performance as well as energy efficiency. Enabled by the advances of semiconductor technologies and design automation tools, future systems are projected to consist of tens to hundreds of processing cores integrated on a single chip or package. Due to the fact that these systems are highly integrated, designs and trade-offs of such systems are tightly coupled. The impact from a single design decision can be significantly felt on multiple design layers. For best results, designers have to consider multiple design layers (vertical exploration) and multiple architecture options (horizontal exploration) while mapping an application to the underlying multi-processor system.; The contribution of this dissertation to the design community is an accurate and flexible cross-layer design framework and the associated design methodology for a multi-threaded shared-memory symmetric multi-processing (SMP) system. The research methodology adopted by the dissertation leads the study in three steps. Each step forms an important part for the cross-layer design of a multi-processor system.; The first part of this dissertation introduces MultiLaD, a cycle-accurate multi-layer co-design and simulation framework for shared-memory SMP systems. MultiLaD enables design transparency across different design layers which include the application layer, the system software layer, and the hardware architecture layer. This property helps designers to analyze and understand the design impacts of a multi-processor system spanning across different design layers. In addition to returning fast and cycle accurate simulation results, MultiLaD also provides designers flexibility to explore different design options in different design layers. These properties of MultiLaD facilitate accurate, fast and effective design space exploration.; The second part of this dissertation conducts a comprehensive analysis of design options and their impacts within the same design layer as well as across different layers. The dissertation separates this part into two sections. The first section explores the design concerns of different parallel paradigms and optimizations of parallel applications. This section emphasizes the design at the application software and system software layers. The second section investigates architectural options which mainly focus on concurrency of the data transactions. The analysis results from these two sections help designers understand the impact of design trade-offs on the system behavior. The analysis results will be used to provide guidelines, forming the basis of the new cross-layer design methodology described in the third part of this dissertation.; In the third part of this dissertation, a cross-layer design methodology is proposed to enable systematic and effective design of multi-processor systems through multiple design layers. The design methodology consists of a design flow and a cross-layer design function. The design flow shows the general steps on how a design should be conducted. Within each design step, the cross-layer design function provides a method to analyze and optimize the design crossing multiple layers. The design function is constructed based on the characteristics of an application and guidelines concluded from the analysis of design options. A JPEG encoder is used to demonstrate the proposed cross-layer design methodology for dataflow-based applications on a shared-memory SMP system. Although this dissertation only focuses on a specific parallel application and system architecture, the cross-layer design methodology provides a general concept which can be used to analyze different parallel applications, system features, and design options.
Keywords/Search Tags:System, Cross-layer, Design methodology, Design options, Different, Design layers, Multiple, Application
Related items