Java Python CEG5201 Hardware Technologies, Principles, & Platforms
(Semester I, AY2024/2025)
CA-2 Statement
I. Objective
In this group assignment, each member will focus on benchmarking one of the following sorting algorithms—Merge Sort, Bucket Sort, Quicksort, or Odd-Even Transposition Sort— using both sequential and multiprocessing methods. The objective is to compare the performance of these algorithms across different implementations.
To complete the assignment, all group members should familiarize themselves with the Python multiprocessingpackage using the following resources:
• Python multiprocessing tutorial:https://www.datacamp.com/tutorial/python- multiprocessing-tutorial
• The pool class -https://superfastpython.com/multiprocessing-pool-python/
• Multiprocessing pool example -https://superfastpython.com/multiprocessing-pool- example/
• Threadpool vs. pool class differences -https://superfastpython.com/threadpool-vs-pool- in-python
Feel free to explore additional learning materials and share useful links by posting on the Canvas Discussion to benefit your classmate
II. Project Overview
In this project, your team will implement four sorting algorithms shown in Table II. Each team will select one of the sorting algorithms and implement it in both sequential and multiprocessing modes. Furthermore, in addition to individual tasks, the project includes joint tasks as detailed in Table I.
• Individual tasks are highlighted as blue.
• Joint tasks are highlighted as yellow.
Table I. Overview of the tasks
Task ID |
Task description |
O |
Getting started |
A |