- Algorithm customizability via R-like and Python-like languages.
- Multiple execution modes, including Standalone, Spark Batch, Spark MLContext, Hadoop Batch, and JMLC.
- Automatic optimization based on data and cluster characteristics to ensure both efficiency and scalability.
|Original author(s)||Shivakumar Vaithyanathan|
|Developer(s)||Apache Software Foundation, IBM|
|Initial release||November 2, 2015|
1.2.0 / August 24, 2018
|Operating system||Linux, macOS, Windows|
|Type||Machine Learning, Deep Learning|
|License||Apache License 2.0|
SystemML was created in 2010 by researchers at the IBM Almaden Research Center led by IBM Fellow Shivakumar Vaithyanathan. It was observed that data scientists would write machine learning algorithms in languages such as R and Python for small data. When it came time to scale to big data, a systems programmer would be needed to scale the algorithm in a language such as Scala. This process typically involved days or weeks per iteration, and errors would occur translating the algorithms to operate on big data. SystemML seeks to simplify this process. A primary goal of SystemML is to automatically scale an algorithm written in an R-like or Python-like language to operate on big data, generating the same answer without the error-prone, multi-iterative translation approach.
On June 15, 2015, at the Spark Summit in San Francisco, Beth Smith, General Manager of IBM Analytics, announced that IBM was open-sourcing SystemML as part of IBM's major commitment to Apache Spark and Spark-related projects. SystemML became publicly available on GitHub on August 27, 2015 and became an Apache Incubator project on November 2, 2015. On May 17, 2017, the Apache Software Foundation Board approved the graduation of Apache SystemML as an Apache Top Level Project.
- Apache SystemML website
- IBM Research - SystemML
- Q & A with Shiv Vaithyanathan, Creator of SystemML and IBM Fellow
- A Universal Translator for Big Data and Machine Learning
- SystemML: Declarative Machine Learning at Scale presentation by Fred Reiss
- SystemML: Declarative Machine Learning on MapReduce
- Hybrid Parallelization Strategies for Large-Scale Machine Learning in SystemML
- SystemML’s Optimizer: Plan Generation for Large-Scale Machine Learning Programs
- IBM's SystemML machine learning system becomes Apache Incubator project
- IBM donates machine learning tech to Apache Spark open source community
- IBM's SystemML Moves Forward as Apache Incubator Project
- Comparison of deep learning software