Advanced Computer Architecture and Parallel Computing
|Aim of Subject:
||To provide a sound understanding of the hardware and software systems required for high performance computing.
|Learning Outcome of Subject:
At the completion of the subject, students should be able to :
- identify the high performance computing classification and their architectures.
- apply performance measurement of computer architecture using different types of methods.
- explain the pipelining concepts and its hazard.
- solve the hazards of pipelining using different types of techniques.
- describe the superscalar architecture of high-performance uniprocessors.
- define the concepts of Vector and Array processor architecture with their vector and scalar software instructions.
- identify and describe the interconnection network switches such as interconnect topology, omega switch, ring bus switch, multiple bus switch, single bus switch, and crossbar switch.
- describe cache coherence problem, message passing mechanisms.
- identify the MIMD computer classification with architecture.
- identify concurrency, parallel computing and multi-core.
- identify and explain the Novel architectures with its functionality such as Data flow machine, VLIW architecture etc.
- Ability to acquire and apply fundamental principles of science and engineering(10%)
- Capability to communicate effectively.(10%)
- Acquisition of technical competence in specialised areas of engineering discipline.(50%)
- Ability to identify, formulate and model problems and find engineering solutions based on a system approach.(5%)
- Ability to conduct investigation and research on engineering problems in a chosen field of study.(10%)
- Understanding of the importance of sustainability and cost-effectiveness in design and development of engineering solutions.(5%)
- Understanding and commitment to professional and ethical responsibilities.(5%)
- Ability to work effectively as an individual, and as a member/leader in a team.(5%)
- Assignment/Project - Group assignment, Focus group discussion at tutorial, To enhance understanding of basic concepts in lecture(20%)
- Test Quiz - written exam(20%)
- Final Exam - written exam(60%)
||46 hours (lectures,tutorials and laboratory experiments)
||ECP2046: Computer Organization and Architecture
- J.L. Henessay and D.A. Patterson, “Computer Architecture: a Quantative Approach”, Morgan Kaufman, 3rd Edition, 2003.
- K. Hwang, “Advanced Computer Architecture: Parallelism, Scalability and Programability”, McGraw-Hill, 1993.
- H.S. Stone, “High Performance Computing”, Addison-Wesley, 1990.
- Jari Nurmi, “Design: System-On–Chip Computing ASICs and FPGAs”, Springer, 2007.
Introduction to high performance computing Classification and survey of existing architectures, performance metrics, current state of high performance computing.
High Performance Uni-Processors
Pipelining : principles, degradation due to functional, data and control hazards, solutions to overcoming hazards. Superscalar techniques: fetch, rename, issue, dispatch, execute and commit stages, branch prediction, exception handling, impact on cache and memory design. Compiler support. Survey of current high performance processors, including multimedia hardware.
Parallel Processing: Vector and Array processors
Vector and array processing principles, common architectures, instruction types, compiler and high level language support, and applications.
Parallel Processing: Parallel Computing
Classification, Interconnect topology, hardware synchronization mechanisms, cache coherence, message passing mechanisms. Parallel programming. Concurrency, parallel computing, multi-core.
Data flow, VLIW, and multi-scalar. Future directions in high performance computing.