Optimisation of Data Access in Grid Environment

advertisement
Optimisation of Data Access in
Grid Environment*
Darin Nikolow1
Łukasz Dutka1
Piotr Nyczyk1
Renata Słota1
Jacek Kitowski12
Mariusz Dziewierz1
1Institute of
Computer Science - AGH
2Academic Computer Centre CYFRONET - AGH
University of Mining and Metallurgy, Cracow, Poland
*CrossGrid Project - Task 3.4
Cracow Grid Workshop, Nov.5-6, 2001
Outline



Background
Bottom-top approach
Media management software
– middleware for existing HSM
– dedicated VTSS


Local component-expert systems
Global policy for migration/replication
FOR MORE INFO...
http://www.icsr.agh.edu.pl/
Motivation




Big and growing stuff of data
Multimedia database systems (applications - medical, educational,
virtual reality, virtual laboratories, digital libraries, advanced
simulations, ...)
Solution: Tertiary Storage Systems (TSS) = Media Libraries +
Management Software
Examples of existing TSS:
• HPSS, DataCutter, APRIL, Condor, OmniStore, UniTree, ......

Possible directions
–
–
–
–
Data access time estimation system - efficient usage
Data distribution and grid implementation - large scale experiments
Expert system for data management
Replication policies
Background

PARMED Project
Client
Client
Client
(Uni. of Klagenfurt - Uni. of Mining
& Metall. Cracow)
Site 1
Video Server
Video Server
d2
Site 2
Client
Client
Client
Storage Server
– to support physicians
with telematic services
for:
• long distance collaboration
of medical centers,
• medical teleeducation
• case archives
d1
a2
a1
r2
r1
Meta-Database
WAN
a3
Client
Client
Client
r3
Site 3
Storage Server
Client
Client
Client
d3
Site 4
Disk Server
Media Management Software
and its usage in X#
Darin Nikolow
darin@uci.agh.edu.pl
Motivation

Main purpose of the developed TSS:
efficient index-based retrieving of video fragments (instead of file fragments)
– specific requirements for frequent data reading
• startup latency
• transfer time
• minimal transfer rate > video bitrate

Two prototypes proposed and benchmarked
– middleware layer for existing HSM
– dedicated TSS

The developed systems are of general use -> possible grid implementations
Multimedia Storage and Retrieval System (MMSRS)

Requirements
– use existing software (UniTree HSM)
– reduce latency (start-up delay), i.e. -reduce
file granularity
– file fragmentation (subfiles)

Implementation
– splitting files into pieces of similar size
Middleware layer on HSM
 Consists of:

– Automated Media Library
– UniTree HSM managing system
– MPEG extension for HSM (MEH)
MEH receives the name of video file and the
frame range - start/end frames
 output stream via HTTP

Video Tertiary Storage System (VTSS)

Repository Daemon
REPD
– keeps repository
information



Dedicated TSS
Client requests to VTSS can be of the following kinds:
Tertiary File Manager
Daemon TFMD
– manages:
filedb - tape ident
and startup position
of the fragment
tapedb - information
about tape usage
– write a new file to VTSS, read a file fragment from VTSS, delete a file from VTSS.

The fragment range is defined in the frame units

Two daemons implemented in C using Unix sockets
MMSRS and VTSS performance
DLT2000 DLT7000

Hardware (AML Quantum|ATL)
load time [s]
maximal position time[s]
transfer rate [MB/s]
– ATL 4/52 (DLT 2000)
– ATL 7100 (DLT 7000)
– HP D-class server (with UniTree HSM)

Data
– 790 MB MPEG1 file with B=0.4 MB/s bitrate (33 min.)
– subfile for MMSRS - 16 MB (8,16, 32 MB tested)
• as short as possible to keep reproducing smooth (low latency)
• “optimal” subfile length depends on
– positioning time
– drive transfer rate
– bitrate of the video file
60
120
1.25
37
120
5
Benchmarks
Startup latency - time elapsed from issuing the
request to receiving the first byte
 Transfer time - time from receiving the first byte
till the end of transmission
 Minimal rate - minimal transfer rate experienced
by a client with endless buffer (should be greater
than the bitrate of the video stream to have
smooth reproduction)

System performance for the whole
video file transfer (DLT2000)
UniTree MMSRS VTSS
startup latency [s]
718
90
70
transfer time [s]
135
710
617
avarege rate [MB/s]
5.85
1.11
1.17
total transfer time [s]
853
800
747
total throughput [MB/s] 0.93
0.99
1.06
Minimal transfer
rate
VTSS (DLT2000)
MMSRS (DLT2000)
For DLT2000:
– T = 10 GB
– N = 64
– Br = 0.4 MB/s
For DLT7000:
– T = 35 GB
– N = 52
– Br = 0.4 MB/s
Qdt = 400 s
Qdt = 1723 s
VTSS (DLT7000)
Access Time Estimation:
Motivation for X#
Retrieving a file from TSS could last few seconds
or few hours
 User’s satisfaction increases when the access
time of data is known (e.g. user waiting to watch
selected video; administrator recovering from
backup)
 Efficient use of storage resources in Grid
environment (data replication subsystem)

Access Time Estimation:
Approaches

Open TSS approach
• source code changes
• will be used as experimental platform

Black Box TSS approach for existing HSMs in X# sites
• retrieving TSS’s state info via its native tools and
available internal files
Access Time Estimation Black Box TSS Approach
events collecting
TSS
databases
Monitoring
tools
TSS
Monitor
logs
fileid [9]
conf. files
Disk cache
Needed info by Simulator:
nr of drives
tape labels
media types
position of file in media
nr of requests
...
data [10]
data [11]
update [4]
TSS state
[5]
TSS
Simulator
ETA [6]
fileid [2]
queue state [3]
Request
Monitor & Proxy feedback [12]
fileid [8] ETA [7]
Client
fileid ETA? [1]
Conclusions



MMSRS and VTSS more efficient than standard UniTree HSM
MMSRS efficient enough to be used as a middleware for existing
HSM of UniTree type (in X# sites)
Proposed measurements could be used for:
– building more sophisticated distributed storage systems (faster access to files
stored in TSS)
– building access time estimation subsystem

Access time estimation subsystem
--->>> an information provider
for X# replication and migration of data
http://www.icsr.agh.edu.pl/
Basics of Component-Expert
Technology and its usage in X#
Łukasz Dutka
dutka@agh.edu.pl
Classical component strategy
Component
UID1
Program
using component
technology
UID1
UID2
Get
(UID
1)
D3)
Get (UI
)
D3
I
t (U
e
G
Component
Managment
Subsystem
Search UIDx
component
Component
UID2
UID3
Component
UID3
Components container
Component-expert strategy
Get additional
informations
Rule-based
expert system
Ge
t
com inform
po
ne ation
nts
a
typ bout
e T all
IDx
Find
System
knowledge
database
Component
(TID3, SPECa)
Component type TID3
(TID2, Env3)
the b
est c
TIDx omponen
for E
t type
NVx
EN
V3
)
Ge
t(
TI
D2
,
(TID3, Env1)
Component
(TID2, SPECb)
Komponent type TID2
(TID2, Env2)
Get (TID1, ENV1)
2)
NV
E
2,
D
I
T
t(
1)
V
Ge
N
,E
3
D
TI
(
et
G
Component
(TID1, SPECa)
Components container
Components different types may have
the same specializations
(TID1, Env1)
Expert
Component
Management
Subsystem
Component type TID1
Program using
component-expert
technology
Component structure
A header which describe a
type and a specialization
A code of the component
Data stream
An input parameters
stream
An output parameters
stream
Component header structure
Type: Type_of_Component
Attribute_n = Value_n
Component
specialization
SPECx
Attribute_1 = Value_1
Attribute_2 = Value_2
.........................
(TIDx)
Code of the component
Structure of component code
service run( call-environment,
control-parameters)
{
service code
}
Data stream
An input parameters
stream
An output parameters
stream
Call-Environment
Describe state of the call
place
 Describe call place
requirements
 Caries information about
user or programmer
wishes
 Expert system
processes
Call-Environment and
finds best component for
given Call-Environment

Env1={Attribute_1=Value_1,
Attribute_2=Value_2,…., Attribute_k=Value_k}
Program using
component-expert
technology
Get (TID1, ENV1)
(TID1, Env1)
ID
Get (T
(TID2, Env2)
t
Ge
(TID3, Env1)
(TID2, Env3)
D
( TI
ID
(T
t
Ge
2, EN
3, E
2,
NV
V2 )
1)
)
V3
N
E
Expert
Component
Management
Subsystem
Rule-based
expert system
Env3={Attribute_2=Value_2,
Attribute_4=Value_4,…., Attribute_z=Value_z}
Expert Subsystem
Rule-based expert system
 Typical rule looks like

If log-expr Then action1 Else action2
The rules describe what is meant by: The
best component for given Call-Environment
 Expert system logs calls and stores deduction
results for further analysis

Profits from Component-Expert
technology







Dynamic expanding system possibility
Ease of solving new problems
Minimising programmer responsibility for component
choice
Ease of programming in heterogeneous environment
Maximal reusable of components
Internal simplicity of components code
Increase efficiency of programming process
Component-Expert Technology
for X# Task 3.4
Basic analysis of Data-access
problems in X#









Different data set types
Huge data files
Distributed environment
Long distance connections
Mission critical applications
Heterogeneous data storing systems
Heterogeneous computing systems
Open system
Unpredictable file types
Basic connection diagram
Sequence Diagram
Example of Component-Expert
technology usage for data access in X#

Sample Attributes
– User ID
– Computing Node ID
– Preferred replica
localisation
– Required throughput
– Application purpose
– Data sharing
– Critical level
– Replica expiration .....

Example of local decisions
– Devices choosing
(according to availability and
type)
– Storing format (blocks,
multimedia streams,......)
– Available delivering
performance (network,
storage devices,....)
– ... And much more ...
System Management for
Migration/Replication Strategies (2/2)
In cooperation with other projects
 High-level control system (e.g. cooperating with LDAP)
 Two possible realizations

– heuristic reinforcement learning based on heuristic strategies
for migration/replication and system state
– classical rule-based expert system
Conclusions
Some elements have been defined and
implemented
 Working on higher level structure and
cooperation with other X# modules and services

Related documents
Download