[ 
https://issues.apache.org/jira/browse/IMPALA-14702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18061180#comment-18061180
 ] 

Joe McDonnell commented on IMPALA-14702:
----------------------------------------

Add jemalloc / google tcmalloc to the native toolchain with these two commits:
{noformat}
commit 679f827fdbef42637a5c4daf7adda743518ebd2f
Author: Joe McDonnell <[email protected]>
Date:   Fri May 16 18:57:18 2025 -0700    IMPALA-14702: Add google tcmalloc and 
jemalloc builds
    
    This adds a build of google tcmalloc from a custom branch
    that adds a very basic CMake build and pulls in a patch
    to let it use huge pages on a system that has THP configured
    in madvise mode. This branch is maintained in a public
    github repository here: https://github.com/joemcdonnell/tcmalloc.git
    
    This also adds jemalloc 5.3.0. It does not build it with
    profiling yet, but that can be added later as an extension.
    
    Change-Id: I701dc9d5e532fcc126fe6b0f5b46f55079ff00e2
    Reviewed-on: http://gerrit.cloudera.org:8080/24016
    Reviewed-by: Michael Smith <[email protected]>
    Tested-by: Joe McDonnell <[email protected]>

commit d01d9e83e7f9dd9ec698016a5f845922cddd8485
Author: Joe McDonnell <[email protected]>
Date:   Thu May 29 16:42:31 2025 -0700    IMPALA-14702 (prep): Bump Abseil 
version and only build static
    
    Abseil had some issues in its CMake build that resulted in
    flakiness building against it. This bumps Abseil to a more
    recent version (20250512.2) with those CMake build fixes.
    Moving to a newer Abseil breaks the 2024-03-01 re2 build.
    Since we aren't using that re2 version currently, this bumps
    that re2 build to 2025-11-05. (The regular re2 version that
    doesn't depend on Abseil continues to stay the same.)
    
    Google tcmalloc has a dependency on Abseil. Abseil has many
    small libraries with dependencies on each other. Consuming
    the CMake files in lib/cmake/* makes this much easier.
    We currently do a static build and then a shared build, but
    that means that the shared build overwrites the CMake files
    in lib/cmake/* so that it always uses shared libraries. That
    makes it harder to ship it in a Docker build. This removes
    the shared library build so that Abseil is always a static
    library.
    
    Testing:
     - Built google tcmalloc and verified that it uses static
       libraries for Abseil
    
    Change-Id: Ie8f4a89ba44994b06b24b8fdef2d054a965cbd31
    Reviewed-on: http://gerrit.cloudera.org:8080/24015
    Reviewed-by: Joe McDonnell <[email protected]>
    Tested-by: Joe McDonnell <[email protected]>{noformat}

> Add support for building against other malloc implementations (e.g. jemalloc)
> -----------------------------------------------------------------------------
>
>                 Key: IMPALA-14702
>                 URL: https://issues.apache.org/jira/browse/IMPALA-14702
>             Project: IMPALA
>          Issue Type: Task
>          Components: Backend
>    Affects Versions: Impala 5.0.0
>            Reporter: Joe McDonnell
>            Priority: Major
>
> Impala builds against gperftools tcmalloc. Other malloc implementations like 
> jemalloc and Google's tcmalloc have different designs that would be 
> interesting to test. We know that there are performance improvements related 
> to avoiding gperftool tcmalloc's aggressive decommit setting. It would be 
> nice to test that against other malloc implementations (or forgo overriding 
> malloc altogether).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to