Skip to main content
QUICK REVIEW

[논문 리뷰] An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs.

Sandeep S. Kulkarni, Sweta Kumari|arXiv (Cornell University)|2017. 12. 28.
Distributed systems and fault tolerance참고 문헌 19인용 수 1
한 줄 요약

이 논문은 키당 다수의 데이터 객체 버전을 유지함으로써 동시성 시스템에서 조합 가능성과 동시성 수준을 향상시키는 새로운 소프트웨어 트랜잭션 메모리 시스템인 다중버전 기반 객체 기반 STM(MV-OSTM)을 제안한다. 매개변수 $k$를 통한 버전 수 동적 조정을 가능하게 함으로써 트랜잭션 실패를 줄이고, 사용되지 않는 버전에 대한 가비지 컬렉션을 지원함으로써 다중코어 아키텍처에서 투명성과 높은 확장성을 달성한다.

ABSTRACT

In the modern era of multicore processors, utilizing multiple cores properly is a tedious job. Synchronization and communication among processors involve high cost. Software transaction memory systems (STMs) addresses this issues and provide better concurrency in which programmer need not have to worry about consistency issues. Several big-data applications which deal large amounts of data can benefit from Transactional Memory Systems. In this paper, we introduce a new STM system as multi-version object based STM (MV-OSTM) which is the fusion of object based STM with multiple versions. As the name suggests MV-OSTM, works on a higher level and keeping the multiple versions corresponding to each key. Presently, we have developed MV-OSTM with the unlimited number of versions corresponding to each key. To overcome traversal overhead, it performs the garbage collection method to delete the unwanted versions corresponding to the key. It provides greater concurrency while reducing the number of aborts. It ensures composability by making the transaction as atomic. In the proposed algorithm, $k$ is the input parameter and the value of it will be decided by the programmer and depends on the application. Programmer can tune the value of $k$ from 1 to $\infty$. If k equal to 1 then it will boil down to single version object based STM (OSTM) and if k equal to $\infty$ then it will be equivalent to multi-version OSTM with $\infty$ versions. MV-OSTM satisfies correctness-criteria as opacity. For a given version order of keys, if any history H generated by MV-OSTM produces acyclic graph then $H$ is opaque.

연구 동기 및 목표

  • 다중코어 프로세서에서의 동기화 및 통신 오버헤드 문제를 해결하기 위해.
  • 빅데이터 워크로드에서 더 높은 동시성과 낮은 실패율을 달성하기 위해 트랜잭션 메모리 시스템을 향상시키기 위해.
  • 원자적 트랜잭션 의미 체계를 통해 동시 시스템에서의 조합 가능성을 보장하기 위해.
  • 메모리 사용량과 성능 간 균형을 이루기 위해 조정 가능한 매개변수 $k$를 통한 동적 버전 관리 지원을 위해.
  • 모든 시스템이 생성한 역사를 대상으로 투명성(opacity)을 공식적으로 보장함으로써 정확성 보장을 위해.

제안 방법

  • MV-OSTM는 객체 기반 STM과 다중버전 기법을 융합하여 설계되었으며, 키당 다수의 버전을 유지함으로써 동시 접근을 지원한다.
  • 시스템은 키당 버전 수를 매개변수 $k$를 통해 조정할 수 있으며, 이는 1(단일 버전)에서 무한대(무제한 버전)까지 가능하다.
  • 오래된 사용되지 않는 버전은 가비지 컬렉션을 통해 제거되어 탐색 및 메모리 오버헤드를 줄인다.
  • 알고리즘은 트랜잭션의 원자성을 보장하여 중첩 또는 동시 트랜잭션 상황에서도 조합 가능성을 확보한다.
  • 투명성은 정확성 기준으로 공식적으로 증명되었으며, MV-OSTM가 생성하는 모든 비순환 역사 그래프는 반드시 투명성을 보장한다.
  • 프로그래머가 버전 관리를 인지하지 못하도록 하는 고수준 추상화 수준에서 시스템이 운영된다.

실험 결과

연구 질문

  • RQ1다중버전 기법을 객체 기반 STM에 통합하여 동시성 향상과 실패율 감소를 어떻게 달성할 수 있는가?
  • RQ2버전 수 매개변수 $k$의 조정이 성능과 메모리 사용에 미치는 영향은 무엇인가?
  • RQ3다중버전 기반 객체 기반 STM이 투명성 기준에서 정확성을 유지하면서도 조합 가능성을 달성할 수 있는가?
  • RQ4노후된 버전의 가비지 컬렉션은 시스템의 확장성과 탐색 비용에 어떤 영향을 미치는가?
  • RQ5MV-OSTM는 투명성 기준에서 어떤 공식적인 정확성 보장을 갖는가?

주요 결과

  • MV-OSTM는 데이터 객체의 다수의 버전을 유지함으로써 트랜잭션 실패를 줄이고 전체 동시성 수준을 향상시킨다.
  • 매개변수 $k$를 통한 조정 가능한 버전 관리를 지원하여 프로그래머가 성능과 메모리 사용량 간 균형을 조절할 수 있다.
  • 가비지 컬렉션은 사용되지 않는 버전을 효과적으로 제거하여 탐색 오버헤드와 메모리 팽창을 최소화한다.
  • 알고리즘은 투명성을 보장하므로, 생성된 모든 역사가 어떤 순차적 실행과 동치임을 보장한다.
  • 만약 $k = 1$이면 MV-OSTM는 단일버전 OSTM으로 축소되며, $k = \infty$이면 무제한 버전을 가진 다중버전 OSTM이 된다.
  • 트랜잭션이 원자적이므로 시스템은 조합 가능하며, 중첩 또는 동시 상황에서도 안전하게 조합 가능하다.

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

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

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

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