资源描述
英语毕业论文
Architecture Design of Global Distributed Storage System for Data Grid
Longbo Ran, Hai Jin, Zhiping Wang, Chen Huang, Yong Chen, and Yongjie Jia
Internet and Cluster Computing Center
Huazhong University of Science and Technology, Wuhan 430074, China
Email: hjin@
Abstract
Data grids are becoming increasingly important for sharing large data collections, archiving and disseminating. In this paper we describe architecture of global distributed storage system for data grid. We focus on the management and the capability for the maximum users and maximum resources on the Internet, as well as performance and other issues.
Keywords: Data grids, Match tree, Metadata, Name space
1. Introduction
Data-intensive, high-performance computing applications require the efficient management and transfer of terabytes or petabytes of information in wide-area, distributed computing environments [1][28]. Examples of data-intensive applications include experimental analyses and simulations in several scientific disciplines, such as high-energy physics, climate modeling, earthquake engineering and astronomy [2][3]. These applications share several requirements. Massive data sets must be shared by a large community of hundreds or thousands of users distributed around the world. Data grids are becoming increasingly important for sharing large data collections, archiving and disseminating.
Researches on massive storage system have gained significant achievements. There are already a number of storage systems used by the grid community, each of which was designed to satisfy specific needs and requirements for storing, transferring and accessing large datasets. These include Distributed Parallel Storage System (DPSS) and High Performance Storage System (HPSS), which provide high performance access to data and utilize parallel data transfer and/or striping across multiple servers to improve performance [4][28]. Distributed File System (DFS) supports high-volume usage, dataset replication and local caching. OceanStore is a global persistent data store designed to scale to billions of users. It provides a consistent, high available, and durable storage utility atop an infrastructure comprised of untrusted servers [5]. GridFTP is a high-performance, secure, reliable data transfer protocol optimized for high-bandwidth wide-area networks [6][8]. Storage Resource Broker (SRB) connects heterogeneous data collections, provides a uniform client interface to storage repositories, and provides a metadata catalog for describing and locating data within the storage system [4]. Other systems allow clients to access structured data from a variety of underlying storage systems.
In this paper, we present a novel architecture of a global distributed storage system built atop SAN, NAS, or any other storage systems, called Global Storage Provider (GSP). We provide a data management service in the data grid environment. Our purpose is to construct a distribute storage system with high scalability, high security, high efficiency, which offers a high quality storage service to millions of users over Internet. The scalability and efficiency of global name space and the meta-data service is discussed in detail in order to provide easy and efficient access or share of files to the wide area storage system.
We give a user and group-based multi-namespace architecture, and develop a new approach to solve the bottleneck problem of metadata server. A new component, called Storage Service Provider (SSP), is introduced to supply storage service to users, and plays as a user agent to the storage system. The data sharing and access control among different users and groups are completed by the combination of user-based access control methods and role-based access control methods. To supply different QoS to different users, files can be replicated, clipped, and stored in different storage pools. A prototype has been developed to provide extended ftp service to end users and some simple file APIs.
The rest of the paper is organized as follows. Section 2 describes the design principles of GSP. Section 3 details the architecture of GSP. Section 4 discusses the relate works closely to our project. Section 5 ends with the current state of our project and the future work.
2. Design Principles of Global Storage Provider
GSP is a middleware to unify heterogeneous storage resources to provide huge available storage resources for enormous users. The system provides high availability, high expansibility and high speed.
2.1 GSP Interfaces
In the global data grid environment there are many kinds of storage resources existing on different platforms. Uniform interface for the users access different resources transparently must be provided.
In order to meet the requirements of different applications, three kinds of interfaces are needed. First, standard FTP interface is needed, because most general methods for access storage resources through network is still by using FTP. This is why GridFTP chooses FTP protocol as the basic protocol [7]. Second, interface like file system is needed. This is mainly because for many special circumstances, file system interface makes it easy and convenient to develop the applications. Third, parallel file interface is also needed, as many high performance computing applications need parallel file interface.
2.2 Metadata Server of GSP
For a global storage system the huge storage resource must be managed effectively [9][13]. In our system directory-based metadata server (MS) is adopted to store the metadata. MS contains many important metadata such as file logical view, data location, file slices, file copies, file content abstract. The search efficiency affects the whole efficiency of the system, and MS easily becomes the bottleneck of the whole system on expansibility and availability. With the resources increasing in the system, the information of the files and the directories become enormous, a good approach to store and search the metadata efficiently is needed.
In many systems, such as SRB [7] or GridFTP [6], hierarchical directory structure is adopted. Generally when the metadata becomes enormous, the system employs several metadata servers. There are several limitations for directory servers. One is that it must keep the logic tree among the directory servers; the other is that the directory servers must cooperate and the result will return from the root node that adds the overload to the root server; the third is that when the root server is out of service the whole meta server will out of service too, so it is difficult to provide high availability; and the last is that it is difficult to expand the scale of meta servers.
Soft
Sys
Net
3com
Music
Cn
en
Old
Jack
Switch
pop
Root
DS1
DS2
DS3
DS4
Readme
Figure 1 Example of Metadata Server Logical Structure
In this paper, we bring out an algorithm called match tree. Figure 1 is a logical structure of a MS stored on 4 directory servers, showing the file structure of a user or a group. For example, if we want to access a file \root\soft\sys\net\3com\switch\readme, the process will trace from DS1 to DS3, and then reach DS4, finally return the metadata from DS1 to user. Match tree is kept in the memory of the scheduler. Figure 2 shows the corresponding match tree of Fig.1. The match tree is a concentrated tree indicating the directory server stored the item. With the match tree the scheduler can find out the directory server storing the needed metadata. For example, a user wants to access a file \root\soft\sys\net\3com\switch\readme. The scheduler first looks up the match tree and make the furthest match. It will find out that the file stored on directory server DS4 soon and send the request to DS4 directly.
root
soft
switch
Cn
en
Figure 2 Example of Corresponding Match Tree of Fig.1
In order to search efficiently, all the directory servers must keep the logic structure itself. For example on directory server 4 (DS4) there still has item root that have not any content. When a search reaches DS4 it will look up directly without any change to the request. This empty item just need a very little storage space and a little coherence maintenance cost.
2.3 Data Transfer and Availability of GSP
There are many researches on data transfer, especial for bulk data transfer, such as [6][8][13][15]:
l Third-party control of data transfer
l Parallel data transfer or multi-stream transfer
l Striped data transfer
l Partial file transfer
l Reliable data transfer
l Automatic negotiation of TCP buffer/window sizes
l Automatic retry
GridFTP has almost all the methods noticed above and BBFTP focuses on the bulk data transfer [15].
We focus on providing flexible method to deal with different data size. We find out that the data size affects the transfer efficiency directly. Besides, different availability requirement and access frequency also affect the transfer method. In order to have better transfer speed for different file size or different user requirements, different TCP buffer/window sizes, number of streams and strips are needed.
In order to have high availability, the system must guarantee the availability of metadata. In global storage system, replica is generally used to guarantee the availability of the data. In GSP we focus on how many slices or copies are used and how to store them on different storage devices.
2.4 Multiple Name Space
Traditional file system such as FAT32 file system usually presents a tree-like global name space for all users, which is only suit for system with very few users and resources. In our GSP system, which may have millions of users and billions of files, in order to provide user with both complex data sharing and efficient information navigating, we propose a user-and-group-based multiple name space model to organize massive information.
We provide each user registered in our system an independent name space, which is invisible to other users. At the same time, group is used to present a name space, which is used to organizing and sharing data among a specific group of users. User can apply for joining a group and access the data stored. All the name spaces are composed of two metadata: one is user’s visible name spaces which contain user’s own name space and all the group name spaces user registered; the other is user’s invisible name space, which contains other users’ name space, and name space of all the groups. A group can advertise its information at CA to specify which user can register to it and which group can share it.
2.5 Sharing Mechanism
As a global storage system there need an efficient share mechanism so that the millions of users or groups can share resources conveniently. In order to reduce the share unit of metadata, directory is used in the share mechanism. The system supports share inheriting. For example if a user “A” shares a directory to another user “B”, the user “B” also shares the directory to a user “C”, and the property can be inherited or redefined as long as it doesn’t exceed its authority.
The data sharing in our system is divided into four kinds: user to user, user to group, group to user, and group to group. We use two different mechanisms to meet the need of both efficiency and complex data sharing.
The first mechanism is directory level access control. Each directory in a group name space has two access control lists (ACLs), one is user access control list, and the other is group access control list. Users in a group are divided into several classes such as administrators, normal users, and limited users. Each class has a basic privilege. Furthermore privilege can be set to a specific class on a directory and/or to a specific single user.
A group can share its whole name space to a specific user class with some default privilege level of other groups. At same time privilege can be set to a group on each directory, which is stored in directory’s group access control list. All users belong to that class can access the name space of shared group.
Directory level access control is only used in the name space of groups where complex data sharing is needed. Data sharing among user name spaces and from user name space to group name space is simple. There is no need to bind access control list to each directory. In each user name space there is an in-sharing directory list and an out-sharing directory list. If a user wants to share one of his directories to other users or groups, he first registers information of sharing at his out-sharing directory list, and later directory sharing information will also be sent to in-sharing group list of the other end user group.
Information of directory sharing contains path of shared directory, destination user and group list, corresponding ACL and so on. By using both directory level access control and directory sharing, we achieve both complex data sharing and efficiency.
A user’s view of name space is illustrated as follow:
Home-----------ROOT
|_______IN_SHARE_ROOT
|_______OUT_SHARE_ROOT
Group Name-----ROOT
|_______IN_SHARE_ROOT
|_______OUT_SHARE_ROOT
|_______SHARE_GROUP_NAME
|_______SHARE_GROUP_NAME
|_______...
Other groups...
2.6 Security of GSP
In GSP, the basic security infrastructure provides:
• Secure communication Mutual authentication happens before data transfer. During data transfer the data can be encrypted and integrity can be guaranteed.
• Security across organizational boundaries There may be many security domains and all the domains can coordinate to provide distributed manageable security system.
• Single sign-on In order to support the mobile user, the system provides single sign on so that the user can access the system anywhere via any SSP.
• Use-defined security class The user can define the security class to reduce some unnecessary overhead.
3. Global Storage Provide Architecture
3.1 Architecture of GSP
GSP is a middleware to unify heterogeneous storage resources. Through the system millions of clients can get high quality of storage services. The system is composed of Certificate Authority (CA), Global Naming Server (GNS), Storage Service Provider (SSP) and Agent as shown in Figure 3.
CA
SSP
GNS
Client
Agent
CA
GNS
Agent
SSP
Figure 3 Global Storage Provide Architecture
CA stores the user information such as user name, user ID, password, priority, and group. When a user wants to access the system it will verify the user name and password first to get his authority. Due to the global environment there are many autonomic groups and each of them have different priorities. The system also provides a method to unify these priorities. CA also contains the make tables of users, which help the scheduler to build up the matching tree. With the increasing number of the
展开阅读全文