Software:Apache YuniKorn

From HandWiki
Apache Yunikorn
Apache Yunikorn Logo
Developer(s)Apache Software Foundation
RepositoryYunikorn Repository
Written inGo
Operating systemCross-platform
LicenseApache License 2.0
Websiteyunikorn.apache.org

Apache YuniKorn is an open-source, lightweight resource scheduler that supports large-scale, multi-tenant, and cloud-native environments. Apache YuniKorn also adapting different ResourceManager YuniKorn's architecture design implementations like Apache Hadoop YARN [1] [2] Its primary purpose was to replace Apache YARN. As for scheduling Apache Spark on Kubernetes and now it became the widely accepted method. [3]

On a large scale, in multi-tenant settings on the one hand, and in dynamically created cloud-native environments on the other, YuniKorn facilitates efficient fine-grained resource sharing for different Spark workloads. By providing a solid foundation for a range of applications, including large-scale data transformation, analytics, and machine learning, YuniKorn enables Apache Spark to become an enterprise-grade fundamental platform for users. [4]

History

In order to build a contemporary method for scheduling massive, distributed operations in a future where clouds predominate, Apache YuniKorn was initially created at Cloudera in 2019.[5] The small group of individuals were searching for a truly solid solution to the scheduling and Kubernetes scheduling issue that they had seen. At that time, they also believed that Yarn and Kubernetes should be merged, therefore they decided on a single scheduling method. Apache incubation beginning on January 21, 2020, and the stable version 0.8.0 was published on May 4, 2020, nearly six months later.[6]

Naming

The meaning of Yunikorn [Y YARN + K Kubernetes + Uni Unified] [7] and the purpose of a scheduler support any container orchestration system both on-cloud and on-prem use cases.[8]

Development

Apache YuniKorn is developed under the Apache License 2.0 [9] by the Apache YuniKorn Community within the Apache Software Foundation. The project is driven by over 25 Apache committers[10]

Overview

Apache YuniKorn is a resource scheduler that is designed for scheduling and managing larger dynamic applications on the container orchestration structure and became an Apache Top Level Project in March 2022.[11] [12]

The use of conventional scheduling techniques with big data tools has a number of shortcomings. Due to the absence of fine-grained control over autoscaling in the majority of resource schedulers, resource usage is often out of sync, autoscaling periods for both upscaling and downscaling are prolonged, and as a result, cloud costs are higher and throughput/performance are decreased.

Resource consumption is enhanced and autoscaling performance is boosted thanks to YuniKorn's Gang scheduling and bin-packing.[13] YuniKorn simultaneously ran periodic Apache Spark tasks and saw almost a 2-fold increase in throughput, with a 2-fold decrease in average job runtime and a 3-fold decrease in scale-up and scale-down latencies for 200 nodes. [14]

There are four components in YuniKorn:[15]

  • yunikorn-core
  • yunikorn-web
  • yunikorn-scheduler-interface
  • yunikorn-k8shim

Releases

Version Original release date Latest version [16] Release date [17]
0.8.0 2020-05-04 0.8.0 2020-05-04
0.9.0 2020-08-28 0.9.0 2020-08-28
0.10.0 2021-04-09 0.10.0 2021-04-09
0.11.0 2021-08-18 0.11.0 2021-08-18
0.12.1 2021-12-26 0.12.1 2021-12-26
0.12.2 2022-02-03 0.12.2 2022-02-03
1.0.0 2022-05-06 1.0.0 2022-05-06
1.1.0 2022-09-08 1.1.0 2022-09-08
{{{2}}}

External links

References

  1. "Welcome to Apache YuniKorn | Apache YuniKorn" (in en). https://yunikorn.apache.org/. 
  2. "Apache YuniKorn - A Universal Scheduler". The Apache Software Foundation. 24 October 2022. https://github.com/apache/yunikorn-core. 
  3. Desk, AIT News (2022-05-17). "The Apache Software Foundation Announces Apache YuniKorn as a Top-Level Project" (in en-US). https://aithority.com/saas/the-apache-software-foundation-announces-apache-yunikorn-as-a-top-level-project/. 
  4. "Apache Spark on Kubernetes: How Apache YuniKorn helps - openthings". https://my.oschina.net/u/2306127/blog/5000366. 
  5. "Apache YuniKorn becomes a Top-Level Project" (in en). 2022-05-16. https://dataxp.io/apache-yunikorn-top-level-project/. 
  6. "The Apache Software Foundation Announcement" (in en-SG). https://sg.news.yahoo.com/apache-software-foundation-announces-apache-130000244.html. 
  7. Yang, WeiWei (17 July 2019). "YuniKorn: a universal resources scheduler". https://blog.cloudera.com/yunikorn-a-universal-resources-scheduler/. 
  8. Schmidt, Julia (2019-07-18). "YuniKorn to unify cross-platform scheduling • DEVCLASS" (in en-GB). https://devclass.com/2019/07/18/cloudera-builds-yunikorn-to-unify-cross-platform-scheduling/. 
  9. Apache YuniKorn License, The Apache Software Foundation, 2022-11-22, https://github.com/apache/yunikorn-core/blob/c97ec8d99a52ac7fa98d7c58ef5e2e690f655c32/LICENSE, retrieved 2022-11-22 
  10. "Contributors to apache/yunikorn-core" (in en). https://github.com/apache/yunikorn-core/graphs/contributors. 
  11. Foundation, The Apache Software (2022-05-16). "The Apache Software Foundation Announces Apache® YuniKorn™ as a Top-Level Project" (in en). https://www.globenewswire.com/en/news-release/2022/05/16/2443966/17401/en/The-Apache-Software-Foundation-Announces-Apache-YuniKorn-as-a-Top-Level-Project.html. 
  12. "The Apache Software Foundation Announces Apache® YuniKorn™ as a Top-Level Project". 16 May 2022. https://news.apache.org/foundation/entry/the-apache-software-foundation-announces8. 
  13. Mayer, Marton (2021-09-02). "Optimizing Cloudera Data Engineering Autoscaling Performance" (in en-US). https://blog.cloudera.com/optimizing-cloudera-data-engineering-autoscaling-performance/. 
  14. datafoam (2021-09-03). "Optimizing YuniKorn Autoscaling Performance" (in en-US). https://www.datafoam.com/2021/09/03/optimizing-cloudera-data-engineering-autoscaling-performance/. 
  15. "Apache YuniKorn Repro". The Apache Software Foundation. 23 August 2022. https://github.com/apache/yunikorn-release. 
  16. "yunikorn-release" (in en-US). https://apache.github.io/yunikorn-release/. 
  17. "Apache YuniKorn Releases" (in en). https://yunikorn.apache.org/release-announce/.