[MINOR] Fine-tuning multi-threading thresholds for unary aggregates

This patch makes the multi-threading thresholds of unary aggregates
scalable in the number of threads, ensuring tasks are large enough
to warrant multi-threading. Previously, they were hard-coded assuming
common 16 or 24 core settings, which are nowadays with 128+ cores no
longer true. For an experiment of 1000x sum(X) operations on a machine
with 2x Intel Xeon Gold 6338 (128 vcores), this patch improved
performance as follows:

1000x sum(1000 x 10): 0.131s (unchanged)
1000x sum(2000 x 10): 0.558s -> 0.214s (unchanged)
1000x sum(4000 x 10): 0.629s -> 0.375s (unchanged)
1000x sum(8000 x 10): 0.765s -> 0.693s (unchanged)
1000x sum(16000 x 10): 1.224s (unchanged)
1 file changed
tree: b92b453d40f72842d34709388f7e518468c69b4f
  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. doap.rdf
  17. LICENSE
  18. NOTICE
  19. pom.xml
  20. 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.

ResourceLinks
Quick StartInstall, Quick Start and Hello World
Documentation:SystemDS Documentation
Python DocumentationPython SystemDS Documentation
Issue TrackerJira 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