Modern Computer Architectures

Read Complete Research Material


Modern Computer Architectures

Modern Computer Architectures


The dramatically increasing performance of our personal computers is associated with an increase in hardware and system complexity that has impacted both undergraduate and graduate computer science education. Formerly high-performance and advanced computer architecture techniques and technologies have migrated to our desktop computers, and consequently, into computer architecture courses, in order to provide students with a solid understanding of the modern computer system. Students are now being expected to learn more content at a faster rate, and it can be argued that the complexity of the content is increasing as well. In particular, recent work in high-performance and parallel computer systems have lead to computer architectures that accommodate five distinct levels of parallelism. The importance of the interplay between these different levels, and the trade-offs in efficiency and performance improvement between allocating hardware at different levels has recently been demonstrated [Hoganson 2000a; Hoganson 1999]. This area is complex and not yet fully incorporated into textbooks, but responds well to exploration through simulation.

A simulator and lab experiment tool has been developed that can enhance the teaching of a number of computer architecture related courses including: architecture, parallel systems and algorithms, distributed client/server systems, embedded systems, and operating systems. This simulation allows various user-configurable architectures and interconnection networks to be simulated, running a user-configurable and variable workload, which allows the student and the instructor to observe how performance changes through the different levels of parallelism with changes in either the architecture or workload. The simulator is a java applet which can be used from a web browser, allowing anyone with an Internet connection access to the tool concern about student licensing requirements. The simulator is online and is hosted at the author's institution with support funding provided by a recent grant. Its design as an applet also allows improvements and enhancements to the software to be implemented and instantly made available to all users of the product.

Prior to the creation of this tool, the way to explore high-performance and parallel computer architectures was through study and analysis of existing architectures and their limitations, and reasoning about the capabilities of architectures based on their theoretical performance from mathematical models, or the time-consuming development of an architecture-specific simulation. Using this tool, a computer architecture can be considered, set-up in the simulator, and tested and compared with alternatives in just minutes, making it appropriate for inclusion in undergraduate lectures, and very useful for homework and experiments.

The High-Performance Parallel Computer Architecture simulator is a tool that provides students and researchers with a lens into the previously unknown continuum of possibilities, which were defined and made tractable by the recent unified parallel processing speedup model [Hoganson 2000a; Hoganson 2001]. For the first time, students have a way to explore the complex interaction of performance enhancing computer components including pipelines, cache, multiple processors, clusters of processors, etc., which previously had to be taught as separate and disjoint topics. The tool allows the student or researcher to explore the alternative ways ...
Related Ads