Skip to main content
QUICK REVIEW

[논문 리뷰] Durable Algorithms for Writable LL/SC and CAS with Dynamic Joining

Prasad Jayanti, Siddhartha Jayanti|arXiv (Cornell University)|2023. 01. 01.
Distributed systems and fault tolerance인용 수 3
한 줄 요약

이 논문은 동적 참여 및 적응형 공간 복잡도를 지원하는, 내구성 있고 쓰기 가능한 CAS 및 LLSC 원자 연산의 첫 번째 내구성 있는 구현인 DuraCAS와 DuraLL을 제시한다. 내구성 있는 ECSC(외부 컨텍스트 비교-교환) 객체와 핸들 기반의 조율 방식을 활용하여, 알고리즘은 상수 시간 연산과 O(m + n)의 공간 복잡도를 달성한다. 여기서 m은 객체 수이고 n은 활성 프로세스 수이며, 이는 고정된 N에 대한 이전의 O(m + N²) bound에 비해 크게 향상된 것이다.

ABSTRACT

We present durable implementations for two well known universal primitives -- CAS (compare-and-swap), and its ABA-free counter-part LLSC (load-linked, store-conditional). All our implementations are: writable, meaning they support a Write() operation; have constant time complexity per operation; allow for dynamic joining, meaning newly created processes (a.k.a. threads) of arbitrary names can join a protocol and access our implementations; and have adaptive space complexities, meaning the space use scales in the number of processes $n$ that actually use the objects, as opposed to previous protocols which are designed for a maximum number of processes $N$. Our durable Writable-CAS implementation, DuraCAS, requires $O(m + n)$ space to support $m$ objects that get accessed by $n$ processes, improving on the state-of-the-art $O(m + N^2)$. By definition, LLSC objects must store "contexts" in addition to object values. Our Writable-LLSC implementation, DuraLL, requires $O(m + n + C)$ space, where $C$ is the number of "contexts" stored across all the objects. While LLSC has an advantage over CAS due to being ABA-free, the object definition seems to require additional space usage. To address this trade-off, we define an External Context (EC) variant of LLSC. Our EC Writable-LLSC implementation is ABA-free and has a space complexity of just $O(m + n)$. To our knowledge, we are the first to present durable CAS algorithms that allow for dynamic joining, and our algorithms are the first to exhibit adaptive space complexities. To our knowledge, we are the first to implement any type of durable LLSC objects.

연구 동기 및 목표

  • 임의의 이름을 가진 프로세스의 동적 참여를 지원하는, 내구성 있고 쓰기 가능한 CAS 및 LLSC 알고리즘을 설계하는 것.
  • 공간 사용을 최소화하면서도, 사전에 정의된 최대값이 아닌 실제 활성 프로세스 수에 따라 적응하는 상수 시간 연산 복잡도를 달성하는 것.
  • ABA-자유성의 공간 오버헤드 문제를 해결하기 위해, 외부 컨텍스트(EC) 버전의 LLSC를 도입하여 공간 복잡도를 O(m + n)로 감소시키되, 내구성이나 ABA-자유성을 희생하지 않는 것.
  • 비버니어블 메모리(NVM) 시스템에서 내구성 있는 동시 데이터 구조를 위한 실용적인 기반을 제공함으로써, 장애 복구 가능성을 갖춘 크래시-리스타트 내성 보장 기능을 제공하는 것.

제안 방법

  • DuraCAS 알고리즘은 각 DuraCAS 객체당 두 개의 내구성 있는 ECSC 객체(W와 Z)를 사용하며, 핸들(h.Critical 및 h.Casual)을 통해 중요도가 다른 연산을 분리한다.
  • 이 알고리즘은 핸들 기반 접근 방식을 사용하여, h.Critical는 쓰기 설치 및 객체 상태에 영향을 주는 CAS 연산의 인감을 찍는 데만 사용되며, 이는 감지 가능성의 실현을 가능하게 한다.
  • 알고리즘은 h.Critical를 통해 감지기 값(detector value)을 추적하여, 객체 상태에 영향을 주는(보이는) 연산과 영향을 주지 않는(다시 실행해도 안전한) 연산을 구분함으로써 감지 가능성을 보장한다.
  • LLSC의 경우, DuraLL은 컨텍스트를 외부에 저장하는 컨텍스트 인식 설계를 사용하여, 객체 내부에 컨텍스트를 저장하는 전통적 방식에 비해 공간 오버헤드를 줄였다.
  • LLSC의 EC 버전은 내구성 있는 ECSC 객체를 사용해 컨텍스트를 외부에 저장함으로써, 기존의 전통적 LLSC의 O(m + n + C)에서 대비해 O(m + n)의 공간 복잡도를 달성한다.
  • 내구성 있는 ECSC 원자 연산을 사용해 상태 변화와 장애 복구를 조율함으로써, 알고리즘은 대기 자유성(wait-freedom)과 선형화 가능성(linearizability)을 보장한다.

실험 결과

연구 질문

  • RQ1내구성 있고 쓰기 가능한 CAS 객체는 동적 참여와 적응형 공간 복잡도를 갖는 채로 구현될 수 있는가?
  • RQ2ABA-자유성의 내구성 있는 LLSC 객체는 최초로 내구성 있게 구현될 수 있는가? 공간 오버헤드를 최소화할 수 있는가?
  • RQ3크래시-리스타트 의미 체계 하에서 내구성 있는 CAS 및 LLSC 객체에서 감지 가능성은 어떻게 달성할 수 있는가?
  • RQ4내구성 있고 쓰기 가능하며 ABA-자유인 동시 객체에서 달성 가능한 최소 공간 복잡도는 무엇인가?
  • RQ5LLSC의 컨텍스트 저장 비용은 내구성이나 ABA-자유성을 희생하지 않고 줄일 수 있는가?

주요 결과

  • DuraCAS는 O(m + n)의 공간 복잡도를 달성한다. 여기서 m은 DuraCAS 객체의 수이고 n은 활성 프로세스의 수이며, 이는 고정된 N에 대한 이전의 O(m + N²) bound에 비해 향상된 것이다.
  • 쓰기 가능한 LLSC를 위한 DuraLL 알고리즘은 O(m + n + C)의 공간 복잡도를 요구한다. 여기서 C는 총 저장된 컨텍스트 수이며, EC 버전은 컨텍스트 저장소를 외부로 이관함으로써 이를 O(m + n)으로 감소시킨다.
  • DuraCAS 알고리즘은 감지 가능하다: 객체 상태에 영향을 주는 연산은 감지기 값을 증가시키지만, 다시 실행해도 안전한 연산은 영향을 주지 않아 크래시 감지를 가능하게 한다.
  • 모든 연산, 특히 Recover, Detect, Constructor, CreateHandle는 대기 자유이며 상수 시간 내에 실행되어, 프로세스 장애 여부에 관계없이 진전 보장이 가능하다.
  • 알고리즘은 동적 참여를 지원한다: 새로운 프로세스는 사전 조율 없이도 핸들을 생성하고 기존 또는 새로운 객체에 접근함으로써 언제든지 참여할 수 있다.
  • 본 연구는 ABA-자유성의 내구성 있는 LLSC 객체를 위한 최초의 구현을 제시하며, 내구성 있는 동시 객체 설계 분야에서 오랫동안 존재하던 격차를 해결한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.