Cost Analysis of Serpentine Tape Data Placement Techniques in Support of Continuous Media Display

Similar documents
Analysis of Retrieval of Multimedia Data Stored on Magnetic Tape

A COMPARATIVE ANALYSIS OF TAPE TECHNOLOGIES FOR MID-RANGE SYSTEMS AND SERVER APPLICATIONS

A variable bandwidth broadcasting protocol for video-on-demand

Combining Pay-Per-View and Video-on-Demand Services

Improving Bandwidth Efficiency on Video-on-Demand Servers y

An Efficient Implementation of Interactive Video-on-Demand

8 Concluding Remarks. random disk head seeks, it requires only small. buered in RAM. helped us understand details about MPEG.

AE16 DIGITAL AUDIO WORKSTATIONS

Network. Decoder. Display

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Pattern Smoothing for Compressed Video Transmission

HELICAL SCAN TECHNOLOGY: ADVANCEMENT BY DESIGN

On the Characterization of Distributed Virtual Environment Systems

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

DELTA MODULATION AND DPCM CODING OF COLOR SIGNALS

Understanding FICON Channel Path Metrics

Implementation of MPEG-2 Trick Modes

A Low Power Delay Buffer Using Gated Driver Tree

Achieving Faster Time to Tapeout with In-Design, Signoff-Quality Metal Fill

AUDIOVISUAL COMMUNICATION

Supporting Random Access on Real-time. Retrieval of Digital Continuous Media. Jonathan C.L. Liu, David H.C. Du and James A.

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Interframe Bus Encoding Technique for Low Power Video Compression

Retiming Sequential Circuits for Low Power

Practical Application of the Phased-Array Technology with Paint-Brush Evaluation for Seamless-Tube Testing

Skip Length and Inter-Starvation Distance as a Combined Metric to Assess the Quality of Transmitted Video

VVD: VCR operations for Video on Demand

Stream Conversion to Support Interactive Playout of. Videos in a Client Station. Ming-Syan Chen and Dilip D. Kandlur. IBM Research Division

Processor time 9 Used memory 9. Lost video frames 11 Storage buffer 11 Received rate 11

HEBS: Histogram Equalization for Backlight Scaling

What really changes with Category 6

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab


Gated Driver Tree Based Power Optimized Multi-Bit Flip-Flops

A Dynamic Heuristic Broadcasting Protocol for Video-on-Demand

Video-on-demand broadcasting protocols. Jukka Leveelahti Tik Multimedia Communications

SECONDARY STORAGE DEVICES: MAGNETIC TAPES AND CD-ROM

Music Radar: A Web-based Query by Humming System

Scan. This is a sample of the first 15 pages of the Scan chapter.

FLEXIBLE SWITCHING AND EDITING OF MPEG-2 VIDEO BITSTREAMS

Using Embedded Dynamic Random Access Memory to Reduce Energy Consumption of Magnetic Recording Read Channel

Quantify. The Subjective. PQM: A New Quantitative Tool for Evaluating Display Design Options

CHARACTERIZATION OF END-TO-END DELAYS IN HEAD-MOUNTED DISPLAY SYSTEMS

Bridging the Gap Between CBR and VBR for H264 Standard

A low-power portable H.264/AVC decoder using elastic pipeline

Automatic Commercial Monitoring for TV Broadcasting Using Audio Fingerprinting

PRACTICAL APPLICATION OF THE PHASED-ARRAY TECHNOLOGY WITH PAINT-BRUSH EVALUATION FOR SEAMLESS-TUBE TESTING

Reducing False Positives in Video Shot Detection

Design of Fault Coverage Test Pattern Generator Using LFSR

ESE (ESE534): Computer Organization. Last Time. Today. Last Time. Align Data / Balance Paths. Retiming in the Large

Understanding Compression Technologies for HD and Megapixel Surveillance

Sharif University of Technology. SoC: Introduction

Frame Processing Time Deviations in Video Processors

Implementation of an MPEG Codec on the Tilera TM 64 Processor

Set-Top-Box Pilot and Market Assessment

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

Audio Compression Technology for Voice Transmission

NTSC/PAL. Network Interface Board for MPEG IMX TM. VTRs BKMW-E2000 TM

Improving Video-on-Demand Server Efficiency Through Stream Tapping

WHAT IS THE FUTURE OF TAPE TECHNOLOGY FOR DATA STORAGE AND MANAGEMENT?

CHAPTER 2 SUBCHANNEL POWER CONTROL THROUGH WEIGHTING COEFFICIENT METHOD

administration access control A security feature that determines who can edit the configuration settings for a given Transmitter.

Understanding and Calculating Probability of Intercept

ALONG with the progressive device scaling, semiconductor

Improving Server Broadcast Efficiency through Better Utilization of Client Receiving Bandwidth

Investigation of Look-Up Table Based FPGAs Using Various IDCT Architectures

Data Storage and Manipulation

Tabbycat: an Inexpensive Scalable Server for Video-on-Demand

Application of A Disk Migration Module in Virtual Machine live Migration

from ocean to cloud ADAPTING THE C&A PROCESS FOR COHERENT TECHNOLOGY

An Interactive Broadcasting Protocol for Video-on-Demand

Liquid Mix Plug-in. User Guide FA

Seamless Workload Adaptive Broadcast

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

Agilent PN Time-Capture Capabilities of the Agilent Series Vector Signal Analyzers Product Note

A Video Frame Dropping Mechanism based on Audio Perception

Powerful Software Tools and Methods to Accelerate Test Program Development A Test Systems Strategies, Inc. (TSSI) White Paper.

EFFECT OF REPETITION OF STANDARD AND COMPARISON TONES ON RECOGNITION MEMORY FOR PITCH '

16.5 Media-on-Demand (MOD)

TEPZZ 996Z 5A_T EP A1 (19) (11) EP A1 (12) EUROPEAN PATENT APPLICATION. (51) Int Cl.: G06F 3/06 ( )

An optimal broadcasting protocol for mobile video-on-demand

Techniques for Extending Real-Time Oscilloscope Bandwidth

A Fast Alignment Scheme for Automatic OCR Evaluation of Books

Solutions to Embedded System Design Challenges Part II

SWITCHED INFINITY: SUPPORTING AN INFINITE HD LINEUP WITH SDV

HIGH SPEED ASYNCHRONOUS DATA MULTIPLEXER/ DEMULTIPLEXER FOR HIGH DENSITY DIGITAL RECORDERS

Supervision of Analogue Signal Paths in Legacy Media Migration Processes using Digital Signal Processing

Design Project: Designing a Viterbi Decoder (PART I)

Overview of All Pixel Circuits for Active Matrix Organic Light Emitting Diode (AMOLED)

A CYCLES/MB H.264/AVC MOTION COMPENSATION ARCHITECTURE FOR QUAD-HD APPLICATIONS

Chapter 10 Basic Video Compression Techniques

II. SYSTEM MODEL In a single cell, an access point and multiple wireless terminals are located. We only consider the downlink

802.11ac Channel Planning

Analysis of Video Transmission over Lossy Channels

A HIGHLY INTERACTIVE SYSTEM FOR PROCESSING LARGE VOLUMES OF ULTRASONIC TESTING DATA. H. L. Grothues, R. H. Peterson, D. R. Hamlin, K. s.

Color Quantization of Compressed Video Sequences. Wan-Fung Cheung, and Yuk-Hee Chan, Member, IEEE 1 CSVT

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

1.1 What is CiteScore? Why don t you include articles-in-press in CiteScore? Why don t you include abstracts in CiteScore?

IP TV Bandwidth Demand: Multicast and Channel Surfing

Dual-V DD and Input Reordering for Reduced Delay and Subthreshold Leakage in Pass Transistor Logic

Transcription:

c Springer-Verlag. Published in the Proceedings of the 10 th International Conference on Computing and Information (ICCI 2000), November 18-21, 2000, Kuwait. Cost Analysis of Serpentine Tape Data Placement Techniques in Support of Continuous Media Display Ali Esmail Dashti 1, Cyrus Shahabi 2, and Roger Zimmermann 2 1 Computer Enigineering Department Kuwait University P.O. Box 5969 Safat 13060, State of Kuwait dashti@eng.kuniv.edu.kw 2 Computer Science Department & Integrated Media Systems Center University of Southern California Los Angeles, California 90089, USA [cshahabi,rzimmerm]@cs.usc.edu Abstract. Due to the information explosion we are witnessing, a growing number of applications store, maintain, and retrieve large volumes of continuous media (CM) data, where the data is required to be available online or near-online. These data repositories are implemented using hierarchical storage structures (HSS). One of the components of HSS is tertiary storage, which provides a cost-effective storage for the vast amount of data manipulated by these applications. However, it is crucial that the 3-4 orders of magnitude difference in access time between the tertiary storage and the secondary storage be bridged to allow online or near-online access to the tertiary resident data. This wide accessgap is mainly due to: the sequential nature of the most popular tertiary technologies (i.e., tapes) and the low number of drives per media in tertiary storage juke boxes. In this paper, we investigate the performance and cost effectiveness of three data placement techniques for serpentine tapes, in the context of CM servers, namely: 1) contiguous placement with track sharing (CP w/ sharing), 2) contiguous placement without track sharing (CP w/o sharing), and 3) Wrap ARound data Placement (WARP). We focus on tape technology because it provide the most cost effective storage for very large databases, and more specifically on serpentine tapes because they are increasingly the technology of choice for mid-range and high-end systems. We have implemented these techniques on an IBM 3590 tape drive, and compared their performances and cost effectiveness, where we use initial latency (T Latency) as the performance metric and cost per MB (Cost MB) as the cost effectiveness metric. 1 Introduction With current technological advances in computer graphics and animation, highspeed networking, signal and image processing, and multimedia information systems, it is now feasible to immerse a person into a virtual environment. An obvious application for immersive environments is for people to interact, communicate and collaborate naturally in a virtual space while they are actually

2 Ali E. Dashti et al. residing in different physical locations. One of the challenges of such an environment is to provide cost effective storage and retrieval of the large number of continuous media CM objects generated during multiple immersive sessions. The size of these CM data repositories are expected to grow rapidly in the coming years due to the large size of CM data objects. Storing 1000 s of hours of video will easily consume terabytes (and possibly petabytes) of storage. The rapid progress in mass storage technology (i.e., capacity) is enabling designers to implement these large data repositories using hierarchical storage structures (HSS), where a HSS consists of a number of fast (expensive) and slow (cheap) storage devices. For example, a typical three-level hierarchy might consist of a tape juke box with several read/write devices, a number of magnetic disks, and some memory [7]. A copy of the data resides on the tape juke box on a permanent basis. The magnetic disk space is used to maintain the working set [5] (locality) of the target application, i.e., those objects that are repeatedly accessed during a pre-specified window of time. The memory maintains pages of the files that might pertain to either traditional data or multimedia data. The reason for expecting HSS is the cost of storage. It is economical to store the data at the different levels of the hierarchy in the following manner: a small fraction of an object in main memory for immediate display, a number of frequently accessed objects on the disk drives, and the entire database on tape storage devices, see [7, 3] for a detailed discussion on system configuration issues. Similar to magnetic disks, tape juke boxes are mechanical devices. However, the characteristics of a tape juke box is different from that of a disk drive [1]. The typical access time to data with a magnetic disk drive is in the order of milliseconds, whereas with a tape juke box, due to the overhead of mounting and dismounting tapes from the drives and its sequential nature, latency times in the order of seconds (minutes) are common. To allow for online or near-online access to tape resident data, it is necessary to bridge the 3-4 orders of magnitude access-gap between disks and tapes. For example, users cannot tolerate long initial latency, T Latency (i.e., the time elapsed from when the request arrives until the onset of its display). In this paper, we introduce a novel data placement technique to improve the latency time to tape resident data, and we compare its performance (i.e., T Latency ) and cost effectiveness (i.e., cost per MB) with two traditional data placement techniques, for a wide range of object sizes, database (repository) sizes, and tape subsystem bandwidth requirements. These techniques should be implemented as part of a hierarchical storage manager (HSM) or a file system to judicially apply the appropriate data placement technique for each object, according to the application requirements. 1.1 Proposed Solution One of the main design challenges of CM servers is to guarantee continuous display at a minimum cost. To support continuous display, it is necessary to retrieve and display data at a pre-specified rate, otherwise, the display will suffer from frequent disruptions and delays, termed hiccups. To minimize the system cost, it is necessary to use the correct mixture of mass storage devices for a

Cost Analysis of Serpentine Tape Data Placement Techniques 3 given target application requirements, see [3] for details. For the past few years, techniques have been developed to support continuous display from disks, see [6, 10] for details. When considering a three level HSS, the tape storage system stores the CM repository in its entirety and it is used to display the infrequently accessed objects. Due to the long latency time associated with tape accesses and due to the mismatch between the tape production rate (i.e. transfer rate), D Tape, and the display consumption rate, C (i.e., Production Consumption Ratio [7], DT ape PCR = C ), it is necessary to: 1) use techniques to bridge the access gap, and 2) use techniques to guarantee a hiccup free display from tapes. In this paper, we focus on the former to improve the access time, T Access to tape resident data. In previous studies [8,7, 3], we focused on the latter to guarantee the continuous display from tapes. To bridge the access-gap between tape storage and disk storage, the following solutions have been proposed: 1) to overlap disk and tape operations, 2) to apply intelligent tape scheduling, 3) to reduce the miss ratio at the magnetic disk level, and/or 4) to use intelligent data placement on tape. We focus on data placement on tapes to reduce the access-gap, where the data placement techniques can be classified into the following schemes: prediction-based and retrieval-based. The former predicts the future access pattern by analyzing the past references, the characteristics of the data, and/or the association between different data objects. The latter analyses the characteristics of the data retrieval to match them with those of the tape devices. These techniques can be used to optimize data placement on a single tape cartridge (i.e., intra-media optimization) to reduce the reposition time, T Reposition, portion of the access time, T Access, and/or optimize data placement on all tape cartridges within a juke box (i.e., inter-media optimization) to reduce the switch time, T Switch, portion of T 1 Access. In either case, the optimization can be for space, time, or a combination of the two. In this paper, we compare the performance and the cost effectiveness of three intra-media retrieval-based data placement techniques: 1) contiguous data placement with track sharing (CP w/ sharing), 2) contiguous data placement without track sharing (CP w/o sharing), and 3) Wrap ARound data Placement (WARP). CP w/ sharing is usually the data placement of choice for tape resident data because of its high data packing characteristics (i.e., it optimizes for storage space), and CP w/o sharing is a modified version of the CP w/ sharing to improves T Reposition for certain types of retrieval behaviors. WARP is a novel data placement technique specifically designed for serpentine tape technology (e.g., IBM 3590 and Quantum DLT-7000) that minimizes the search time in a tape cartridge, and hence, improve the initial latency and effective bandwidth of tape drives. WARP trades space for time (i.e., it optimizes for time) and may improve the T Reposition by 1 order of magnitude, depending on the tape device specifications and object sizes. WARP optimizes data placement on a serpentine tape regardless of the retrieval order, and hence it is superior to prediction-based intra-media data placement techniques, on serpentine tapes. 1 Note: T Access = T Switch + T Reposition.

4 Ali E. Dashti et al. We are not aware of any work on intra-media retrieval-based data placement optimization to reduce access-time. This lack of attention is mainly attributed to the assumption that with tapes, positioning time between two logical locations is proportional to their sequential distance. Hence, the only data placement optimization can be based on placing the blocks that are predicted to be retrieved together on sequential locations that are close to each other. First, this assumption is not true for serpentine tapes. That is, although the reading of serpentine tapes is sequential, its read/write head follows a zig-zag movement sweeping the tape back and forth many times. For example, two locations might be far from each other in sequential distance, but close physically (by performing a trackswitch operation). Second, before ejecting a tape, the tape needs to be rewound to a load/unload position. Hence, a placement technique that leaves the head close to load/unload position after each object retrieval has merit. WARP exploits these characteristics of serpentine tapes to place the objects intelligently on a single tape in order to reduce the T Reposition portion of T Access (independent of the retrieval order of the objects). To analyze the performance and cost effectiveness of these data placement techniques, we implemented them using an IBM 3590 tape drive, housed in a 3494 tape library. The tape drive has a 9 MB/sec sustained data rate, and the tape cartridges have a 10 GB capacity. We evaluated these techniques under different object sizes and request behaviors. We have observed that WARP consistently incurs a shorter T Reposition as compared to the other techniques, under all test conditions. For example, when retrieving a single 2 GB object, we have observed that the average reposition times are as follows: 1) 11 seconds (using WARP), 2) 58 seconds (using CP w/ sharing), and 3) 29 seconds (using CP w/o sharing), and the worst access times are as follows: 1) 13 seconds (using WARP), 2) 93 seconds (using CP w/ sharing), and 3) 30 seconds (using CP w/o sharing). However, this improvement in T Reposition comes at an increased storage cost. In this case, WARP wastes approximately 600 MB of storage per 2 GB object (CP w/o sharing also wastes 600 MB per 2 GB object). To evaluate the effectiveness of WARP, we consider two metrics for evaluation: cost per MB (Cost MB ) and initial latency (T Latency ). We show that WARP consistently has a lower T Latency, i.e., 49% 69% reduction in T Latency, even though it increases the number of tape switches (T Switch ). However, Cost MB of WARP is sometimes higher and sometimes lower than the other techniques, depending on the application requirements (i.e., database size and tape bandwidth requirement). WARP for the most part is more expensive for small objects (i.e., objects 500 MB or smaller), while it is either cheaper or similar in price for large objects (i.e., objects 1.5 GB or larger). For medium sized objects (i.e., objects between 500MB and 1.5 GB), the difference between Cost MB for the different data placement techniques vary depending on the application requirements. The remainder of this paper is organized as follows. First, in Section 2, we review the tape storage systems characteristics. Section 3 presents three intramedia retrieval-based data placement techniques for serpentine tapes. Section 4 shows the performance results of our implementation on an IBM 3590 tape

Cost Analysis of Serpentine Tape Data Placement Techniques 5... Fig. 1. Serpentine tape track orientation drive. In Section 5, we present an analytical model for T Latency and Cost MB, and do a cost analysis using the results obtained in Section 4. Finally, in Section 6, we conclude and describe our future research. 2 Tape Storage Technology With serpentine recording, the data is placed in longitudinal tracks down the length of the tape, see Figure 1. The data is read by running the tape past a stationary recording assembly that contains the read/write head(s). If the number of read/write heads is smaller than the number of tracks (as is the case with most serpentine tapes) then at each pass only a portion of the tracks can be read, and multiple passes are required to read the tape in its entirety. (Note: large objects may occupy a number of tracks requiring multiple passes.) To optimize the read/write signal strength, the tape drive recording-assembly is moved slightly to establish exact track position for each tape pass, where the tape scans in forward direction for odd numbered tracks and in reverse direction for even numbered tracks. Examples of serpentine tape drives are: IBM 3590 and Quantum DLT7000. In this study, we model tape cartridges with the following parameters: 1) tape cartridge capacity (size), S c, 2) number of tracks per tape cartridge, N t, and 3) track size, S t = Sc N t (assuming that all tracks have the same capacity) 2. 4) data segment size, S s (note: a segment is similar to a block) 3, and 5) number of segments per track, N s = St S s (assuming that the track size, S t, is a multiple of segment size, S s ). We assume that the segment (block) number and the track number are required to fully qualify a tape location. It is straightforward to map from this convention to actual physical locations. The tape drive mechanism (including the load/unload mechanism and the recording assembly) is modeled with the following parameters: 1) number of read/write heads in the recording assembly, N r/w, 2) tape drive transfer rate, D Tape, 3) tape load/unload position, Pos, 4) maximum rewind time, T Rewind, 5) track switching time, T Track, and 6) tape search time, T Search (i, j). We assume T Search (i, j) to be a linear function of T Rewind and the number of segments on each track. This would generate a saw-tooth like search time for different locations. However, as shown in [9], the saw-tooth function contains a number of discontinuities. These discontinuities are due to the specific characteristics of tape devices and due to the different 2 This assumption is used only to simplify the discussion, and should not be viewed as a constraint. 3 This parameter does not restrict our tape model to only tape devices that can support fixed block sizes, rather, this is the read/write block size used by the application and used only for illustration purposes.

6 Ali E. Dashti et al. Object X Object Y (a) CP w/ sharing (b) CP w/o sharing (c) WARP Fig. 2. Data placement techniques transport mechanisms used in locating segments at different locations, see [4] for a detailed discussion. In this paper, we use these parameters to characterize the general behavior of tape drives and to illustrate various data placement techniques on serpentine tape devices. The actual characteristics of accesses for the different data placement techniques are verified by measuring the total search times, track switching times, and rewind time (if necessary). Moreover, these parameters can be modified if necessary to better fit a specific serpentine tape without impacting the proposed data placement techniques. If the tape cartridge that contains the referenced data is not loaded then it is necessary to find an idle tape drive onto which the tape cartridge is loaded. If the tape cartridge is in use by some other request and/or no tape drive is available then its is necessary to wait. In this study, we ignore the possibility that the tape cartridge and/or the tape drive are the bottlenecks. To load a tape cartridge, it requires unloading the tape from the idle drive and loading the tape with the referenced data. This time is termed the tape cartridge switch time, T Switch, and is constant in most cases. As we show in [4], WARP may increase the number of tape switches; however, WARP still improves the overall T Access. To retrieve an object from a loaded cartridge, two operations are performed: 1) tape and recording assembly are repositioned to the appropriate location(s), and 2) data is transferred from the tape. The first operation may consist of: a tape search time (T Search ), a number of track switches (T Track ), and/or a rewind at the end of the retrieval (if the tape is to be ejected). The total time spent in tape and recording assembly repositioning (i.e., T Search and T Track ) is referred to as repositioning time, T Reposition. We account for the fact that some retrieval behaviors require a rewind to Pos after reading an object (to prepare the tape for ejection), by adding this time to T Search. The total access time of an object, T Access, is the sum of T Switch and T Reposition (T Access = T Switch + T Reposition ). Assuming that the tape is operating in a streaming mode, the time required to complete the transfer operation, T Transfer, depends on the object size and the tape transfer rate, D Tape (T Transfer = O D T ape ). In this study, we focus on reducing the reposition time, T Reposition. 3 Data Placement Techniques We consider three data placement techniques: 1) contiguous placement with track sharing (CP w/ track-sharing), 2) contiguous placement without track sharing (CP w/o track-sharing), and 3) WARP. The first technique is a traditional data placement technique used for tapes. It places one object after the

Cost Analysis of Serpentine Tape Data Placement Techniques 7 other on a tape, and hence, multiple objects may share a track, see Figure 2(a). The number of tracks occupied (or partially occupied) by an object, t no, is a function of the position of the start of the object, its size, and track size. Here, to simplify the discussion, we assume t no to be only a function of the latter two terms, t no = O S t. The second technique is a modification of the first. It does not allow two objects to share the same track, see Figure 2(b). The objective of this technique is to improve the T Reposition for certain types of object retrievals, by eliminating the need to locate the first block of all objects on a tape after loading a tape cartridge. The third technique is a novel data placement technique. Its objective is to eliminate the search time almost completely by: 1) placing the object on even number of tracks, and 2) adjusting the amount of data on each track, such that every two tracks hold almost the same amount of data 4. These constraints will result in minimizing the distance between the head of the object (i.e., the first block) and its tail (i.e., the last block), see Figure 2(c). If the first block is placed on the load/unload position, P os, then the tape will be at P os at the end of each object retrieval. This is desirable since most drives require the tape to be positioned at Pos before unloading it. Moreover, by having the first and last blocks of all objects in Pos then very little T Reposition is incurred when retrieving multiple objects from the same tape cartridge. The latter two data placement techniques might require a larger number of tracks than t no, due to added restrictions on the start position of the object head. The number of tracks required by these techniques must be an even number, and hence, the number of tracks required, t no, is equal to t no, when t no is even, and it is equal to t no +1 otherwise. Table 1. Approximate reposition time, for P os = beginning T Repostion T Repostion SOR average worst CP w/ track sharing T Rewind + (t no 1)T Track 2T Rewind + t no T Track CP w/o track sharing 1 T 2 Rewind + (t no 1)T Track T Rewind + (t no 1)T Track WARP (t no 1)T Track (t no 1)T Track MOR average worst CP w/ track sharing 1 T 3 Rewind + (t no 1)T Track T Rewind + t no T Track CP w/o track sharing 1 T 2 Rewind + (t no 1)T Track T Rewind + (t no 1)T Track WARP (t no 1)T Track (t no 1)T Track Without loss of generality and to simplify the discussion, we assume a single read/write head per recording assembly, N r/w = 1, an object of size O to be placed on a tape, and Pos = beginning. To analyze the different data placement techniques, we assume two modes of retrieval: Single Object Retrieval (SOR), and Multiple Object Retrieval (MOR). With SOR, one object is read from a single tape, hence, we expect the T Reposition of each object to consist of a T Search from Pos to the beginning of the object, a number of track switches, and a rewind time from the end of the object to Pos. With MOR, multiple objects are read 4 The last restriction can be relaxed so that it applies to every two tracks.

8 Ali E. Dashti et al. from a single tape, hence, we expect the T Reposition to consist of a T Search from the end of the previously read object to the beginning of the requested object, and a number of track switches. By definition, CP w/ track-sharing optimizes for space, hence, no space is wasted per object. However, CP w/o track-sharing and WARP waste space due to the restrictions they impose on the placement of the head and the tail of the object. The approximate T Reposition varies for the above data placement techniques depending on the retrieval mode, as shown in Table 1, see [4] for details. 4 Performance Measurements To evaluate the performance of the data placement techniques presented in Section 4, we have implemented these techniques on an IBM 3590 tape drive (as described in Section 2), housed in an IBM 3494 tape library and connected to an IBM R/S 6000 workstation front-end. We opted to implement the techniques, rather than simply simulating the system, for the following two reasons. First, it is our experience that tape drive specifications do not report all necessary details and do not always match actual system performance. Second, we wanted to verify that WARP can be implemented and the performance gains are consistent with our predictions. The implementation of CP w/ sharing is straightforward. It requires us to write one object after another on the tape without paying attention to the characteristics of the tape being used. However, the implementation of the other two data placement techniques requires some information about the characteristics of the tape, such as: 1) the segments numbers at Pos (per track), and 2) siblings on different tracks. For the implementation of CP w/o sharing, we require item 1, while WARP requires the identification of both items. To evaluate the different placement techniques, we use single object retrieval (SOR), and multiple object retrieval (MOR), as described in Section 4. With SOR, we assume that a single object is requested from a loaded tape cartridge with the read/write heads at Pos, and it is necessary to rewind back to Pos after reading the object (to prepare the tape for ejection). We believe this is the most common mode of operation, when the disk cache absorbs most of hot objects (i.e., the locality of references). With MOR, we assume that there are 20 random requests to objects on a loaded tape, where a new request is generated immediately after serving the current request. In this mode of operation, it is not possible to use scheduling, because the queue contains at most one object. We have also assumed a situation where there are a small number of requests for a single tape, i.e., there are 3-4 requests pending for a number of objects on a tape cartridge. In this case, it is possible to use scheduling to reduce the average reposition time for the requests (see [4] for results on the scheduling case). For all the cases, we varied the object sizes from 200 MB up to 2.4 GB. Figure 3 compares the average reposition time for the three data placement techniques, with SOR. We observed that WARP constantly outperforms the

Cost Analysis of Serpentine Tape Data Placement Techniques 9 Reposition Time (sec) 80 70 CP w/ sharing CP w/o sharing 60 WARP 50 40 30 20 10 0.2.4.6.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 Object Size (GB) Fig. 3. Avg. reposition times of SOR for CP w/ sharing, CP w/o sharing, and WARP Reposition Time (sec) 120 100 CP w/ sharing (maximum, average, and minimum reposition times) 80 60 40 20 WARP s maximum reposition time 0.2.4.6.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 Object Size (GB) Fig. 4. Maximum, minimum, and average reposition times of SOR for CP w/ sharing and WARP s maximum reposition time across all objects other two data placement techniques. The average T Reposition is reduced by 71%- 84% (2.5-5 times improvement) as compared to CP w/ sharing, and is reduced by 5%-81% as compared to CP w/o sharing. Even though, the improvements over CP w/o sharing are not always significant, it is important to note that both WARP and CP w/o sharing waste the same amount of space. Therefore, WARP is always superior to CP w/o sharing, and hence we will not consider CP w/o sharing further. Figure 4 compares maximum, minimum, and average T Reposition for CP w/ sharing and WARP s maximum T Reposition observed across all object sizes, with SOR. We observe that WARP s worst case across all objects is higher than the minimum T Reposition of CP w/ sharing in only two cases (i.e., 200 MB and 2.1 GB object sizes). Another interesting observation is that the difference between maximum and minimum T Reposition decreases as object size increases from 200 MB - 1.3 GB, and then it increases for objects larger than 1.3 GB. This phenomena is due to the interaction between the object size and the IBM 3590 tape track size. For object size of 1.3 GB, each object occupies a single track,

10 Ali E. Dashti et al. Reposition Time (sec) 35 CP w/ sharing 30 WARP 25 20 15 10 5 0.2.4.6.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 Object Size (GB) Fig. 5. Average reposition times of MOR for CP w/ sharing, and WARP Reposition Time (sec) 70 60 CP w/ sharing (maximum, average, and minimum reposition times) 50 40 30 20 10 WARP s maximum reposition time 0.2.4.6.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 Object Size (GB) Fig. 6. Maximum, minimum, and average reposition times of MOR for CP w/ sharing and WARP s maximum reposition time across all objects and hence, either the head of the object is close to Pos and its tail far from it, or the head is far from Pos and its tail close to it. Figure 5 compares the average T Reposition for CP w/ sharing and WARP, with MOR. Again, WARP consistently has a lower T Reposition than that of CP w/ sharing. The average T Reposition is reduced by 57%-81%. Again, in Figure 6, we compare the maximum, minimum, and average T Reposition for CP w/ sharing and WARP s maximum T Reposition observed across all objects, with MOR. In this case, the minimum T Reposition of CP w/ sharing is lower than WARP s worst case for almost all object sizes. This is due to the fact that in the best case, for CP w/ sharing, the head of the next object is adjacent (or very close) to the tail of the previously read object, and hence, only a short repositioning is necessary. We compare WARP s worst case with the maximum, minimum, and average cases of CP w/ sharing (for both SOR and MOR) to show the effectiveness of WARP under all conditions. We did not show the the maximum, the minimum, and the average T Reposition of WARP, due to the small differences between them. We have observed that the difference between maximum and minimum

Cost Analysis of Serpentine Tape Data Placement Techniques 11 Reposition Time (sec) 50 45 40 CP w/ sharing (maximum, average, and minimum reposition times) WARP 35 30 25 20 15 10 5 0.2.4.6.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 Object Size (GB) Fig. 7. Comparison of WARP average reposition time and CP w/ sharing s best, worst, and average reposition times (with scheduling) T Reposition for WARP (for all object sizes) to be between 2.93 and 3.36 seconds (with MOR) and 4.15 and 4.23 seconds (with SOR). This low variance between the best, the worst, and the average T Reposition allows for a priori prediction of the access behavior, which is ideal for CM servers due to the real-time characteristic of CM. 5 Cost Analysis Obviously, WARP trades space for time, and due to this wasted space the improvement in T Reposition might not always be justified. This waste in storage space might result in: 1) higher number of tape switches (which in turn might lead to a higher T Access ), and 2) higher Cost MB. We now describe an analytical model to calculate the performance (T Latency ) and the cost effectiveness (Cost MB ) of the data placement techniques. We use two metrics to compare WARP and CP w/ sharing: 1) average initial latency when accessing tape resident objects (T Latency ), 2) cost per MB of storage (Cost MB ). The Cost MB metric describes how economical the tape subsystem is in supporting the application database size, DB, and the application bandwidth requirements, Band Requirement. The T Latency metric is the average wait time before servicing a user request, when the referenced object is tape resident. By using pipelining for CM data, the initial latency becomes the tape access time, T Access, and the time necessary to retrieve the first portion of the CM object. When PCR 1, we can assume that T Latency T Access, otherwise, T Latency = T Access + (1 PCR) O D T ape, see [7] for details. The Cost MB depends on the tape subsystem cost, Cost Tape and the database CostT ape size DB (Cost MB = DB ). The Cost Tape consists of: 1) tape storage cost, Cost Storage (i.e., tape media cost), 2) tape bandwidth cost, Cost Bandwidth, and 3) tape library cost. The tape library cost is directly proportional to the num-

12 Ali E. Dashti et al. ber of tape cartridges, tape drives, and robot arms. We assume that the tape library cost is embedded into the tape cartridge and tape drive costs, and hence, Cost Tape is: Cost Tape = Cost Storage + Cost Bandwidth. (1) The Cost Storage is the cost of the cartridges (media) necessary to hold the database in its entirety, and it depends on the database size DB, the effectiveness of the data placement technique to pack the objects onto a tape cartridge, and the tape cartridge cost Cost Cartridge. Obviously, WARP wastes storage space to improve T Reposition. The amount of space wasted per object with WARP is: waste = t no S t O, (2) where 5 O is the object size and S t is the track size. CP w/ sharing does not waste space per object, however, some space might be wasted per tape due to the intra-tape fragmentation. The Cost Storage depends on the number of cartridges required to hold the database, DB. With WARP, the Cost Storage is: DB O Cost Storage (WARP) = Cost Cartridge. (3) Nt t o n In Equation 3, the first term is the number of tape cartridges necessary to hold the database of size DB and object sizes of O, given tape cartridge specification. The number of objects that can be stored on a tape cartridge depends on the number of tracks on a tape cartridge, and the number of tracks required by each object (which depends on the track size and object size), and as the number of track density increases then the cost of implementing WARP decreases. With CP w/ sharing, the total tape storage cost is: DB O Cost Storage (CPw/sharing) = SC O Cost Cartridge. (4) In this case, the number of objects that can be stored on tape is directly proportional to the tape cartridge size and the object size. The Cost Bandwidth depends on: 1) the bandwidth requirement of the application, Band Requirement, 2) the effective bandwidth of a tape drive, Band Effective, and 3) the tape drive cost, Cost Drive : BandRequirement Cost Bandwidth = Cost Drive. (5) Band Effective In Equation 5, the first term is the number of drives necessary to support the Band Requirement, where the Band Requirement is dictated by the configuration planner or the system administrator. The Band Effective depends on the effectiveness of the data placement technique in reducing T Access : Band Effective = 5 We assume equi-seized objects to simplify the discussion. O T Access + O D T. (6)

Cost Analysis of Serpentine Tape Data Placement Techniques 13 Depending on the application requirement, it is possible to use the maximum (worst case), minimum (best case), or average T Access when calculating the Band Effective. Here, we will consider the average case. The average T Access depends on the portion of requests serviced as MOR and SOR: T Access = p T MOR Reposition + (1 p) (T SOR Reposition + T Switch ), (7) where p is the probability of servicing the request as MOR, and TReposition MOR and TReposition SOR are the reposition times observed when servicing requests as MOR and SOR respectively. The probability p of servicing a request as MOR depends on: 1) the expected access distribution of references to tapes, 2) number of tapes, and 3) number of objects per tape. In [2], it was shown that the frequency of access to different clips (objects) is usually quite skewed for a CM system, i.e., a few number of objects are very popular while most of the rest are accessed infrequently. Furthermore, the set of popular objects may change over the course of a day. The access distribution pattern can be modeled using Zipf s law [11], which defines the access frequency of objects i to be F(i) = c i, where c is a normalization 1 d constant and d controls how quickly the access frequency drops off. We expect the disk cache to support the display of the popular objects, while the tape subsystem supports the display of the infrequently accessed objects. Therefore, the tape storage system services the tail-end of the Zipf distribution, which can be approximated as a uniform access distribution. In case of CP w/ sharing, the number of tapes to hold the database and number of objects per tape are: DB O / SC O and SC O respectively. In case of WARP, the number of tapes to hold the database and number of objects per tape are: DB Nt Nt O / t no and t no respectively. Assuming a uniform access distribution, then the probability of requesting an object from a loaded tape is for CP w/ sharing, and for WARP. SC O p(cp w/sharing) = DB O / (8) SC O, p(warp) = Nt t o n DB (9) Nt O / t o n 6 Conclusion and Future Research Directions In this paper, we do not advocate increasing the number of references to the tape resident data, rather, we advocate the use of data placement to improve the T Access to tape resident data. We investigated the performance and cost effectiveness of a novel data placement technique for serpentine tapes, termed WARP, and two traditional data placement techniques, in the context of CM servers using tape systems with IBM 3590 tape drives. We observed 49%-69% (1.96-3.23

14 Ali E. Dashti et al. times) reduction (improvement) in T Latency, when using WARP. Moreover, the variance between the best, the worst, and the average T Reposition (and in turn T Latency ) is very small, allowing for a priori prediction of T Latency behavior for multimedia applications. However, Cost MB of WARP is sometimes higher and sometimes lower than that of CP w/ sharing, depending on the application requirements (i.e., database size and tape bandwidth requirement). WARP for the most part is more expensive for small objects (i.e., objects 500 MB or smaller), while it is either cheaper or similar in price for large objects (i.e., objects 1.5 GB or larger). For medium sized objects (i.e., objects between 500MB and 1.5 GB), the difference between Cost MB for the different data placement techniques vary depending on the application requirements. Using the two metrics, a hierarchical storage manager or a file system may judicially decide the appropriate placement technique, given the object size and application requirements. We intend to extend this work in two directions. First, we want to complete our experiments by evaluating WARP for DLT 7000 and SuperDLT tapes (here we expect an even better performance results due to the higher number of track groups) and possibly other serpentine tape drives. Second, we plan to combine some scheduling and inter-media data placement techniques with WARP to evaluate the access time in a tape storage system. References 1. M. Carey, L. Haas, and M. Livny. Tapes Hold Data, Too: Challenges of Tuples on Tertiary Storage. In Proceedings of the ACM SIGMOD International Conference on Management of Data, 1993. 2. A. Dan, D. Sitaram, and P. Shahabuddin. Scheduling Policies for an On-Demand Video Server with Batching. In Proceedings of the ACM Multimedia, 1994. 3. A. E. Dashti and S. Ghandeharizadeh. On Configuring Hierarchical Storage Structures. In Proceedings of the Joint NASA/IEEE Mass Storage Conference, 1998. 4. A. E. Dashti and C. Shahabi. Data Placement Techniques for Serpentine Tapes. Technical report-99-699 (http://www.usc.edu/dept/cs/technical reports.html), University of Southern California, 1999. 5. P. J. Denning. The Working Set Model for Program Behavior. Communications of the ACM, 11(5), 1968. 6. D. J. Gemmell, H. M. Vin, D. D. Kandlur, P. V. Rangan, and L. A. Rowe. Multimedia Storage Servers: A Tutorial. IEEE Computer, 28(5), May 1995. 7. S. Ghandeharizadeh, A. E. Dashti, and C. Shahabi. A Pipelining Mechanism to Minimize the Latency Time in Hierarchical Multimedia Storage Managers. Computer Communications, 18(3), 1995. 8. S. Ghandeharizadeh and C. Shahabi. On Multimedia Repositories, Personal Computers, and Hierarchical Storage Systems. In Proceedings of the ACM Multimedia, 1994. 9. B. Hillyer and A. Silberschatz. Random I/O Scheduling in Online Tertiary Storage Systems. In Proceedings of the ACM SIGMOD International Conference on Management of Data, 1996. 10. R. Zimmermann and S. Ghandeharizadeh. Continuous Display Using Heterogeneous Disk-Subsystems. In Proceedings of the ACM Multimedia, 1997. 11. G. K. Zipf. Human Behavior and the Principle of Least Effort. Addison-Wesley, Reading MA, 1949.