Previously I presented a new project that I am working on for my PhD: “Swift RESAR“. To better understand it, here’s some background on Swift.
Swift is a Cloud Storage implementation, a free open source software released under the terms of the Apache License. This project is managed by the OpenStack Foundation, a non-profit corporation established in September 2012. It is gaining wide popularity in that over 150 companies are currently participating in this project.
Swift Protocol Hierarchy
The Swift Protocol consists of the hierarchy of Cloud Items: Account, Container, Object. That is, Swift access is initiated by an Account, which contains Containers, which contains Objects. Thus a Swift Object is uniquely identified by the 3-tuple: Account, Container, Object. Each Cloud Item is stored on multiple Storage Pairs: Server, Device.
This mapping information is stored in Rings, which are actually Consistent Hashes. For Storage Pairs, devices are actually Logical Unit Numbers (LUNs). Thus, it is not concerned with LUN parity and reliability. That is, it does not identify and store LUN construction. Swift thus cannot describe how a LUN was created: the number of disk devices used by the LUN and the LUN type (mirrored or parity). It is up to the Swift Administrator to manage LUN construction on each device host, outside of Swift. This presents tremendous problems when dealing with millions of devices in a cloud. Problems with the tracking and organization of LUN construction. How should LUNs be created to minimize the device failures? How should LUNs be created to optimize LUN performance? How should LUNs paper be modeled to allow mathematical analysis?
Expanding Swift to Include LUN Construction
In this project, we expand Swift to include LUN construction. This not only increases the scope of the Swift Project but greatly empowers the Swift Administrator by simplifying LUN construction and management. This is of great significance when managing millions of devices in a Storage Cloud. An additional goal in this project was to minimize changes to the Swift code base. This greatly enhances new feature implementation. Additionally, this expansion brings LUN construction out of the shadows and into the open source lime light. This expansion will thus prove beneficial to the entire OpenStack community.
So you now have some background on Swift and thus the motivation for this project. The next blog will focus on RESAR.