Full text: Proceedings of the Symposium on Progress in Data Processing and Analysis

267 
the network changes, for instance when more transputers are added, the software has to be re 
compiled (KING 1989). In addition, programming errors concerning the message passing over 
the channels often lead to unexpected deadlocks. 
A more convenient way to handle transputer networks is to make use of the Helios operating 
system (PERIHELION 1989). The Helios shell is a complete C-shell implementation offering a 
Unix-like command set. Programmers familiar with Unix will have no problems using it. Helios is a 
distributed operating system based on a client/server model, where application tasks request 
services from system-provided server tasks, such as file handlers or window managers. These 
tasks are distributed over many different processors. The Helios nucleus, the core of the opera 
ting system which is normally available on every processor, is responsible for loading and sche 
duling tasks on a processor and enabling tasks to communicate with each other. This communi 
cation between different processors is handled automatically by the operating system and does 
not affect the user. Helios is able to run the same code on different transputer installations no 
matter what topology or which number of processors they have. Only the architecture of the 
network has to be defined in a Resource Map which allows Helios to be distributed over the 
network. 
Another Helios tool helping the programmer to develop parallel algorithms is the 'Component 
Distribution Language' (CDL). Usually an application is parallelized by dividing it into a number of 
smaller parts or processes. The programmer has to describe these program components and 
their interconnections. CDL offers the possibility to define these parallel structures in a Unix-like 
syntax. The pipe constructor | defines a pipeline between two programs. 'A | B | B | B’ or 'A [3] | B' 
for example describes the pipeline structure of Fig. 1. The interleave constructor ||| is used to 
construct farms. 'A [5] ||| B' would produce a farm with five worker components which is illustrated 
in Fig. 3. Using CDL the programmer will have no problems in synchronizing the multiple I/O 
between the tasks running on different transputers. This job is done by the Task Force Mana 
ger, a server which controls the network and handles the »load balancing« between network 
components. 
load balancer 
logical links 
(independent from physical links) 
Fig. 3 Transputer farm 
Most algorithms in photogrammetric image processing can easily work with geometrical paralle 
lism, which is less difficult to implement than the algorithmic approach and promises a significant 
steeper speed-up curve (HEALEY & DESA 1989). Due to this fact the TUB working group deci 
ded to implement the time consuming algorithms for resampling and image matching in a com 
mon sequential programming language like C which is the standard under Helios. The advan 
tage of this approach is the possibility of using already existing algorithms running on several 
transputers each of them doing the same work on different parts of an image. This will reduce ef 
forts in software development since most of the work to be done is managing the data access 
for each »worker« within the network. Whether Helios farms or user designed pipelines are the
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.