Skip to main content
QUICK REVIEW

[논문 리뷰] Efficient means of Achieving Composability using Transactional Memory

Sathya Peri, Ajay Singh|arXiv (Cornell University)|2017. 09. 03.
Distributed systems and fault tolerance인용 수 3
한 줄 요약

이 논문은 해시 테이블과 레이지 스킵 리스트를 사용한 객체 기반 소프트웨어 트랜잭셔널 메모리(OSTM) 시스템인 HT-OSTM를 제안한다. 이 시스템은 효율적이고 조합 가능한 동시 작업을 가능하게 하며, 작업의 고수준 의미 정보와 타임스탬프 순서를 통한 충돌 은폐 보장을 통해, 검색 및 업데이트 워크로드에서 ESTM보다 106 TPS 높은 처리량과 RWSTM보다 3–3.4% 높은 성능을 달성한다. 이는 동시 데이터 구조에서 효율적인 조합 가능성을 입증한다.

ABSTRACT

The major focus of software transaction memory systems (STMs) has been to facilitate the multiprocessor programming and provide parallel programmers with an abstraction for fast development of the concurrent and parallel applications. Thus, STMs allow the parallel programmers to focus on the logic of parallel programs rather than worrying about synchronization. Heart of such applications is the underlying concurrent data-structure. The design of the underlying concurrent data-structure is the deciding factor whether the software application would be efficient, scalable and composable. However, achieving composition in concurrent data structures such that they are efficient as well as easy to program poses many consistency and design challenges. We say a concurrent data structure compose when multiple operations from same or different object instances of the concurrent data structure can be glued together such that the new operation also behaves atomically. For example, assume we have a linked-list as the concurrent data structure with lookup, insert and delete as the atomic operations. Now, we want to implement the new move operation, which would delete a node from one position of the list and would insert into the another or same list. Such a move operation may not be atomic(transactional) as it may result in an execution where another process may access the inconsistent state of the linked-list where the node is deleted but not yet inserted into the list. Thus, this inability of composition in the concurrent data structures may hinder their practical use. In this context, the property of compositionality provided by the transactions in STMs can be handy. STMs provide easy to program and compose transactional interface which can be used to develop concurrent data structures thus the parallel software applications. However, whether this can be achieved efficiently is a question we would try to answer in this thesis. Most of the STMs proposed in the literature are based on read/write primitive operations(or methods) on memory buffers and hence denoted RWSTMs. These lower level read/write primitive operations do not provide any other useful information except that a write operation always needs to be ordered with any other read or write. Thus limiting the number of possible concurrent executions. In this thesis, we consider Object-based STMs or OSTMs which operate on higher level objects rather than read/write operations on memory locations. The main advantage of considering OSTMs is that with the greater semantic information provided by the methods of the object, the conflicts among the transactions can be reduced and as a result, the number of aborts will also be less. This allows for larger number of permissive concurrent executions leading to more concurrency. Hence, OSTMs could be an efficient means of achieving composability of higher-level operations in the software applications using the concurrent data structures. This would allow parallel programmers to leverage underlying multi-core architecture. To design the OSTM, we have adopted the transactional tree model developed for databases. We extend the traditional notion of conflicts and legality to higher level operations in STMs which allows efficient composability. Using these notions we define the standard STM correctness notion of Conflict-Opacity. The OSTM model can be easily extended to implement concurrent lists, sets, queues or other concurrent data structures. We use the proposed theoretical OSTM model to design HT-OSTM - an OSTM with underlying hash table object. We noticed that major concurrency hot-spot is the chaining data structure within the hash table. So, we have used Lazyskip-list approach which is time efficient compared to normal lists in terms of traversal overhead. At the transactional level, we use timestamp ordering protocol to ensure that the executions are conflict-opaque. We provide a detailed handcrafted proof of correctness starting from operational level to the transactional level. At the operational level we show that HT-OSTM generates legal sequential history. At vi transactional level we show that every such sequential history would be opaque thus co-opaque. The HT-OSTM exports STM insert, STM lookup and STM delete methods to the programmer along-with STM begin and STM trycommit. Using these higher level operations user may easily and efficiently program any parallel software application involving concurrent hash table. To demonstrate the efficiency of composition we build a test application which executes the number of hash-tab methods (generated with a given probability) atomically in a transaction. Finally, we evaluate HT-OSTM against ESTM based hash table of synchrobench and the hash-table designed for RWSTM based on basic time stamp ordering protocol. We observe that HT-OSTM outperforms ESTM by the average magnitude of 106 transactions per second(throughput) for both lookup intensive and update intensive work load. HT-OSTM outperforms RWSTM by 3% & 3.4% update intensive and lookup intensive workload respectively

연구 동기 및 목표

  • 복잡한 작업(예: move)이 일관되지 않은 중간 상태로 인해 원자적으로 작동하지 않는 동시 데이터 구조에서의 조합 가능성 문제를 해결하기 위해.
  • 저수준 읽기/쓰기 작업 대신 객체 기반 STM(OSTM)를 사용하여 동시성 향상과 트랜잭션 실패 감소를 도모하기 위해.
  • 복잡한 작업을 지원하는 고성능, 조합 가능한 STM 시스템을 설계하여 동시 해시 테이블의 효율적 구현을 가능하게 하기 위해.
  • 작업의 고수준 의미 정보를 활용하면 더 유연한 동시성과 더 나은 확장성 가능성을 제공함을 입증하기 위해.
  • 실제 워크로드에서 기존 STM 기준과의 성능을 평가하기 위해.

제안 방법

  • 데이터베이스의 트랜잭셔널 트리 모델을 도입하여 충돌과 합법성 개념을 STM의 고수준 작업으로 확장하였다.
  • 정확성 기준으로 충돌 은폐를 정의하여 트랜잭션 실행이 어떤 순차 실행과 동치임을 보장하였다.
  • 해시 테이블을 백엔드로 사용하고 레이지 스킵 리스트를 활용해 체이닝 중 도착 오버헤드를 줄이는 OSTM 기반 HT-OSTM를 설계하였다.
  • 트랜잭션 수준에서 타임스탬프 순서 프로토콜을 적용하여 충돌 은폐를 강제로 적용하고 일관성 있는 순서를 확보하였다.
  • 운영 수준(합법적인 순차 역사)에서 트랜잭션 수준(은폐 역사)으로의 형식적 수작업 증명을 제공하였다.
  • 프로그래머가 쉽게 사용할 수 있도록 고수준 STM 프리미티브—STM begin, STM insert, STM lookup, STM delete, STM trycommit—를 노출하였다.

실험 결과

연구 질문

  • RQ1객체 기반 STM가 작업의 의미 정보를 활용함으로써 트랜잭션 실패를 줄이고 동시성을 향상시킬 수 있는가?
  • RQ2STM을 사용할 때 복잡한 작업(예: move)의 조합 가능성을 어떻게 효율적으로 달성할 수 있는가?
  • RQ3기존의 RWSTM 접근 방식과 비교해 객체 기반 STM에서 고수준 작업을 사용할 경우 성능 향상 정도는 어느 정도인가?
  • RQ4레이지 스킵 리스트를 사용한 해시 테이블 기반 OSTM이 기존의 STM 기준보다 더 높은 처리량을 달성할 수 있는가?
  • RQ5HT-OSTM 모델은 높은 성능과 조합 가능한 동시 작업을 가능하게 하면서도 정확성을 유지하는가?

주요 결과

  • HT-OSTM는 검색 중심 및 업데이트 중심 워크로드 모두에서 ESTM보다 106 TPS 높은 처리량을 달성한다.
  • HT-OSTM는 업데이트 중심 워크로드에서 RWSTM 기반 해시 테이블보다 3% 높은 성능을 기록하고, 검색 중심 워크로드에서는 3.4% 높은 성능을 기록한다.
  • 의미 인식이 가능한 객체 기반 작업을 사용함으로써 충돌과 실패가 크게 감소하여 더 유연한 동시성 환경을 제공한다.
  • 레이지 스킵 리스트 데이터 구조는 해시 테이블 체이닝 중 도착 오버헤드를 효과적으로 줄여 성능 향상에 기여한다.
  • 형식적 정확성 증명을 통해 HT-OSTM가 합법적인 순차 역사 생성과 트랜잭션 수준에서의 충돌 은폐 유지가 가능함을 확인하였다.
  • 이 시스템은 원자적 트랜잭션을 통해 복잡한 작업(예: move)의 효율적이고 조합 가능한 프로그래밍을 가능하게 하여 동시 데이터 구조 설계의 핵심 과제를 해결한다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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