NDS: N-Dimensional Storage
Team - sleep(10);
Mahendra Patel
203050078
1
Outline
2
3
INTRODUCTION
Multi-dimensional storage
4
Overview
5
I perform best at [mxn]
I have N parallel channels so I can service N parallel request
But I don't how to optimally marshal and unmarshal high-dimensional object and store it in SSD
But I don't know the exact architecture of accelerator or storage device
I am sorry application but you need to it yourself
6
NDS
Application-defined Multi-dimensional Memory/Storage Abstraction
7
Accessing a submatrix from SSD
8
9
Problems
10
Execution time of matrix multiplication
11
Problems
12
13
Problems
14
15
This problem will increase with increase in number of channels in device.
Execution time of matrix multiplication
16
Challenges
17
18
18
?
I don’t know about internal device structure
Also due to function like garbage collection and wear-level functions in the SSD, can lead to data-location shuffling.
Challenges
19
row-oriented pair-wise matrix can maximize GPU computation, but cannot be efficient for matrix-multiplication kernels.
Optimal Dimensionality of different devices
20
Challenges
21
kernel worked best on 512×512 submatrices, but the bandwidth for the consumer SSD is maximized if each I/O request fetches 16K×16K submatrices.
22
NDS
23
NDS
24
NDS
25
NDS
26
NDS
27
NDS
28
NDS
29
NDS
30
Accessing a submatrix from NDS
31
STL - Space translation layer
32
Locating and allocating building blocks
33
structure for each N-D space to locate a building block.
System implementations
34
Evaluation
35
Row access
36
Column access
37
Sub-matrices access
38
End-to-end application latency
39
Conclusion
40
Reference
41
Thank you
Any questions?
42