Active Storage Modern file systems such as PVFS



- Slides: 3
Active Storage • Modern file systems, such as PVFS and Lustre, use several general purpose servers with substantial CPU and memory resources. • Active Storage moves I/O-intensive tasks from the compute nodes to the storage nodes to profit their resources. Main benefits: • Local I/O operations, • Very low network traffic, • Better overall system performance. Active Storage enables scientific applications to exploit underutilized resources of storage nodes for computations involving data located in secondary storage An Active Storage System Parallel Filesystem's Clients Compute Node . . . Compute Node Network Interconnect Processing Component ASRF . . . Processing Component ASRF asmaster Data I/O Traffic Storage Node 0 Storage Node. N-1 Metadata Server Parallel Filesystem's Components (also clients of the filesystem)
Striped and net. CDF Files • Striped files broadly used for performance. • Many climate applications store data in net. CDF files. • Active Storage efficiently deals with both types of files: • Only storage nodes with relevant data run processing components. • Processing components only compute on local chunks. climate application Network Interconnect PC ASRF . . . ASRF asmaster Mapper (0, 2) Storage Node 0 Header Storage Node 1 Storage Node. N-1 Storage Node 2 Var. data . . . Var. data Metadata Server Striped net. CDF file Data I/O Traffic Active Storage efficiently deals with both striped and net. CDF files, eliminating > 95% of the network traffic
Processing of net. CDF files Experimental Results An Example of an Active Storage Rule <? xml version="1. 0"? > Non-striped output file <rule> /lustre/data. 37. out-ost 43 <stdfiles> <stdout>@. out-${NODENAME}</stdout> </stdfiles> <match> <pattern>/lustre/data. *</pattern> </match> Striping information of <program> /lustre/data. 37 <path arch="any">/lustre/processnetcdf. py</path> <arguments>@ ta</arguments> </program> <mapper> <path arch="any">/lustre/netcdfmapper. py</path> <arguments>@ ta ${CHUNKNUM} ${CHUNKSIZE}</arguments> </mapper> Variable name in /lustre/data. 37 the net. CDF file </rule>