View Proposal


Proposer
Idris Ibrahim
Title
Multi-threading Processing
Goal
Discovering all the processing power available in multi-core architectures and Processing a single image using multiple threads
Description
The "Multi-threading Processing" project within the realm of computer science delves into the effective utilisation of multi-threading technology to enhance the performance and speed of diverse computational tasks and applications. Multithreading, a programming technique enabling the simultaneous execution of multiple threads (smaller program units), harnesses the potential of multiple processor cores or CPU resources. At its core, this endeavor seeks to implement and refine multi-threaded solutions applicable across a spectrum of tasks and applications. This project specifically employs the Marvin Project, a Java Image Processing Framework, characterised by its pure Java architecture, cross-platform compatibility, and a rich set of functionalities encompassing image and video frame processing, multi-threaded image processing capabilities, seamless GUI integration, plug-in extensibility, and unit test automation, among other capabilities. Ultimately, the project aspires to optimise computational efficiency by capitalising on parallelism for a diverse range of computing tasks.
Resources
Marvin Image Processing Framework
Background
Computer architecture, OS principles, and good programming skills in Java.
Url
Difficulty Level
High
Ethical Approval
Full
Number Of Students
1
Supervisor
Idris Ibrahim
Keywords
multi-threading, parallel computing, performance optimization, concurrency multi-core processors, computational efficiency, thread synchronisation, load balancing, cpu resource utilisation, scalability, image processing, data analysis, graphics rendering.
Degrees
Bachelor of Science in Computer Science
Master of Engineering in Software Engineering
Master of Design in Games Design and Development
Master of Science in Artificial Intelligence
Master of Science in Computing (2 Years)
Master of Science in Software Engineering
Bachelor of Science in Computing Science