Key points are not available for this paper at this time.
동적 메모리 할당기(malloc/free)는 다중 스레딩 환경에서 공유 데이터 구조의 일관성을 보호하기 위해 상호 배제 락에 의존합니다. 락을 사용하는 것은 성능, 가용성, 견고성 및 프로그래밍 유연성 측면에서 많은 단점을 가지고 있습니다. 락 없는 메모리 할당기는 일부 스레드가 지연되거나 종료되더라도 진행이 보장되며, 스케줄링 정책에 관계없이 작동합니다. 본 논문은 완전히 락 없는 메모리 할당기를 제안합니다. 이는 폭넓게 사용 가능한 운영 체제 지원과 하드웨어 원자 명령어만을 사용합니다. 임의의 스레드 종료 및 충돌 실패에서도 가용성을 보장하며, 스케줄링 정책에 관계없이 교착 상태에 면역이 있어서 특별한 스케줄러 지원 없이 인터럽트 핸들러 및 실시간 애플리케이션에서도 사용할 수 있습니다. 또한, Hoard의 일부 고수준 구조를 활용하여, 우리의 할당기는 매우 확장 가능하며, 공간 폭발을 일정한 인자로 제한하고, 잘못된 공유를 피할 수 있습니다. 게다가, 우리의 할당기는 Hoard보다 더 미세한 동시성과 훨씬 낮은 대기 시간을 허용합니다. 우리는 PowerPC 공유 메모리 다중 프로세서 시스템을 사용하여 기본 AIX 5.1 libc malloc, Hoard 및 Ptmalloc의 두 가지 널리 사용되는 다중 스레드 할당기와 우리의 할당기 성능을 비교합니다. 우리의 할당기는 거의 모든 경우에서 다른 할당기보다 우수하며, 다양한 수준의 병렬성과 할당 패턴 아래에서 종종 상당한 차이를 보입니다. 더욱이, 우리의 할당기는 다른 할당기들보다 훨씬 낮은 경합 없는 지연 시간을 제공합니다.
Maged M. Michael (수), 이 질문을 연구했습니다.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: