Introduction to Data Sharding in Nx

30
clicks
Introduction to Data Sharding in Nx

Source: dockyard.com

Type: Post

The article provides an overview of the forthcoming updates regarding data sharding in Nx, a tool that has previously allowed users to compile functions into efficient native code but executed requests in a single process. Sharding will change this by permitting the splitting and distribution of input data and computations across multiple processes and potentially multiple BEAM nodes. The concept of data-level computation sharding is introduced, explaining that input data can be split for parallel calculation, which fundamentally transforms how computations are executed in Nx. The implementation process, which involves annotating how inputs are split and propagating this information through the computation graph, is conceptualized through examples. The article also touches on the complexities introduced by operations like Nx.sum, indicating that future installments will further explore these aspects and discuss graph splitting in conjunction with sharding, allowing more efficient executions leveraging the BEAM architecture.

© HashMerge 2024