Description
The internal storage of ALS uses many small objects, which increases the GC pressure and makes ALS difficult to scale to very large scale, e.g., 50 billion ratings. In such cases, the full GC may take more than 10 minutes to finish. That is longer than the default heartbeat timeout and hence executors will be removed under default settings.
We can use primitive arrays to reduce the number of objects significantly. This requires big change to the ALS implementation.
Attachments
Issue Links
- blocks
-
SPARK-3735 Sending the factor directly or AtA based on the cost in ALS
- Resolved
- is blocked by
-
SPARK-4084 Reuse sort key in Sorter
- Resolved
- links to