COMP Superscalar

Big Data Distributed Computing Programming Models

COMP Superscalar (COMPSs) is a framework which aims to ease the development and execution of applications for distributed infrastructures, such as Clusters, Grids and Clouds.

Software Author: 

Workflows and Distributed Computing Group

Contact:

Jorge Ejarque (jorge [dot] ejarque [at] bsc [dot] es)

Rosa M. Badia (rosa [dot] m [dot] badia [at] bsc [dot] es)

Support mailing list (support-compss [at] bsc [dot] es)

Software Cost: 

COMP Superscalar is distributed under Apache License version 2

Primary tabs

COMPSs Download Form
Please, fill the following form in order to access this download:
2 + 9 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.
COMPSs VM Download Form
Please, fill the following form in order to access this download:
3 + 3 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

2.6 (Latest Version)

COMP Superscalar version 2.6 (Gardenia) Release date: November-2019

Release Notes

New features

  • Runtime:
    • New Commutative direction type for task parameter. It indicates that the order of modifications done by tasks of the same type to the parameter does not affect the final result, i.e., tasks operating on a given commutative parameter can be executed in any order between them.
    • New "Stream" parameter type, to enable the combination of data-flows and task-based workflows in the same application. The stream parameter type is defined to enable communication of streamed data between tasks.
    • Timeout property for tasks. Tasks lasting more than their timeout will be cancelled and considered as failed. This property can be combined with the "onFailure" mechanism.
    • Enable the definition of task groups.
    • Support for throwing special exceptions (COMPSsExceptions) in tasks and catching them in task groups.
    • Task cancellation management in the occurrence of a task group exception and unexpected application finalization (Exception or exit code different from 0)
  • Python:
    • Enable the declaration of a list of strings as a file collection task parameter.
    • Support for Python MPI tasks.
  • C:
    • Support for tasks with fine-grain parallelization with OmpSs-2 programming model.

Improvements:

  • New multi-threaded ready scheduler with better scalability.
  • Support for task with "isReplicated" properties and parameters with INOUT/OUT direction.
  • Optimization in deletion of python objects to avoid large synchronizations in shared file systems.
  • Improved the AutoParallel submodule to define data blocks as collection types.
  • Several bug fixes.

Known Limitations

  • Tasks that invoke Numpy and MKL may experience issues if a different MKL threads count is used in different tasks. This is due to the fact that MKL reuses  threads in the different calls and it does not change the number of threads from one call to another
  • C++ Objects declared as arguments in a coarse-grain tasks must be passed in the task methods as object pointers in order to have a proper dependency management.
  • Master as worker is not working for executions with persistent worker in C++.
  • Coherence and concurrent writing in parameters annotated with the "Concurrent" direction must be managed by the underlaying distributed storage system.
  • Delete file calls for files used as input can produce a significant synchronization of the main code.
  • Defining a parameter as OUT is only allowed for files and collection files.

For further information please refer to COMPSs Documentation

Check Installation manual for details about how to install from the repository

Read this document before downloading the VM image: COMPSs VM Instructions

Docker Image pull command:

docker pull compss/compss:2.6

Old Versions

2.5

2.4

2.3

2.2

2.1

2.0