Parallel Processing

Course ID
CEID_NY408
Semester
6
Department
Division of Computer Software
Professor
CHATZIDOUKAS PANAGIOTIS, GALOPOULOS EFSTRATIOS
ECTS
6

Introduction to parallel processing: Application requirements, Examples of parallelism, Interconnection structures, Flynn’s classification of parallel architectures, Memory-based partitioning, Performance measures, Computational distribution, Degree of parallelism, Load balancing, Amdahl’s law.

Main features and examples of advanced architectures: SISD Architectures, SIMD Architectures, MIMD Architectures, Very Large Instruction Word (VLIW) Machines, Array Processors, Associative Processors, Constitutive Devices and Wavefronts.

Pipelines and Vector Computing: Basic Concepts, Vector Instruction Analysis, Arithmetic Pipelines, Instruction Pipelines.

Programming Parallel Architectures: Threads, OpenMP, MPI, Introduction to CUDA.

Memory: CAM (Context Addressable Memory or Associative Memory), Caches, Review of placement (mapping) policies, The consistency or coherence problem, Snoopy Cache, Directory schemas, Software schemas, Hierarchical memory design, Memory multiplexing, Parallel access for vectors processors.

Interconnect Networks: General Concepts, Permutations, Single Column DB, Multicolumn DB, Generalized Cube Network, Data Manipulation Networks, OMEGA Network, Baseline Network, Benes Network.

Skip to content