Efficient initialisation routines for multiprocessor systems programmed in Ada

  • Authors:
  • A. Burns

  • Affiliations:
  • University of Bradford, Bradford, UK

  • Venue:
  • ACM SIGAda Ada Letters
  • Year:
  • 1985

Quantified Score

Hi-index 0.00

Visualization

Abstract

As an Ada task cannot be initialised at the time of creation a rendezvous must be used to pass identification data to those tasks that require it. With multiprocessor systems this initialisation phase can be a source of inefficiency as it is, essentially, a sequencial activity. Algorithms, and code, are presented that remove this potential bottleneck by involving all tasks in the initialisation process. Two approaches are discussed; the first delays each active task by a minimum amount (the time it takes to perform two rendezvous), the second method delays all active tasks but initialises the maximum number in any time period. For example 1023 tasks can be initialised in the time taken to perform 10 rendezvous.