Parallel computing

Parallel computing 150 150 Affordable Capstone Projects Written from Scratch

Module Learning Outcomes Assessed:

  1. Evaluate alternative systems software and machine performance features in order to select appropriate tools and deploy suitable hardware elements for a given set of technical and operational requirements. 3. Discuss the benefits of a range of system architectures and communications infrastructure elements for a range of applications and user requirements bearing in mind the competing constraints of performance, cost, security and usability. 4. Identify the merits of a range of specialised architectures in providing performance and other critical requirements for particular application areas or environments, measuring their effectiveness in achieving these goals.


SECTION A(1600’)

You are required to choose two currently used microprocessors (from two different manufacturers). Processor manufacturers include Intel, AMD, ARM, Motorola, Fujitsu, VIA Technologies, etc. Each of the two processors chosen should be suitable for use in a different class of computers (e.g. PCs/Laptops, Servers, and embedded systems) from the second processor. Conduct research with the aim of analysing, as well as comparing and contrasting the design of these processors. A report of this analysis and comparison/contrast, with recommendations, should be compiled and submitted. You are expected to conduct research external to lectures (e.g. finding evidence to support your claims from manufacturer websites, journal/conference articles, etc.). Research should focus on performance, cost and energy consumption of these microprocessors. Aspects of design to consider should include, but not limited to, instruction set architecture, internal structure, interconnection architecture, cache organisation, error correction, memory management and parallel processing. Your report should also provide an indication of the current trend in processor design. An instruction set should be chosen from those used for any of the two microprocessors. An assembly language based on the chosen instruction set should be used in implementing an algorithm (you should agree on the algorithm to implement with the module leader). The algorithm should include a loop, a branch instruction, a subroutine call and some arithmetic/logic operations.


SECTION B(1100’)

Parallel computing can be provided by multicore (chip multiprocessor) or multiprocessor systems. With the latter, the multiple processors can be in distinct machines and operate either as one distributed system - symmetric multiprocessor (SMP), using a shared main memory, or non-shared memory systems where the workload of multiple processes/tasks is distributed around a cluster of machines, but the tasks themselves are distinct. Machines can also operate using a shared memory but with a cache-coherent Non-Uniform Memory Access (CC-NUMA) approach. Conduct research on SMP, Cluster and CC-NUMA systems. As part of this work, distinguish between thread and process level distribution. Provide examples of applications for which these systems would be best suited. Examples of commercial systems that adopt these approaches should be included in the report. Details of the architecture and organisation of these systems and their design issues should also be included in the report. Your report should be suitable for use as a detailed information document to provide an awareness of the differences among the approaches, and the strengths and weaknesses of each approach.