ICOT Free Software No. 74

		  KL1 Load Distribution Library (Version 1.0)
		-----------------------------------------------

1. What is KL1 Load Distribution Library ?
------------------------------------------

KL1 Load Distribution Library (KLIB) is a package of general load
distribution schemes written in KL1.  It is intended to enhance 
productivity of parallel programming in KL1.


2. Functions and Features
-------------------------

The library provides  ``templates'' of typical load distribution schemes.
A parallel program is created by linking a load distribution
utility in the library with the problem-specific code written by the user.
The user writes KL1 predicates which conform to the 
interface specification prescribed by the load distribution utility,
and pass the codes of those predicates when starting the utility.

(1) A set of utilities which implement typical load  distribution schemes
such as network generation, process mapping, and dynamic load distribution

(2) Written in parallel logic language KL1

(3) The library has a modular and hierarchical structure, 
allowing incremental development of new load distribution schemes

The current version of the library contains the following:

o Network generation:
    Lays out processes connected by the perfect graph or hypercube
    topologies on the processing nodes

o Process mapping:
    Creates a network of processes with the process definitions and
    the network topology specified by the user

o Dynamic load distribution
    Dynamically balances the processor load for tree-search type programs

o Depth-first branch-and-bound

    Parallel depth-first search with branch pruning by cost function

o Parallel A* algorithm

    Parallelization of A* search algorithm

o Transitive closure generation

    Given a symmetric relation R and the set generators G,
    calculates GR^n = {y | exists x in G s.t. x R^n y} for any natural
    number n.


3. Execution environment
------------------------

Programs using KLIB runs under PIMOS.
(The macro facility of PIMOS 3.4 or later is necessary for compiling
KLIB.) 


4. Directories and Files
------------------------

ldlib.tar[.Z] contains the following directories and files.

 -------------------------------------------------------
  File name		    Contents
 -------------------------------------------------------
  README            This file
  README.j          README (in Japanese)
  INSTALL           Installation guide
  INSTALL.j         Installation guide (in Japanese)

  doc/		Documentation

  src/		Source files

    util/	KLIB building tool

    klib/	KLIB source files

    sample/	Sample programs using KLIB

