SDM-Center talk Optimizing shared access Optimizing shared access to tertiary storage to tertiary storage Arie Shoshani Arie Shoshani Alex Sim Alex Sim July 10, 2001 July 10, 2001 Scientific Data Management Group Scientific Data Management Group Computing Science Directorate Computing Science Directorate Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory
35
Embed
Optimizing shared access to tertiary storage Arie Shoshani Alex Sim July 10, 2001
Optimizing shared access to tertiary storage Arie Shoshani Alex Sim July 10, 2001 Scientific Data Management Group Computing Science Directorate Lawrence Berkeley National Laboratory. Outline. Short High Energy Physics overview (of data handling problem) - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
-- The index will generate a set of bundles {[F7, F16: E4,E17,E44], [F13, F16: E6,E8,E32], …}
that the query needs
-- The bundles can be returned to the application in any order
-- Bundle: the set of files that need to be in cache at the same time
SDM-Center talk
File Weight Policy for ManagingFile Bundles
• File weight (bundle) = 1 if it appears in a bundle, = 0 otherwise
• Initial file weight = SUM (all bundles for each query) over all queries
• Example:— query 1: file FK appears is 5 bundles
— query 2: file FK appears is 3 bundles
Then, IFW (FK) = 8
queriesinbundlesall
jbundleinisFifotherwiseij
queriesall
i j
kkk FWFIFW 1
0{)()(
SDM-Center talk
File Weight Policy for ManagingFile Bundles (cont’d)
•Dynamic file weight: the file weight for a file in a bundle that was processed is decremented by 1
• Dynamic Bundle Weight
queriesin
bundlesprocessed
jbundleinisFifotherwiseij
queriesall
i j
kkkk FWFIFWFDFW 1
0{)()()(
ibundlein
filesall
kkFDFWBiDBW )()(
SDM-Center talk
How file weights are usedfor caching and purging
• Bundle caching policy— For each query, in turn, cache the bundle
with the most files in cache— In case of a tie, select the bundle with the
highest weight— Ensures that a bundle that include files
needed by other bundles/queries have priority• File purging policy
— No file purging occurs till space is needed— Purge file not in use with smallest weight— Ensures that files needed in other bundles
stay in cache
SDM-Center talk
Other policies
• Pre-fetching policy— queries can request pre-fetching of bundles
subject to a limit— Currently, limit set to two bundles— multiple pre-fetching useful for parallel
processing• Query service policy
— queries serviced in Round Robin fashion— queries that have all their bundles cached
and are still processing are skipped
SDM-Center talk
Managing the queues
.
.
....
.
.
.
.
.
.
.
.
.
QueryQueue
BundleSet
FileSet
FilesBeing
Processed
Filesin Cache
SDM-Center talk
File Tracking of Bundles
Query 1starts here
Query 2starts here
Bundle wasfound in cache
Bundle sharedby two queries
Bundle (3 files)formed, then
passed to query
SDM-Center talk
Summary
• The key to managing bundle caching and purging policies is weight assignment— caching - based on bundle weight— purging - based on file weight
• Other file weight policies are possible— e.g. based on bundle size— e.g. based on tape sharing
• Proving which policy is best - a hard problem— can test in real system - expensive, need stand alone— simulation - too many parameters in query profile can
vary: processing time, inter-arrival time, number of drive, size of cache, etc.
— model with a system of queues - hard to model policies— we are working on last two methods
SDM-Center talk
Read files from same tape when possible
SDM-Center talk
Queuing File Transfers
• Number of PFTPs to HPSS are limited— limit set by a parameter - NoPFTP— parameter can be changed dynamically
• HRM is multi-threaded— issues and monitors multiple PFTPs in parallel
• All requests beyond PFTP limit are queued• File Catalog used to provide for each file
— HPSS path/file_name— Disk cache path/file_name— File size— tape ID
SDM-Center talk
File Queue Management
• Goal— minimize tape mounts— still respect the order of requests— do not postpone unpopular tapes forever
• File clustering parameter - FCP
— If the file at top of queue is in Tapei
and FCP > 1 (e.g. 4) then up to 4 files from Tapei will be selected to be transferred next
— then, go back to file at top of queue• Parameter can be set dynamically
F1(Ti)
F3(Ti)
F2(Ti)
F4(Ti)
1
2
3
4
5
Orderof fileservice
SDM-Center talk
File Caching Order fordifferent File Clustering Parameters
— HPSS error (I/O, device busy)• remove part of file from cache, re-queue• try n times (e.g. 3), then return error
“transfer_failed”
— HPSS down• re-queue request, try repeatedly till successful• respond to File_status request with “HPSS_down”
SDM-Center talk
Summary
• Heirarchical Resource Manager— insulates applications from transient
HPSS and network errors— limits concurrent PFTPs to HPSS— manages queue to minimize tape mounts— provides file/query time estimates— handles errors in a generic way
• Same API can be used for any MSS, suchas Unitree, Enstore, Castor, etc.
SDM-Center talk
Future Plans
• Package the HRM (CORBA, APIs)• Dynamic file catalog Capability
— Interface HRM to HSI eliminating the need for a file catalog
• Expand use of HRM to include “write capability”• Build upon results of Probe project
— Large block size, tape striping• Provide hints to MPI-IO module• Apply to HENP experiments – initially STAR• Work with PPDG collaboration pilot (SciDAC)• Perform research on “object granularity caching”