아래에 설명 된 트랜잭션 메모리에 대한 이해가 정확합니까?

Dec 22 2020

초월 명상을 이해하려고 노력하고 있습니다. 나는 여기에서 Ben의 대답을 읽고 인터넷의 다른 기사를 이해하려고 노력했습니다. 그래도 올바르게 이해했는지는 아직 확실하지 않습니다. 트랜잭션 메모리에 대한 이해에서 스레드는 트랜잭션을 병렬로 실행할 수 있습니다. 두 개 이상의 스레드가 동일한 트랜잭션 변수에 액세스하려고하면 하나를 제외한 모든 스레드가 트랜잭션을 중단하고 다시 시작합니다 (반드시 즉시는 아니지만 특정 지점에서). 중단하지 않는 것은 트랜잭션 변수를 업데이트합니다.

즉, TM의 모든 스레드는 병렬로 실행되며 트랜잭션 변수에 대한 액세스 겹침이 발생하지 않기를 바라며 만약 있다면 하나의 스레드 만 계속하고 다른 스레드는 롤백하고 재 시도합니다. 초월 명상에 대한 이해가 맞습니까?

답변

1 mevets Dec 23 2020 at 11:26

꽤 좋은 시놉시스입니다. 세부 사항은 매우 복잡하며 일부 트랜잭션은 주어진 TM 모니터에서 표현할 수 없습니다. 즉, 거래의 두 가지 구현, 즉 낙관적 및 비관적 구현을 ​​포함해야 할 수 있습니다.

캐시는 기본 구현입니다. 메모리에 대한 트랜잭션 참조를 만들 때 캐시는이를 기록하고 해당 참조가 수정되면 경보 (다시 시작)를 생성하거나 수정 된 경우 트랜잭션 닫기를 거부합니다.

트랜잭션 변수의 수는 일반적으로 캐시의 연관성보다 적어야합니다. 그렇지 않으면 캐시에서 서로를 제거하여 트랜잭션을 완료 할 수 없게됩니다.

트랜잭션 중에 인터럽트가 작동하는 방식은 여전히 ​​열려있는 문제입니다.

요컨대, 20 년 전에는 약간 흥미로운 아이디어였습니다. 일반적인 사용성에 가까워지면서 하드웨어 요구 사항이 빠르게 확장되는 것 같습니다. 컴퓨터 시스템을 가속화하는 것보다 추운 기후를 따뜻하게하는 데 더 유용 할 수 있습니다.