The Java API and Cross Language Programming on Ray
summary
Ant Group reports a Java API released with Ray 1.0 that turns Java static methods and classes into Ray tasks and actors with ObjectRef futures, Maven dependency and ray.init support, and a C++ co-worker layer plus thin language wrappers to avoid duplicate code. Cross-language invocation lets Python create and call Java actors (and vice versa), auto-serializes primitives, lists, maps and actor handles, and chains stack traces via cross-language exceptions. Production use at Ant Group since 2017 validates the approach.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:33Why Java
- 2:27Ray's 2 basic concepts
- 3:09Design principles of Ray Java API
- 3:49Java API: Tasks
- 5:23Java API: Actors
- 6:54Java API: Options
- 7:20Java API: Type safety
- 8:59Java API: More features
- 9:27Use Ray in your Java project
- 10:11Old architecture
- 11:16Refined architecture: C++ core worker
- 12:12C++ Core worker (cont'd)
- 13:38Why cross-language programming
- 14:30The traditional solution: GRPC
- 16:09The Ray solution
- 17:57Supported features
- 18:10Cross-language data serialization
- 19:24Cross-language exceptions
- 20:46Recap
related talks
23mImproving Ray for Large-scale Applications
15mRay: A Distributed Compute Engine for AI
11mKeynote Q&A
03mRay: A Distributed Execution Framework for Emerging AI Applications
44mJava for AI
24mRay: A System for High-performance, Distributed ML Applications
14mBuilding High Availability and Scalability Online Computing Applications on Ray
54mLeading Edge! Changing the Java World
