|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:
- Understand the high performance computing classification and their architectures. Performance measurement of computer architecture using different types of methods.
- Understand the pipelining concepts and its hazard. How to solve the hazards of pipelining using different types of techniques. Describe the Superscalar architecture.
- Understand the concepts of Vector and Array processor architecture with their vector and scalar software instructions.
- 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. Understand the MIMD computer classification with architecture.
- Understand 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(50%)
- Capability to communicate effectively(10%)
- Acquisition of technical competence in specialised areas of engineering discipline(10%)
- Ability to identify, formulate and model problems and find engineering solutions based on a systems approach(5%)
- Ability to conduct research in chosen fields of engineering(5%)
- 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 independently as well as with others in a team(5%)
- Ability to be a multi-skilled engineer with good technical knowledge, management, leadership and entrepreneurship skills(5%)
- Assignment or 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 and tutorials)
||ECP2046: Computer Organization and Architecture
J.L. Henessay and D.A. Patterson, "Computer Architecture: a Quantitative
Approach", Morgan Kaufman, 2nd Edition, 1996.
K. Hwang, " Advanced Computer Architecture: Parallelism, Scalability and
Programability", McGraw-Hill, 1993.
H.S. Stone, "High Performance Computing", Addison-Wesley, 1990.
Introduction to High Performance Computing
Classification and survey of existing architectures, performance metrics,
current state of high performance computing.
High Performance Uniprocessors
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: MIMD Computers
Classification, Interconnect topology, hardware synchronization mechanisms,
cache coherence, message passing mechanisms. Parallel programming: models,
languages and compilers. Distributed operating systems.
Data flow, VLIW, and multi-scalar. Future directions in high performance