Apart from physical rewrites like caching or partitioning, and data representations discussed so far, there are several existing techniques for efficient data access in ML systems. These techniques bear strong similarity with corresponding data access methods in database systems, with the difference of focusing on dense and sparse matrices or tensors, as well as specific access patterns of ML workloads. In this chapter, we survey existing techniques for caching and buffer pool management (what to keep in memory), compression and data types (how to represent the data), Non-Uniform Memory Access (NUMA)-aware partitioning and replication (where to place the data), index structures (how to access the data), as well as side effects between these techniques.
更多
查看译文
关键词
Main Memory Databases,Storage Systems,Column-oriented Database Systems,Data Stream Management,Task Scheduling