본문 바로가기
연구/주제 없음

[TIL - 20240704] RDMA Atomic operation이란?

by sumping 2024. 7. 4.

RDMA Atomic Verb란?

RDMA 기술의 기능 중 하나로, 네트워크를 통해 remote memory에 atomic operations(원자적 연산)을 수행할 수 있게 한다.이는 여러 스레드나 프로세스가 동시에 접근하더라도 data consistency를 유지하는 연산을 의미한다. 

* 성공한 경우, remote는 알아챌 수 없다. 실패한 경우는, remote는 비동기 에러가 올라간다. 이때 비동기 에러(asynchronous error)는 Infiniband verbs에 메커니즘으로 제공되며, ibv_get_async_event()를 호출하는 것으로 얻을 수 있거나 select()나 epoll()로 기다릴 수 있다.

 

  • Fetch-and-Add (FAA)
    • 원격 메모리에서 값을 읽고, 지정된 값을 더하고 업데이트하는 연산
    • 'memory address', '증분값' 2가지를 보낸다.
  • Compare-and-Swap (CAS)
    • 원격 메모리에서 값을 비교하고 조건이 맞으면 새로운 값으로 교체
    • 'memory address', '현재값', '변경값' 3가지를 remote에 보낸다.
  • Swap
    • 원격 메모리의 값을 교체하고 기존 값 반환
  • Fetch-and-Op
    • 지정된 연산을 수행한 후 결과 반환

Reference

- Infiniband 재전송 제어 이해

https://www.nminoru.jp/~nminoru/network/infiniband/iba-retransmission.html

 

InfiniBand の再送制御を理解する

このページでは InfiniBand の再送制御の機構と特徴について説明する。 以下は関連ページ。 更新履歴 (2014.04.10) 2013年4月8日の日記から作成。 (2014.04.17) 「3. RDMA READ と ATOMIC Operations の再送」を

www.nminoru.jp