Skip to content

Grow LMDB map size incrementally #3730

@lukeyeager

Description

@lukeyeager

Several people have proposed decreasing the default LMDB map size from 1TB down to something smaller (#3644, #3728). The large default causes problems on ARM and Windows, and makes Valgrind unhappy (#2404).

@hyc, a maintainer (the author?) of LMDB, suggested catching MDB_MAP_FULL errors and growing the map size as needed.

you can just grow the map whenever you hit a MDB_MAP_FULL error
NVIDIA/DIGITS#206 (comment)

This was implemented with only a few lines of code in DIGITS:
https://github.com/NVIDIA/DIGITS/blob/v3.0.0/tools/create_db.py#L636-L660

2016-02-25 12:48:41 [DEBUG] Processed 200/60000
2016-02-25 12:48:42 [DEBUG] Doubling LMDB map size to 20MB ...
2016-02-25 12:48:43 [DEBUG] Processed 500/60000
2016-02-25 12:48:44 [DEBUG] Doubling LMDB map size to 40MB ...
2016-02-25 12:48:45 [DEBUG] Processed 800/60000
2016-02-25 12:48:48 [DEBUG] Processed 1200/60000
2016-02-25 12:48:48 [DEBUG] Doubling LMDB map size to 80MB ...
2016-02-25 12:48:50 [DEBUG] Processed 1600/60000
2016-02-25 12:48:52 [DEBUG] Processed 1800/60000
2016-02-25 12:48:54 [DEBUG] Processed 2200/60000
2016-02-25 12:48:56 [DEBUG] Doubling LMDB map size to 160MB ...
2016-02-25 12:48:56 [DEBUG] Processed 2600/60000
...

I submit that the same should be done for Caffe rather than simply changing the default map size.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions