티스토리 뷰

프로그래밍Tip

The Hoard Memory Allocator

이성권 2013. 3. 11. 15:41

UMass대학 Emery Berger교수가 2000년 경에 만든 메모리 할당 도구이다.  대표적인 사용 사례는 다음과 같다.  

 "멀티쓰레드 환경에서, 다중 쓰레드들이 동시에 메모리 할당을 운영체제에게 요구하면, 메모리 할당 관련 시스템 호출에서 쓰레드간에 경쟁이 발생하고,  이로 인해 직렬화가 발생하고, 전체적으로 성능이 많이 떨어지게 된다. " 

"레가시Legacy) 프로그램에서 사용할 수 있다." (기존 소스 코드의 변경 없이 사용 가능)

"멀티 코어/프로세서에서 캐시를 잘못 공유하여 발생할 수 있는 문제를 해결할 수 있다." 

등...


 과거 내게 좋은 느낌을 주었던 부분은 바이너리 형태의 소프트웨어에 적용 가능하다는 점이었다. 

하여간,  GC (Garbage Collector)관련하여 서베이하다가 우연히 다시 찾아 보게 되어 메모를 남긴다.

예전에는 개인 홈페이지에 있었던 것 같은데, 이제는 도메인도 갖추고 있다.(??!!) 

지원하던 운영체제가 조금 늘어난 것 같다. 현재 Linux, Solaris, Mac OS X, Windows를 지원한다.  레퍼런스 사이트도 상용업체와 오픈소스업체등 상당히 널리 사용되고 있다.


라이센스는 GPL 2.0인데, 필요하다면 상용 라이센스를 준단다.

아~ 그리고 오픈소스지.

-------

그 외 Emery Berger교수의 Software 링크를 보면, Hoard외에도 메모리 관리 관련 라이브러리 루틴 및 다양한 툴을 발견할 수 있다.