병렬 매크로 확장을 위한 Lock-free 고유식별자 할당
Lock-free unique identifier allocation for parallel macro expansion
2
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
이 논문에서는 싱글 프로세스 멀티코어 환경의 매크로 확장에서 Lock이 필요하지 않은 더 효과적인 고유식별자 할당 방식을 제안한다. 이 할당 방식의 핵심 아이디어는 나머지 연산을 이용해순차적 의존성을 제거하는 것이다. 우리가 고안한 방식이 멀티코어 병렬 환경에서 매크로 확장의성능 개선에 적합함을 확인하기 위해, 기존에 순차적 방식의 고유식별자 생성으로 구현된 라이브러리를 우리가 고안한 방식으로 변경하여 변경 전의 버전과 후의 버전의 라이브러리로 작성된 같은 프로그램의 성능을 비교하는 벤치마크를 수행하였다.
Abstract
In this paper, we propose a more effective unique identifier allocation method for macro expansion in a single-process multicore parallel computing environment that does not require locks. Our key idea for such an allocation method is to remove sequential dependencies using the remainder operation. We confirmed that our lock-free method is suitable for improving the performance of parallel macro expansion through the following benchmark: we patched an existing library, which is based on a sequential unique identifier allocation, with our proposed method, and compared the performances of the same program but using two different versions of the library, before and after the patch.
참고문헌 (13)
- Paul J. Leach, "A Universally Unique IDentifier (UUID) URN Namespace", ~
- 안기영, "이름 관리 모나드 라이브러리 기반의 심볼릭 실행기에 결정적 병렬화를 적용하는 연구", 한국컴퓨터정보학회논문지, 26(2), pp.1~9 (2021), 한국컴퓨터정보학회[DOI]
- 김화목, "GC-Tune을 이용한 Haskell 병렬 프로그램의 성능 조정", 정보과학회 컴퓨팅의 실제 논문지, 23(8), pp.459~465 (2017), 한국정보과학회[DOI]
- Y. Kim, "A Shared-Memory based Haskell Parallel Programming Model for the Manycore Environments", Proceedings of the Korean Information Science Society Conference, pp.1554~1556 (2021)
- S. Weirich, "Binders unbound", Proceeding of the 16th ACM SIGPLAN international conference on Functional Programming, ICFP 2011, pp.333~345 (2011), ACM
- "unique: Fully concurrent unique identifiers, ver. 0.0.1" (2021)[URL]
- R. L. Bocchino, "Parallel programming must be deterministic by default", HotPar'09:Proceedings of the First USENIX conference on Hot topics in parallelism, pp.4~ (2009)
- S. Marlow, "Seq no more: better strategies for parallel Haskell", ACM SIGPLAN Notices, 45(11), pp.91~102 (2010)[DOI]
- S. Marlow, "A monad for deterministic parallelism", Haskell '11: Proceedings of the 4th ACM symposium on Haskell, pp.71~82 (2011)
- N. Krauter, "Persistent software transactional memory in Haskell", Proceedings of the ACM on Programming Languages, 5(ICFP), pp.1~29 (2021)[DOI]
- M. Bauer, "Scaling implicit parallelism via dynamic control replication", Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp.105~118 (2021)
- M. Lohstroh, "Toward a Lingua Franca for Deterministic Concurrent Systems", ACM Trans. Embed. Comput. Syst, 20(4), pp.1~27 (2021)[DOI]
- J. Swalens, "Chocola:Composable Concurrency Language", ACM Trans. Program. Lang. Syst, 42(4), pp.1~56 (2021)[DOI]
