[SYSTEMDS-3572] CommonThreadPool Reuse ThreadLocal Pools

This commit allows reuse of custom size thread pools, but only for the
main thread. Only allowing the main thread to reuse a pool avoids
problems with parfor spawning threads that use the same shared pool.
I tried using ThreadLocal to solve this problem initially, but this
did not work with our testing framework while it did work in practice.
This implementation is a compromise to work with the test framework,
while not introducing to much code.

Closes #1873
13 files changed
tree: af637eef66f78abe3f8f973dcf0f18f39a42322d
  1. .github/
  2. .mvn/
  3. bin/
  4. conf/
  5. dev/
  6. docker/
  7. docs/
  8. scripts/
  9. src/
  10. .asf.yaml
  11. .gitattributes
  12. .gitignore
  13. .gitmodules
  14. CITATION
  15. CONTRIBUTING.md
  16. LICENSE
  17. NOTICE
  18. pom.xml
  19. README.md
README.md

Apache SystemDS

Overview: SystemDS is an open source ML system for the end-to-end data science lifecycle from data integration, cleaning, and feature engineering, over efficient, local and distributed ML model training, to deployment and serving. To this end, we aim to provide a stack of declarative languages with R-like syntax for (1) the different tasks of the data-science lifecycle, and (2) users with different expertise. These high-level scripts are compiled into hybrid execution plans of local, in-memory CPU and GPU operations, as well as distributed operations on Apache Spark. In contrast to existing systems - that either provide homogeneous tensors or 2D Datasets - and in order to serve the entire data science lifecycle, the underlying data model are DataTensors, i.e., tensors (multi-dimensional arrays) whose first dimension may have a heterogeneous and nested schema.

Quick Start Install, Quick Start and Hello World

Documentation: SystemDS Documentation

Python Documentation Python SystemDS Documentation

Issue Tracker Jira Dashboard

Status and Build: SystemDS is renamed from SystemML which is an Apache Top Level Project. To build from source visit SystemDS Install from source

Build Documentation LicenseCheck Java Tests Python Test