This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "". The branch, master has been updated via f39d09f2de5b6e121286944d3d937a3b249ea81d (commit) from c8d0c6a133d3e8630e7ff07a9d4098648593a622 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f39d09f2de5b6e121286944d3d937a3b249ea81d Author: Cengiz Karakoyunlu <[email protected]> Date: Fri Oct 5 19:19:43 2012 -0400 Modified related work section * Added discussion about OSD+ ----------------------------------------------------------------------- Summary of changes: papers/asg-osd/paper.bib | 48 +++++++++++++++++++++++++++++++++++++- papers/asg-osd/paper.tex | 57 ++++++++++++++++++++++----------------------- 2 files changed, 75 insertions(+), 30 deletions(-) Diff of changes: diff --git a/papers/asg-osd/paper.bib b/papers/asg-osd/paper.bib index 337b2ad..86d9841 100644 --- a/papers/asg-osd/paper.bib +++ b/papers/asg-osd/paper.bib @@ -387,6 +387,52 @@ address = {Los Alamitos, CA}, year = {2008}, ee = {http://arxiv.org/abs/0810.2226}, bibsource = {DBLP, http://dblp.uni-trier.de} -} +} + +@article {springerlink:10.1007/s10766-012-0207-8, + author = {Avilés-González, Ana and Piernas, Juan and González-Férez, Pilar}, + affiliation = {Facultad de Informática, Campus de Espinardo, 30100 Murcia, Spain}, + title = {Scalable Metadata Management Through OSD+ Devices}, + journal = {International Journal of Parallel Programming}, + publisher = {Springer Netherlands}, + issn = {0885-7458}, + keyword = {Computer Science}, + pages = {1-26}, + url = {http://dx.doi.org/10.1007/s10766-012-0207-8}, + note = {10.1007/s10766-012-0207-8}, +} + +@article{10.1109/SBAC-PAD.2011.12, +author = {Ana Aviles-GonzŽlez and Juan Piernas and Pilar GonzŽlez-Ferez}, +title = {A Metadata Cluster Based on OSD+ Devices}, +journal ={Computer Architecture and High Performance Computing, Symposium on}, +volume = {0}, +issn = {1550-6533}, +year = {2011}, +pages = {64-71}, +doi = {http://doi.ieeecomputersociety.org/10.1109/SBAC-PAD.2011.12}, +publisher = {IEEE Computer Society}, +address = {Los Alamitos, CA, USA}, +} + +@article{Skeen:1983:FMC:1313337.1313750, + author = {Skeen, D. and Stonebraker, M.}, + title = {A Formal Model of Crash Recovery in a Distributed System}, + journal = {IEEE Trans. Softw. Eng.}, + issue_date = {May 1983}, + volume = {9}, + number = {3}, + month = may, + year = {1983}, + issn = {0098-5589}, + pages = {219--228}, + numpages = {10}, + url = {http://dx.doi.org/10.1109/TSE.1983.236608}, + doi = {10.1109/TSE.1983.236608}, + acmid = {1313750}, + publisher = {IEEE Press}, + address = {Piscataway, NJ, USA}, + keywords = {Commit protocols, crash recovery, distributed database systems, distributed systems, fault tolerance, transaction management, transaction management, Commit protocols, crash recovery, distributed database systems, distributed systems, fault tolerance}, +} } diff --git a/papers/asg-osd/paper.tex b/papers/asg-osd/paper.tex index 87010cf..9103b78 100644 --- a/papers/asg-osd/paper.tex +++ b/papers/asg-osd/paper.tex @@ -87,15 +87,15 @@ %\renewcommand{\footrulewidth}{0pt} \begin{abstract} -Abstract. Object-Based Storage Systems are becoming more common in the storage community. +Object-Based Storage Systems are becoming more common in the storage community. As the number of users and the size of applications in large-scale object-based storage systems continously grow, more effort is required to provide concurrency and atomicity in such systems. Traditional approaches guarantee concurrency and atomicity through locking semantics. Considering the number of concurrent accesses to resources in a large-scale storage system, locking can adversely affect the system performance. -In this paper, we introduce an object-based storage system that supports versioning, ASG Storage -System, explain its fundamental properties and compare it with an existing storage -system to emphasize its strengths and weaknesses. +In this paper, we introduce an object-based storage system, ASG, that supports versioning to +guarantee concurrency and atomicity, explain its fundamental properties and compare +it with an existing approach to emphasize its strengths and weaknesses. \end{abstract} @@ -116,7 +116,7 @@ recently. In order to improve the performance of the storage components, multiple commodity hard drives are used in a parallel configuration due to the fact that a single hard drive is becoming cheaper with the recent advances in technology. However, implementing a parallel architecture using many of these cheap hard drives is not as easy as it sounds and the benefits from this -parallel architecture are limited by the architectural features of the traditional hard drives. +parallel configuration are limited by the architectural features of the traditional hard drives. As the large-scale storage systems become bigger and more complex, traditional block-level disks are not capable of meeting the high performance demands. As a new approach, Object-Based Storage Systems @@ -133,45 +133,44 @@ the internal features of the storage system; such as how many disks are used for striped among storage devices etc. In fact the computations at the storage level are transient to the client and the storage devices can take more responsibility in terms of system management. -Previous work~\cite{Devulapalli07integratingparallel} looked at combining object-based storage devices with -parallel file systems. Parallel file systems already treat the data as objects and since object-based storage +Previous work~\cite{Devulapalli07integratingparallel} from Ohio Supercomputing Center looked at mapping Parallel Virtual File System ~\cite{pvfs-web} on top of an existing object-based storage emulation~\cite{1306916}. Parallel file systems already treat the data as objects and since object-based storage devices treat the data in the same manner, it is much easier to implement a parallel file system on an object-based -storage system rather than implementing it on a traditional storage system. The functionality of the common components -of a traditional storage system; such as I/O, directory or metadata servers, can be moved to OSDs and the performance -of the overall system can easily scale due to the capabilities of the object-based storage devices.~\cite{OSDCluster08,OSDPDSI08} +storage system rather than implementing it on a traditional storage system. This mapping moved the functionality of the common components +of a traditional storage system; such as I/O, directory or metadata serversto OSDs and improved the performance +of the overall system due to the capabilities of the object-based storage devices.~\cite{OSDCluster08,OSDPDSI08} In contrast to all the computation advantages it brings, OSD standard~\cite{osd-3} does not offer support for atomicity and consistency. In large-scale storage systems multiple users may try to access a shared resource -concurrently. Existing approaches~\cite{10.1109/SNAPI.2008.14,OSDCluster08} handles concurrent accesses in OSDs +concurrently. Existing approaches~\cite{10.1109/SNAPI.2008.14,OSDCluster08} handle concurrent accesses in OSDs using locks or conditional \textit(compare-and-swap) primitive on object attributes. However, implementing a lock-based or conditional access scheme on a shared resource requires serializing concurrent client requests and may yield to significant performance drawbacks in case of concurrent accesses. -In this paper, we present a new object-based storage system model that supports versinoning, ASG, being developed -at Argonne National Laboratory. The rest of the paper is organized as follows; Section 2 talks about related work +In this paper, we present a new object-based storage system model being developed at Argonne National Laboratory, ASG, +that supports versinoning to provide concurrency and atomicity. The rest of the paper is organized as follows; Section 2 +talks about related work in object-based storage systems. Section 3 describes the ASG architecture in details. Section 4 compares the ASG model with existing T10 model and identifies the pros\&cons of each model. We give a sample usage scenario of ASG model -in Section 5 followed by the conclusion in Section 6. +in Section 5 followed by the conclusion and possible directions for future development of ASG in Section 6. \section{Related Work} -There have been several studies exploiting the functionality of Object-Based Storage Systems. Devulapalli et al. first -mapped Parallel Virtual File System~\cite{pvfs-web} on top of an existing OSD emulation~\cite{1306916}. This mapping -moved the I/O server functionality to the storage level. Later work~\cite{OSDPDSI08,OSDCluster08} moved the metadata -and directory servers to the OSDs as well. Directories need consistency guarantee while inserting or removing a directory -entry; therefore they have explored two methods that were not included in OSD standard ~\cite{osd-3} to implement consistent -directory operations in OSDs; object-based locking and conditional operations on object attributes. - -Yang et al. showed that it is possible to support continously growing directory objects in an object-based parallel file +There have been several studies, besides the OSC work, exploiting the functionality of Object-Based Storage Systems. +Yang et al. showed that it is possible to support continously growing directory objects in a parallel file system~\cite{Yang_scalabledistributed}. Each large directory object is divided into multiple chunks and each chunk is hashed -to a separate directory server. Since each directory server is taking care of a different chunk, directory operations can be -scaled. - -Other related work, Blobseer, tries to efficiently store a large object among the nodes in a distributed system and to provide -fine-grain access to small subsets of this large object while supporting versioning -~\cite{Nicolae:2009:BEE:1698790.1698796,Nicolae:2008:DMM:1505300.1505356,DBLP:journals/corr/abs-0810-2226}. +to be stored on a separate directory server. Since each directory server is taking care of a different chunk, directory +operations can be scaled. +Blobseer~\cite{Nicolae:2009:BEE:1698790.1698796,Nicolae:2008:DMM:1505300.1505356,DBLP:journals/corr/abs-0810-2226} +tries to efficiently store a large object among the nodes in a distributed system and to provide +fine-grain access to small subsets of this large object while supporting versioning. Versioning in Blobseer +is used to be able to support snapshotting rather than ordering writes as in ASG. +OSD+~\cite{springerlink:10.1007/s10766-012-0207-8,10.1109/SBAC-PAD.2011.12} presents a model very similar to +the one specified by the OSD standard ~\cite{osd-3} except for the addition of dedicated directory objects. The +directory objects in OSD+ store file names and attributes and support metadata related operations. Each OSD+ +stores a single directory object. In order to guarantee correctness and atomicity, OSD+ relies on the back-end +file system (Ext3, Ext4) and three-phase commit protocol~\cite{Skeen:1983:FMC:1313337.1313750}. \section{Implementation Strategies} Describe ASG Storage Model. @@ -236,7 +235,7 @@ duplicates. If the new key has already data associated with it, \textit{rename} \textit{Update} modifies the data associated with a given key. If the given key does not exist in the namespace, update returns error. It calls underlying \textit{read} and \textit{conditional write} operations. -\section{Conclusions} +\section{Conclusions and Future Work} ASG Storage Model is good and can be further improved to support snapshotting, dynamic namespaces etc. hooks/post-receive --