Advanced Parallel Programming
Overview of Parallel IO
1
Programming Overview of Parallel IO 1 ARCHER Training Courses - - PowerPoint PPT Presentation
Advanced Parallel Programming Overview of Parallel IO 1 ARCHER Training Courses Sponsors Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License.
Overview of Parallel IO
1
Sponsors
This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_US
This means you are free to copy and redistribute the material and adapt and build on the material under the following terms: You must give appropriate credit, provide a link to the license and indicate if changes were made. If you adapt or build on the material you must distribute your work under the same license as the original. Note that this presentation contains images owned by others. Please seek their permission before reusing these images.
3
4
5
6
7
Disk block 0 Disk block 1 Disk block 2 Process 0 Process 1 Disk cache Disk cache File
8
9
10
Single logical user file e.g.
/work/y02/y02/ted
OS/file-system automatically divides the file into stripes Stripes read/written to/from their assigned OST Lustre’s performance comes from striping files over multiple OSTs
– increases bandwidth
– not for latency – e.g. reading/writing small amounts of data is very inefficient
– need some kind of higher level abstraction – allow user to focus on data layout across user processes – don’t want to worry about how file is split across IO servers
11
12
1 2 3 4 Parallel Data File
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4
begin serial region
write x to the file close the file end serial region
13
14
15
9 10 13 14
data1.dat data2.dat data3.dat data4.dat write
1 2 3 4 5 6 7 8 11 12 15 16 1 2 5 6 3 4 7 8 9 10 13 14 11 12 15 16
newdata4.dat newdata3.dat newdata2.dat newdata1.dat read
1 3 9 11 2 4 10 12 5 7 13 15 14 16 6 8
reorder
16
machine?
17
1 8
2 x OSSs and 8 x OSTs (Object Storage Targets)
and RAID engine
RAID6 array
SSU: Scalable Storage Unit MMU: Metadata Management Unit
Lustre MetaData Server
Multiple SSUs are combined to form storage racks
/fs2 6 SSUs 12 OSSs 48 OSTs 480 HDDs 4TB per HDD 1.4 PB Total
/fs3
6 SSUs 12 OSSs 48 OSTs 480 HDDs 4TB per HDD 1.4 PB Total
/fs4
7 SSUs 14 OSSs 56 OSTs 560 HDDs 4TB per HDD 1.6 PB Total
Infiniband Network Connected to the Cray XC30 via LNET router service nodes.
19
programmer!
arranged in a 2D grid
20
21
1 2 3 4 1 2 3 4 1 2 3 1 2 3 4
Process 4 Process 2 Process 1 Process 3
4 9 10 13 14 1 2 3 4 5 6 7 8 11 12 15 16
22
global array it holds
information
23
24
1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 3 9 10 13 14 1 2 3 4 5 6 7 8 11 12 15 16
25