Home Online Manual
Top
Back: semaphore
Forward: createTask
FastBack: resources_lib
FastForward: derham_lib
Up: Experimental libraries
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.20 tasks_lib

Library:
tasks.lib
Purpose:
A parallel framework based on tasks

Author:
Andreas Steenpass, e-mail: steenpass@mathematik.uni-kl.de

Overview:
This library provides a parallel framework based on tasks. It introduces a new Singular type task; an object of this type is a command (given by a string) applied to a list of arguments. Tasks can be computed in parallel via the procedures in this library and they can even be started recursively, i.e. from within other tasks.

tasks.lib respects the limits for computational resources defined in resources_lib, i.e., all tasks within the same Singular session will not use more computational resources than provided via resources.lib, even if tasks are started recursively.

The Singular library parallel_lib provides implementations of several parallel 'skeletons' based on tasks.lib.

Procedures:

D.15.20.1 createTask  create a task
D.15.20.2 killTask  kill a task
D.15.20.3 copyTask  copy a task
D.15.20.4 compareTasks  compare two tasks
D.15.20.5 printTask  print a task
D.15.20.6 startTasks  start tasks
D.15.20.7 stopTask  stop a task
D.15.20.8 waitTasks  wait for a certain number of tasks
D.15.20.9 waitAllTasks  wait for all tasks
D.15.20.10 pollTask  poll a task
D.15.20.11 getCommand  get the command of a task
D.15.20.12 getArguments  get the arguments of a task
D.15.20.13 getResult  get the result of a task
D.15.20.14 getState  get the state of a task
See also: parallel_lib; resources_lib.