CAB401 High Performance and Parallel Computing


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: Semester 2 2024, Gardens Point, Internal

Unit code:CAB401
Credit points:12
Pre-requisite:(CAB301 or IFN505 or IFN564) or (IFN564 and 192cps in IV04 or MV05 or BV06 or EV08 or enrolment in IV54 or IV55 or IV56 or IV58).
Equivalent:INB375
Coordinator:Wayne Kelly | w.kelly@qut.edu.au
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

Building on your skills in "sequential" programming, this unit teaches you the tools and techniques needed to exploit multi-processor computer systems to achieve dramatic performance improvements for computationally intensive problems. This unit gives you both an understanding of why future computer hardware will be increasingly parallel, the challenges this poses for software development as well as a set of practical skills in creating high-performance programs using today's best tools and techniques.

Learning Outcomes

On successful completion of this unit you will be able to:

  1. Relate principles of parallel programming to features of parallel hardware.
    Relates to: ACS CBOK: 3, 3.1, 4, 4.2
  2. Transform sequential software applications into high performance parallel applications using state of the art programming techniques.
    Relates to: ACS CBOK: 4, 4.2
  3. Conduct independent research relating to new parallel hardware and new parallel programming frameworks.
  4. Deliver an effective, professional presentation to a specialist audience.
  5. Critique alternative parallel programming technologies.
    Relates to: ACS CBOK: 4, 4.2
  6. Argue the connection between Moore’s law and human development and its implications for the next generation of IT professionals.
    Relates to: ACS CBOK: 1, 1.6

Content

The major topics covered may be drawn from the following:

  • Principles for dealing with computationally-intensive or 'big data' problems efficiently;
  • Moore's law and the trend towards parallel hardware;
  • High-speed computing frameworks;
  • Practical techniques for parallelizing algorithms;
  • Forms of parallelism (including instruction, data, task and pipelining);
  • Barriers to effective exploitation of parallel computing architectures (including grain size, load imbalance and memory bottlenecks);
  • Static and dynamic techniques and tools for program analysis;
  • Principles of parallel computing (including Amdahl's law);
  • Principles of parallel programming (including synchronization and locks);
  • Problems associated with parallel programming (including race conditions and deadlocks);
  • Forms of synchronization (including critical sections, semaphores, mutexes and barriers); and
  • Design of parallel algorithms.

This unit will include Aboriginal and Torres Strait Islander perspectives in the context of the sustainability of exponential growth and the role of elders and connection to country in decision making. 

Learning Approaches

This unit is available for you to study in either on-campus or online mode. The unit emphasises active, artefact-driven learning as well as collaborative discussion on technical topics. There will be weekly teaching sessions. In the first half of the semester these will be mostly used as a lecture session. You will however be expected to actively participate in group discussions during these sessions and the second half of the semester will be mostly taken up by student presentations. The basic principles will be covered in the pre-recorded lectures, however most of the more technical topics will be learned through assigned readings and self directed research. These topics will then be discussed during the weekly meetings to ensure understanding. You will also undertake a major practical project where you will develop a high-performance, parallel version of a given real world program.

You can expect to spend between 10 - 15 hours per week involved in preparing for and attending all scheduled workshops, completing assessment tasks, and undertaking your own independent study to consolidate your learning.

Feedback on Learning and Assessment

Feedback in this unit is provided to you in the following ways:

  • Ongoing formative feedback will be provided by your tutor during the lectures and practicals.

  • Automated feedback is available on the completion of formative online quizzes.

  • Summative assessment tasks will be graded using rubrics, which will provide details of your achievement against the specified standards and also include written feedback on your performance.

Feedback on summative assessment tasks will be received prior to the submission of the next summative assessment task.

Assessment

Overview

General assessment information:

The major project provides a vehicle for students to apply the knowledge and skills that they have acquired from the lectures and tutorial exercises. Time will be devoted during later practical sessions for students to discuss their progress on the project and get help and advice on any technical issues which may be encountered.

Peer assessment will be incorporated into the oral presentations so that students are forced to reflect on what makes a good presentation, including structure, clarity and key elements covered.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Presentation (Oral)

Students will participate in discussions during each lecture and present a technical topic via an Audio Visual presentation.

This assignment is eligible for the 48-hour late submission period and assignment extensions.

Weight: 20
Individual/Group: Individual
Due (indicative): Week 4
Related Unit learning outcomes: 3, 4, 5

Assessment: Project (applied)

You will select a real world software application and manually redevelop it using one of a number of parallel programming frameworks in order to create a 'high-performance' version. The comparative performance of both the original and new versions must be demonstrated both theoretically and empirically. 

This assignment is eligible for the 48-hour late submission period and assignment extensions.

Weight: 50
Individual/Group: Individual
Due (indicative): Week 12
Related Unit learning outcomes: 1, 2

Assessment: Timed Online Examination

Theory exam covering basic principles of parallel computing and parallel programming.

 

 

Weight: 30
Individual/Group: Individual
Due (indicative): Central Examination Period
Central exam duration: 2:10 - Including 10 minute perusal
Related Unit learning outcomes: 1, 6

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

Various readings will be assigned during lectures, all from publically available web sites. Required software is either installed in on-campus computer labs and/or freely available. Students are not expected to purchase any software or other resources for this unit.

Risk Assessment Statement

There is minimal health and safety risk associated with this unit. It is your responsibility to familiarise yourself with the Health and Safety policies and procedures applicable within campus areas and laboratories.

Standards/Competencies

This unit is designed to support your development of the following standards\competencies.

Australian Computer Society Core Body of Knowledge

1: ICT Professional Knowledge

  1. Understanding the ICT profession
    Relates to: ULO6

3: Technology Resources

  1. Hardware and software fundamentals
    Relates to: ULO1

4: Technology Building

  1. Programming
    Relates to: ULO1, ULO2, ULO5

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

EN01 Bachelor of Engineering (Honours)

  1. Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
    Relates to: ULO6
  2. Engage stakeholders professionally and communicate the outcomes of your work effectively to expert and non-expert audiences using appropriate modes.
    Relates to: ULO4, Presentation (Oral)
  3. Display leadership, creativity, and initiative in both self-directed and collaborative contexts of professional engineering practice.
    Relates to: ULO3, Presentation (Oral)
  4. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: ULO5
  5. Deploy appropriate approaches to engineering design and quality.
    Relates to: ULO2, Project (applied)
  6. Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
    Relates to: ULO1, Timed Online Examination

EV01 Bachelor of Engineering (Honours)

  1. Engage stakeholders professionally and communicate the outcomes of your work effectively to expert and non-expert audiences using appropriate modes.
    Relates to: Presentation (Oral)
  2. Display leadership, creativity, and initiative in both self-directed and collaborative contexts of professional engineering practice.
    Relates to: Presentation (Oral)
  3. Deploy appropriate approaches to engineering design and quality.
    Relates to: Project (applied)
  4. Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
    Relates to: Timed Online Examination

IN01 Bachelor of Information Technology

  1. Demonstrate well-developed IT discipline knowledge
    Relates to: ULO1, ULO6
  2. Employ appropriate IT Methods
    Relates to: ULO2
  3. Critically apply design and problem solving skills
    Relates to: ULO5
  4. Work independently and within effective teams
    Relates to: ULO3
  5. Communicate effectively in professional contexts
    Relates to: ULO4