Rewiev of Lab Manual for Parallel Processing Systems
Rewiev of Lab Manual for Parallel Processing Systems Emina I. Milovanović, Vladimir M. Ćirić
Chapters F Parallaxis F Synchronization and communication in MIMD systems F BACI concurrency simulator
Chapter 1: Parallaxis is structured programming language for data-parallel programming (SIMD systems) F Developed by Thomas Brunl in 1989 F Based on Modula-2 extended with machineindependent parallel constructs F Parallaxis simulation environment allows studying of data parallel fundamentals on single processor systems and development of parallel programs which can later be executed on real SIMD systems F
In Parallaxis one can define “virtual machine” with: • arbitrary number of PEs • arrangement of PEs • connections between the PEs This manual contains a full description of Parallaxis language: • data types • specification of virtual processors and connections • control statements • parallel data transfer • working with subroutines
• Manual contains a lot of examples for most common interconnection networks (linear, mesh, hexagonal, binary tree, torus, hypercube) • At the end of the chapter, 7 groups of assignments for students are given • The student have to define • required network topology • arrangement of processors in the system • solve the problem on defined system
Chapter 2: Synchronization and communication in MIMD systems • critical sections • Semaphores • Monitors • Message passing
Chapter 3: BACI concurrency simulator (Ben Ari Concurrency Interpreter) • Developed at William and Mary College by Bill Bynum and Tracy Camp • David Strite from the University of Pennsylvania developed GUI for BACI in Java (j. BACI) which is portable over all platforms • BACI simulator consists of Pascal (or C) compiler and interpreter • Pascal and C compilers support binary and counting semaphores and Hoare monitors
The manual contains the description of: • concurrency constructs (cobegin-coend, semaphores, monitors, built-in functions, …) • Instructions for using BACI compiler and interpreter • Three groups of assignments for students
j. BACI edit mode
j. BACI run mode
When executing the program, the window is divided into two areas: • The left area contains the process table with process number and name, process status (active or suspended) • Process windows, one for each process
• After this cycle of lab exercises, the student should be able to deeply understand mechanisms of interprocessor synchronization and communication in multiprocessor systems. • At the end of lab exercises students have a colloquia which contributes with 20% in the exam.
- Slides: 12