Parallel Programming in C for the Transputer
© D. Thiébaut, 1995



Page Rank Tool

Table of Contents




1 Introduction
    1-1 Transputer-based multiprocessors and parallel architectures
    1-2 Flexibility and versatility
    1-3 Hardware and software support
    1-4 Why use C?
    1-5 Chapter organization
2 The transputer
    2-1 A processor with memory and I/O ports
    2-2 The Processor
    2-3 Memory access
    2-4 The serial I/O ports
    2-5 Technical aspects of the CSA Educational Kit
    2-6 Concluding remarks
3 Tutorial: a first program
    3-1 The program
    3-2 The compilation process
    3-3 The linking process
    3-4 Loading the program
    3-5 Concluding remarks
4 Communication primitives
    4-1 Network topology
    4-2 Transputer to transputer communication
    4-3 Alternation with ProcSkipAlt
    4-4 Adding a relay node
    4-5 Concluding remarks
5 Multitasking
    5-1 Creating multitasks
    5-2 Timing aspects of multitasking
    5-3 Unsynchronized execution of multitasks: ProcRun
    5-4 Communication between multitasks
    5-5 A complete program
    5-6 Virtual channels
    5-7 Concluding remarks
6 Parallel programming and debugging
    6-1 Using a commercial debugger
    6-2 Defensive debugging techniques
    6-3 Root debugging
    6-4 Managing the stack and heap
    6-5 Using high and low priority tasks
    6-6 Concluding remarks
7 Deadlocks
    7-1 Introductory examples
    7-2 Deadlocks on shared resources
    7-3 How likely is a deadlock?
    7-4 Why not a certainty?
    7-5 Detecting deadlocks: the interleave problem
    7-6 Semaphores and locks
    7-7 Deadlocks in communication
    7-8 Deadlock prevention
    7-9 Deadlock recovery
    7-10 Concluding remarks
8 Measuring performance
    8-1 Introduction
    8-2 Execution time and speedup
    8-3 Processor utilization
    8-4 Processor efficiency
    8-5 Packet throughput
    8-6 Other performance metrics
9 Problem decomposition on a multiprocessor network
    9-1 Introduction
    9-2 Code-driven decomposition
    9-3 Data-driven decomposition
    9-4 Concluding remarks
10 Load balancing
    10-1 Dynamic load balancing
    10-2 An application: balancing the N-queen problem
    10-3 Concluding remarks
References

Accompanying software (README file, and zip-compressed archive)


(Statistics of accesses to different parts of the book are available here!)

[HOME] [NEXT]