292 0

Full metadata record

DC FieldValueLanguage
dc.contributor.advisor강수용-
dc.contributor.author오규석-
dc.date.accessioned2020-02-12T16:39:14Z-
dc.date.available2020-02-12T16:39:14Z-
dc.date.issued2017-02-
dc.identifier.urihttps://repository.hanyang.ac.kr/handle/20.500.11754/124227-
dc.identifier.urihttp://hanyang.dcollection.net/common/orgView/200000430312en_US
dc.description.abstract클라우드 오브젝트 스토리지(Cloud Object Storage)는 기존 스토리지 시스템에 비해 적은 비용으로 구축이 가능하며, 확장이 용이하고 안정성이 뛰어나 여러 스토리지 시스템 분야에서의 사용이 점차 늘어나고 있다. 하지만 스토리지 시스템으로서의 이러한 장점들에도 불구하고 데이터의 신뢰성(reliability)을 유지하기 위해 복제 기법(Replication)을 대부분 기본적으로 사용하므로 스토리지에서의 저장 공간 낭비가 심한 단점이 있다. 복제 기법이란 오브젝트 스토리지 시스템에서 데이터의 신뢰성을 높이기 위해 사용하는 기법들 중 하나이다. 스토리지 시스템에 있어서 가장 중요한 것은 어떠한 장애가 발생하더라도 시스템에 저장된 데이터가 유실되거나 손상되지 않도록 하는 것이다. 복제 기법은 이를 방지하기 위해서 여러 개의 복제본(replica)을 제작하며, 이 복제본을 여러 대의 스토리지 노드(storage node)에 분산시킴으로써 어떤 하나의 노드가 고장이 나거나 데이터가 손상 또는 유실되더라도 다른 복제본을 가진 노드가 이를 대체함으로써 데이터의 신뢰성을 유지하게 된다. 대부분의 오브젝트 스토리지의 경우 3-복제 정책(3-Replication)을 사용하는데, 이 경우 신뢰성을 유지하기 위해 3개의 원본 데이터를 유지하게 되므로 하나의 오브젝트를 업로드 하는 것과 비교하였을 때 약 3배의 용량을 차지하게 된다. 이러한 용량의 낭비를 해결하기 위해 나타난 기법이 삭제 코딩(Erasure Coding)이다. 삭제 코딩 기법은 복제본을 유지하는 대신 원본 데이터의 일부 조각인 Data Fragment와 데이터 복구를 위한 Parity Fragment로 나뉜 데이터 조각을 보존하게 된다. 이 때 원본 데이터에 대한 Encoding을 통해 Data Fragment 및 Parity Fragment를 생성하고 나면 만일 일부 노드의 손상이나 일부 데이터에 대한 유실이 생기더라도 Decoding 과정을 통해 이를 복구할 수 있게 된다. 그러나 삭제 코딩의 경우 데이터의 신뢰성을 유지하기 위해 Encoding 작업을 통해 Parity Fragment를 생성해야 한다. 비록 Object를 저장하는 I/O Time에 비하면 적은 시간이지만 Proxy 노드에 많은 요청이 들어올 경우 Encoding 작업 외에 요청 처리에 관련된 작업을 추가로 해야 하는 Proxy CPU 입장에서 적지 않은 부하가 생기게 된다. 따라서 본 논문에서는 오브젝트 스토리지 시스템의 일종인 OpenStack Swift Object Storage에서 삭제 코딩을 오브젝트 노드로 분산시킴으로써 Proxy 노드의 CPU 부하를 감소시키는 Distributed Erasure Coding 기법에 대해 연구하였으며 이를 통해 Proxy 노드에서 약 66.7%의 CPU 사용률 개선 효과와 약 163%-346% 정도의 처리율 향상 및 약 220%-240% 정도의 Error Tolerance 향상을 보였다.| Cloud Object Storage can be deployed at less cost than traditional storage systems, is easy to scale, and is more stable than traditional storage. So Cloud Object Storage is increasingly used in many storage systems. However, in spite of this advantage of object storage system, object storage has large overhead because most of replication is basically used to maintain data reliability. Replication is one of the methods used to increase the reliability of data in object storage systems. The most important part of a storage system is to ensure that data stored in the storage system is not lost or corrupted even if a failure occurs. The replication method creates multiple replicas and distributes the replicas across multiple storage nodes to prevent data corruption. Therefore, even if one node fails or data is corrupted or lost, the node having another replica replaces it, ensuring the reliability of the data. Many object storage uses a 3-replication policy. In this case, three original data are kept to maintain reliability. Therefore, it occupies about three times the size of storing one object data. Erasure Coding is a method developed to solve this waste of capacity. Instead of keeping replicas, Erasure Coding stores parity fragments and data fragments for data recovery. Once the data fragments and parity fragments are generated through encoding of the original data, even if some nodes are corrupted or some data is lost, they can be recovered through the decoding process. However, in the case of Erasure Coding, Parity fragments must be created through encoding to maintain the reliability of the data. Although it takes less time than the I/O time required to store the object, if there are many requests in the Proxy Node, there will be a considerable load on the Proxy Node CPU that needs to process the request in addition to the encoding. Therefore, in this paper, we propose "Distributed Erasure Coding" method which reduces CPU load of Proxy Node by distributing Erasure Coding to Object Node in OpenStack Swift Object Storage. Using this method, 66.7% of the CPU usage were improved in Proxy node, and the throughput improvement was about 163%-346% and error tolerance improvement was about 220%-240%.; Cloud Object Storage can be deployed at less cost than traditional storage systems, is easy to scale, and is more stable than traditional storage. So Cloud Object Storage is increasingly used in many storage systems. However, in spite of this advantage of object storage system, object storage has large overhead because most of replication is basically used to maintain data reliability. Replication is one of the methods used to increase the reliability of data in object storage systems. The most important part of a storage system is to ensure that data stored in the storage system is not lost or corrupted even if a failure occurs. The replication method creates multiple replicas and distributes the replicas across multiple storage nodes to prevent data corruption. Therefore, even if one node fails or data is corrupted or lost, the node having another replica replaces it, ensuring the reliability of the data. Many object storage uses a 3-replication policy. In this case, three original data are kept to maintain reliability. Therefore, it occupies about three times the size of storing one object data. Erasure Coding is a method developed to solve this waste of capacity. Instead of keeping replicas, Erasure Coding stores parity fragments and data fragments for data recovery. Once the data fragments and parity fragments are generated through encoding of the original data, even if some nodes are corrupted or some data is lost, they can be recovered through the decoding process. However, in the case of Erasure Coding, Parity fragments must be created through encoding to maintain the reliability of the data. Although it takes less time than the I/O time required to store the object, if there are many requests in the Proxy Node, there will be a considerable load on the Proxy Node CPU that needs to process the request in addition to the encoding. Therefore, in this paper, we propose "Distributed Erasure Coding" method which reduces CPU load of Proxy Node by distributing Erasure Coding to Object Node in OpenStack Swift Object Storage. Using this method, 66.7% of the CPU usage were improved in Proxy node, and the throughput improvement was about 163%-346% and error tolerance improvement was about 220%-240%.-
dc.publisher한양대학교-
dc.title오픈스택 스위프트 오브젝트 스토리지에서의 분산 삭제 코딩 기법에 관한 연구-
dc.title.alternativeA Study of Distributed Erasure Coding in OpenStack Swift Object Storage-
dc.typeTheses-
dc.contributor.googleauthor오규석-
dc.contributor.alternativeauthorOh, Kyuseok-
dc.sector.campusS-
dc.sector.daehak대학원-
dc.sector.department컴퓨터·소프트웨어학과-
dc.description.degreeMaster-
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > COMPUTER SCIENCE(컴퓨터·소프트웨어학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE