we propose a scalable distributed multimedia server based on the Grid ..... a proxy-based Virtual Server (VS) as shown in Figure 2b. The Virtual Server is a proxy ...
A Scalable Grid-based Multimedia Server∗ Angelo Zaia, Dario Bruneo, Antonio Puliafito University of Messina, Italy azaia{dbruneo,apulia}@ingegneria.unime.it
Abstract Mobile devices are, at present, dramatically unhomogeneous for visualization and audio reproduction characteristics. Consequently, today multimedia delivery systems are very customized for some device profile or for wireless connection type. Transcoding techniques are used in order to adapt the same media source to the multiple hardware profiles. Client-based transcoding techniques show their weakness in energy consumption, and Server-based transcoding techniques suffer from scalability problems. In this paper we propose a scalable distributed multimedia server based on the Grid computing paradigm, which can adapt media content to the device profile and/or to the connection link.
1
Introduction
Nowadays users can access information anywhere and at any time, because of the diffusion of wireless mobile devices [1][2]. Thanks to the introduction of new microprocessors [3], mobile devices such as Cellular Phones, Laptops, Handheld and Tablet PCs are improving in power capacities, respecting their energy saving constrains. The Cellular and Smart Phones of the third generation allow users to access many multimedia services such as small video download and reproduction (e.g. Football Matches or Flash News). These services were usually customized by each network provider for specific devices’ characteristics. Laptop, Handheld and Tablet PCs are able to access multimedia contents by streaming over wireless connection, but these devices are very unhomogenous in terms of display resolution, color depth, audio reproduction, power calculus, media format supported, and connection type. The best solution appears to adapt a high quality multimedia source to the client characteristics. As on the Video On Demand services, the user requests for a video from a list of available ones, and clicks on the Start button. After this step, we can have two types of transcoding and/or 1 The Italian Ministry for Instruction, University, and Research (MIUR) supported this work in the framework of the FIRB Web-Minds.
adaptation techniques: the Client Side Adaptation, and the Server Side Adaptation. Client Side Adaptation suffers from both the power-saving restrictions and the unnecessary channel overload due to the transmission of high quality media. Scalability issues, due to the potential high number of devices, on the other hand affects the Server Side Adaptation. In this paper we tackle the use of Grid paradigm to implement a scalable multimedia server (SGMS). As defined in [4] the objective of the Grid technologies and infrastructures is to support the sharing and coordinated use of several resources in dynamic, distributed virtual organizations (VOs). In contexts of distributed supercomputing and Internetbased parallel computing, the Grid paradigm can provide the infrastructure for collaborative engineering, data exploration and provision of advanced value added services [5]. In our scenario, a VO shares its resources to allow mobile user to access multimedia contents suitable for their device optimizing wireless network traffic and balancing the computing load. The rest of this paper is organized as follows: In section 2, we detail our scenario. In section 3, we present our server architecture. In section 4, we describe a case study, and provide experimental comparison of the results. In section 5, we present the conclusions and the future works.
2
Scenario
Smart phones and PDAs are nowadays normally used for accessing distributed data. Due to the limited processing capabilities of such devices, Grid computing can be adopted as the underlying technology able to setup the link between a VO and the user, in the sense that data processing and storage can occur transparently and in a distributed way. Some authors have described mobile clients that share a common filesystem with the Grid. For example, a CODA filesystem has been proposed for the Condor system [6]. However, we believe this is against the current Grid trends. From our point of view, a mobile terminal provides location-independent access to the user’s workspace.
Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE’04) 1524-4547/04 $ 20.00 IEEE
Since there is a variety of possible terminals to access that unique workspace, it is more efficient to reduce the number of features that depend on each particular terminal type. Once defined the common functionality, it must be pushed to the underlying Grid protocols, and to the fixed Grid infrastructure. The SGMS should dynamically customize service provisioning to the specific characteristics of the client access device, which usually has heterogeneous hardware/software capabilities, hosted operating systems, and supported network technologies. Heterogeneity makes the provision of statically tailored services more difficult, and may raise configuration hassles for device users. SGMS should achieve the goal of automating device configuration management as much as possible, to hide away the wide variety of implementation details of the different devices from final users. Portable device accessibility to Grid services requires addressing two classes of application-level issues. The former relates to the possibility of dynamically retrieving the set of resources and services available in the current client locality without any a-priori knowledge. The latter deals with resource limits and heterogeneity of portable devices that usually implies downscaling the presentation format of service results to fit specific client characteristics. In the global Internet, the portable device accessibility to Grid services requires a distributed and decentralized infrastructure fully hosted in the fixed network, and consisting of middleware proxy components working on behalf of the device. The proxies are in charge of supporting device connectivity and of discovering resources/services in the current device locality, as well as tailoring the QoS level of data flows depending on device profiles. In addition, the proxies should follow device movements during service provision, and install automatically, only when needed, in any new network locality visited by portable devices, as shown in [7]. The term transcoding refers to a series of techniques to change data representation, from one format to another. In this paper we suppose a service based on the use of multimedia sources (e.g. DivX or XviD AVIs). According to the user’s processing and visualization capabilities, the system may decide to provide a transcoding of the movie in a different format (e.g. MP4 or Mpeg1), to optimize the usage of resources. In this case, the Grid computation paradigm could be adopted, in order to identify a set of machines to be used for executing the required computation concurrently.
Figure 1. a) The SGMS Architecture, b) The Grid Node Architecture
venient workstation that satisfies the request. The Virtual Server (VS) is a proxy-based system that allows user to access multimedia contents distributed among many streaming servers, as if they were in a unique server. A VS will be activated by the UM when a user requests a media content. As discussed in [7], the UM takes care also of user mobility issues. The Grid Node, whose architecture is shown in Figure 1b, represents a workstation shared by an organization. Each Grid Node needs the Globus Toolkit that provides services for managing and monitoring distributed resources, such as the Globus Resource Allocation Manager (GRAM) [8], and for the data transfer, such as the GridFTP [9]. Java-based Mobile Agents implementing the UM interact with the Globus Toolkit through the Commodity Grid Kits (COG). The Grid Node also needs a Streaming Server module that supports the RTSP protocol, some Transcoding Tools to manipulate multimedia contents, and a Mobile Agents Platform, such as MAP [10][11], to manage the agents community implementing the UM. In our scenario, we suppose that a VO consisting of many wireless providers (with both wireless 802.x and 3GPP connectivity) use a shared SGMS to allow their users to access multimedia contents. This way, many media objects stored in high quality will be available to each user of the VO without specific device restrictions or mobile/network overload. As depicted in Figure 2a, three Organizations (O1, O2, and O3), each representing a provider, share their resources (Grid Nodes) in terms of computational and storage capacity in a VO. Some Inter-Organization backbones connect the Os through a high speed and secure link. In this scenario, we can identify two multimedia-related activities. 1. Multimedia Upload and Storage
3
Architecture
The architecture of the whole SGMS is shown in Figure 1a. It extends the Agent community proposed in [7]. The Storage Broker manages the available resources in terms of disk capacity. It interacts with the Users Manager (UM) when a storage resource is needed, providing the more con-
2. Multimedia Streaming In the first activity, operators in each organization make a multimedia object available to the users of the whole VO by uploading the file in the SGMS. In the Multimedia Streaming activity, users can access contents with their specific device, through their wireless connection characteristics.
Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE’04) 1524-4547/04 $ 20.00 IEEE
Figure 2. a) A Virtual Organization (VO), b) The Virtual Server
Node. In order to reduce the latency of the system, the first part of the movie, which is smaller than the other parts, is replicated more than the other ones. The last phase of the Multimedia Uploading and Storage activity is the Encoding. The purpose of the Encoding phase is to store each piece or chapter of the movie in the specific Grid Node as an MPEG4 AVI file. This format assures a high level of compression, and is a good compromise between file size and quality. When a Grid Node ends the encoding phase, the Centralized DB is updated with the reference to this new part of the movie. At the end of this activity, the whole movie is distributed among the Grid Nodes of the SGMS, and a map of the chapter distribution is consequently available in the central database.
3.2
Figure 3. a) Multimedia Upload and Storage, b) Multimedia Streaming
3.1
Multimedia Upload and Storage
As shown in Figure 3a, four phases can be distinguished in this activity. In the Uploading phase, the original media file is uploaded in a Grid node chosen for the Splitting phase. In this second phase, the whole file is split into many pieces according to the available resources. The Splitting Node is selected according to its actual characteristics in terms of storage and computation. The Splitting Node needs from 9 to 18 GB of storage capacity for a typical media movie, and is busy from about 15 to 30 minutes, if a PentiumIV architecture is assumed. In the Dissemination phase, a Storage Broker finds the set of Grid Nodes that satisfies: • Redundant Geographical Distribution covering the whole area of the SGMS • Grid Node storage availability • Grid Node computation availability The Redundant Geographical Distribution is a quite relevant aspect for the overall performances of the SGMS. The Grid Node Storage and Computation Availability are retrieved from the Storage Broker through the Grid services provided by the Globus Toolkit. After this step, each piece of the original movie is transferred to the destination Grid Node, and the source files are removed from the Splitting
Multimedia Streaming
In the Multimedia Streaming activity the movie, which is requested by the user, is adapted according to the characteristics of the device. If necessary, the movie is moved to a neighbor Grid Node, in order to improve the performances, and then is streamed to the user’s device. As shown in Figure 3b, in this activity we can therefore identify three phases. The Media Adaptation (also named Transcoding) is the phase where the MPEG4 AVI file is adapted to the user’s device specific characteristics, and connection bandwidth. This is carried out by using three types of profiles: a Device Profile, a Network Profile and a User Profile. The Device Profile and the User Profile are stored as XML files on the user’s device. The former holds information related to the screen (if present), such as resolution and color depth, to the audio module such as reproduction bandwidth, to the computation such as maximum frame rate supported, and to the playable formats (MP3, AVI, MP4, MPGEG1, MPEG2, etc.). The User Profile holds the user’s preferences related to QoS (e.g. the user can choose to hear only the audio track rather than watch only the video track in the case of low link bandwidth.). The Network Profile is retrieved by the SGMS system from the target Organization. It holds informations about the bandwidth available in the user’s wireless cell. We suppose that this represents the bottleneck of the streaming channel. In the Media Approaching phase each chapter of the requested content will be, if necessary, moved in specific set of Grid Nodes close to the user’s cell. Some strategies concerning the Media Approaching are currently under evaluation. The Media Streaming phase allows users to watch their selected movie in a transparent way. The media player request a movie to the loopback interface using a request like ‘rtsp://127.0.0.1/mymovie.mp4’ or ‘http://127.0.0.1/mymovie.mpg’. This is possible by using a proxy-based Virtual Server (VS) as shown in Figure 2b. The Virtual Server is a proxy chain composed of the VS
Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE’04) 1524-4547/04 $ 20.00 IEEE
unit in the wired part of the network and the Device Proxy in the wireless device. When a user requests a stream, the VS starts the Multimedia Streaming Activity. At the end of this activity all the chunks are available on many Streaming Servers. The VS allows the media player to see all the servers as a unique server with address 127.0.0.1. As shown in Figure 2b, the VS starts the streaming of chunk 1 from server S1; then, at the end of this chunk, the VS requests the next chunk to another server etc.. The VS solution allows users’ mobility, as discusses in [7].
4
Experimental Results
In this section we present some experimental results concerning the evaluation of the proposed architecture. According to Section 3, we can identify two kinds of evaluations: 1. Multimedia Upload and Storage Performance Evaluation 2. Multimedia Streaming Performance Evaluation In the first evaluation we estimate the completion time of the Multimedia Upload and Storage Activity versus the number of available Grid Nodes. The estimation of this parameter allows to identify a range of optimal values for the number of chunks to be used. The second evaluation is related to the estimation of the delay between the user’s request and the starting of the streaming flow (latency), also in relation with the continuity constraint for the media fruition. In fact, once the movie fruition has started, the SGMS has to stream without any interruption due to media adaptation or transfer phases. This feature is strongly related to user satisfaction and will be deeply analyzed in the following. In order to proceed with the performance evaluation of system under exam, we will continue as follows: 1. Experimental measurements of some basic functionalities and development of a simulation model 2. Validation of the simulation model 3. Extensive simulation of some case studies with many Grid Nodes. In the first task we have characterized the main parameters of each activity. More in detail, we measured parameters such as the processing bit rate for the transcoding tools, the transfer bit rate using the GridFTP service, etc.. We derived a behavioural characterization of the elementary operations in order to develop a Matlab simulation model for the Multimedia Upload and Storage Performance Evaluation analysis and another one for the Multimedia Streaming Performance Evaluation. In the second task we have measured the completion time of a SGMS prototype made of 5
Grid Nodes, taking care specifically of the Media Streaming activity. The goal of this task is to validate Matlab models with some real measurement. As a small Grid testbed can not provide information about scalability issues and performance enhancements related to a significant growth of available Grid resources, in the third task we have simulated a wider SGMS, in the Matlab environment, using the previously validated models.
4.1
Characterization of the Elementary Phases and Modeling
In order to collect the required parameters, we have measured in a controlled environment the performance of each single phase of the overall procedure. The hardware and software characteristics of each Grid Node are the following: AMD Athlon 2.6 GHz, 256 MB RAM, 40 GB HD, 100 Mbps Ethernet Adapter, Linux OS Kernel v2.4.22, Transcode v0.6.11, FFMpeg v0.4.8, MPGTX v1.3, Globus Toolkit v.2.4, Blackdown Java VM v1.4.1, MAP (Mobile Agent Platform) v4, Helix Streaming Server. To carry on the performance analysis of the Multimedia Upload and Storage activity depicted in Figure 3a we need experimental measures regarding: Uploading Time, Splitting Time, Dissemination Time and Encoding Time. The Uploading Time, as well as the Dissemination Time, is strictly related to the typical size of the media source and to the overall transfer bitrate using the GridFTP service. To identify the Media Source size we assumed that an operator inserts a DVD movie source into the system, i.e. we suppose a 5.4GB MPEG2 VOB file. With regards the Dissemination Time we consider an MPEG4 encoded AVI of about 1.1GB. In order to evaluate the transfer bit rate of the GridFTP in a real wide LAN environment (hundreds of users), we measured the overall transfer rate occurred in 10 sessions of 8 hours each (from 9 a.m. to 6 p.m.) and we obtained a mean throughput of 18Mbps. The overall Splitting Time, measured using the MPGTX tool, is mainly related to the size of the source file, to the computational capacity and to the mass storage performances of the Grid Node. The Encoding Time, measured using Transcode, is related to the size of the movie and to the computing capability of each workstation acting as a Grid Node. We have benchmarked the execution time of this tool in tens of session, on many workstations shared with other users doing office activities, to simulate a typical shared Grid environment. For the Multimedia Streaming Performance Evaluation, as shown in Figure 3b, we need measures regarding the: 1. Media Adaptation Time 2. Media Approaching Time The Media Adaptation Time is related to the size of the MPEG4 AVI chunks and to the performance of the FFM-
Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE’04) 1524-4547/04 $ 20.00 IEEE
peg tool, executed on the reference architecture. The Media Approaching Time is related to the size of the adapted media (MPEG1 video, MP3 audio, MPG encapsulation) and to the network troughputh. Our experimental setup allows to collect real measures to be used to validate the Matlab models with regards the activities depicted at bottom of Figure 3a and Figure 3b.
4.2
Validation of the models
In order to check the correctness of the models developed in the previous task, we have prepared an experimental testbed composed of five Grid Nodes with the reference architecture previously described. All the Grid Nodes are been connected through their Fast Ethernet adapters to a 100Mbps hub shared with other 20 workstations actively used. During the experimental tests, the five Grid Nodes are being used by some other users, in order to simulate a more realistic scenario. Concerning the Multimedia Upload and Storage activity, we executed both the experimental testbed and the Matlab simulation . The result of the simulation, varying the number of the Grid Nodes from 2 to 30 is depicted in Figure 4a. As can be observed, involving more than 15-20 Grid Nodes in such activity does not determine a concrete increase in terms of the performances offered. On the other hand we can argue that in a typical DVD movie there are about 20 chapters that the user can select. Thus, splitting a movie into about 20 chunks (Grid Nodes) seems to be optimal for many reasons: • Increasing the number of Grid Nodes over 20 does not significantly increase the overall performance of the Multimedia Upload and Storage Activity for the movie under exam. • Usually a DVD is structured in about 20 chapters, therefore this sort of segmentation seems to be natural. • A user can choose to start the streaming from any chapter. • Usually a chapter change involves a scene change, therefore any lack in the streaming due to the switching from a server to another can be better tolerated. Due to the previous considerations, the more convenient choice for the number of chunks to split the movie into seems to be strictly related to the movie length. Thus, we can select as the splitting parameter the real semantic movie subdivision (i.e. the number of chapters it is made of). In order to validate the Multimedia Streaming Activity performance model, that represents a more stringent requirement in terms of user satisfaction, we have executed the experimental testbed on tens of sessions. The results of such trials are depicted in Figure 4b. Each bar in the graph repre-
Figure 4. a) Multimedia Upload and Storage Activity, b) Multimedia Streaming Activity: Measures
sents the measured completion time (in the Y Logarithmic axis) for the adaptation phase of each Grid Node (in the X axis). At the end of this phase the media is available for the streaming. Each circle represents the time instant when the corresponding Grid Node has to stream its chunk. The smaller completion time for the first adaptation time is due to the smaller size of this chunk respect to the others. In our study, the first MPEG4 chunk is of about 10MB, while the others are of about 224MB. In order to avoid the workstations’ overload, we fixed the following restrictive condition: AdaptationT ime ≤ StreamStartT ime We consider, in fact, that a workstation is not engaged in the adaptation and the streaming phases at the same time. We can observe that for each node, the adaptation time (Bar) has to be less than the stream starting time (Circle). Such restrictive condition is also necessary if the output video encapsulation format does not support atomicity. In this case, in fact, the adaptation phase has to be completed before the streaming one has started. The limit condition: AdaptationT ime = StreamStartT ime is allowed only for the first Grid Node. When the first Grid Node ends its adaptation phase, the streaming phase can start. This delay represents the latency between the user request and the system response. In Figure ??b is depicted a graph representing the estimated completion time for five Grid Nodes obtained through the simulation. As we can see, the simulated values are comparable to the measured ones, thus we can conclude that the simulation model is representative of the real working conditions. Comparing Figures 4b and 5a, we can observe a difference between the measured latency and the estimated one: the former is less than the latter. The difference is due to the fact that in the simulative environment all the Grid Nodes are equally loaded, while in the real testbed we have used as the first machine a workstation selected on purpose to reduce the latency.
Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE’04) 1524-4547/04 $ 20.00 IEEE
Grid computation paradigm has been adopted. Thus, while roaming from a cell to another, a mobile user is constantly connected to the more convenient resource, which is identified in order to guarantee adequate levels of QoS. The described middleware is currently being tested in an experimental environment, developed at the Engineering Faculty of the University of Messina, which aims to guarantee Faculty members and students wireless access to multimedia data, while roaming inside the whole University Campus. Figure 5. Multimedia Streaming Activity: Estimations a) 5 Nodes, b) 20 Nodes
4.3
Simulation of a system with many Grid Nodes
As already mentioned, we have identified the optimal number of Grid Nodes to be used to store and stream a movie of average length to be equal to 20. In this third part of the performance analysis, we have executed a simulation experiment to evaluate the latency, the adaptation time of the Grid Nodes (assuming they are heavy loaded), and to verify the continuity condition seen in section 4.2. The results of the simulation with 20 Grid Nodes are depicted in Figure 5b where we can observe that the continuity condition is respected. Actually, we can realize how a larger margin is available, which allows to use many more loaded workstations, or to safely tolerate an unpredictable increase of the their workload condition. With regards to the latency experienced, in this experiment we have measured a delay of about 14 seconds between the user request and the beginning of the streaming, which can be considered as a reasonable delay for the user. We have also estimated an adaptation time of about 45 seconds, which represents a very little overhead for the Grid Nodes, if considered in the context of a large virtual organization.
5
Conclusions and future development
During the last few years, wireless technology has become mature enough to satisfy the users needs for mobility and information anywhere and at any time. In order to manage the challenging problems related to the management of such new environments, in this paper we have defined and implemented a reference architecture for effective Multimedia Storage, Adaptation, and Delivery, which allows mobile users to access multimedia services, notwithstanding the device, the software and the connection channel used. In our scenario, a Virtual Organization, composed of many Organizations, shares its resources to allow mobile users to access multimedia contents adapted to their devices optimizing wireless network traffic and balancing the computing load. To effectively manage computing and storage resources available in the wired part of the architecture, the
References [1] Shafi, Wireless Communications In The 21st Century. Wiley US, 2002. [2] U. Varshney, “The status and future of 802.11-based wlans,” IEEE Computer, 2003. [3] I. Corporation, “Intel xscale technology,” http://www.intel.com/design/intelxscale/. [4] I. Foster, C. Kesselman, and S. Tuecke, “The anatomy of the grid: Enabling scalable virtual organizations,” International J. Supercomputer Applications, 2001. [5] D. Bruneo, M. Guarnera, A. Zaia, and A. Puliafito, “A grid-based architecture for multimedia services management,” in The First European Across Grids Conference, 2003. [6] J. Frey, T. Tannenbaum, I. Foster, M. Livny, and S. Tuecke, “Condor-g: A computation management agent for multi-institutional grids,” Cluster Computing, vol. 5, no. 3, 2002. [7] D. Bruneo, M. Villari, A. Zaia, and A. Puliafito, “Qos management for mpeg-4 flows in wireless environment,” Microprocessors and Microsystems, vol. 27, no. 2, pp. 85–92, 2003. [8] I. Foster, A. Roy, and V. Sander, “A quality of service architecture that combines resource reservation and application adaptation,” in 8th International Workshop on Quality of Service, 2000. [9] W. Paper, “Gridftp: Universal data transfer for the grid,” The Globus Alliance, 2000. [10] A. Puliafito, O. Tomarchio, and L. Vita, “Map: Design and implementation of a mobile agents platform,” Journal of System Architecture, vol. 46, no. 2, p. 145162, 2000. [11] O. Tomarchio and L. Vita, “On the use of mobile code technology for monitoring grid systems,” in Workshop on Agent based Cluster and Grid computing, 2001.
Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE’04) 1524-4547/04 $ 20.00 IEEE