This is also proposed(N3960) to include into the future c++ standard.
The contents of that draft TS are not the same as the GNU C++ library's Parallel Mode algorithms. They are based on different designs and come from different groups of people.
How they should be used and when we should changes these attributes to verify how it would impact c++ program?
You can set the cache sizes to the correct values for your CPU, since different CPUs have different caches.
You tell the library what settings to use like this, e.g. for a CPU with 64kB L1 cache and 256kB L2 cache:
__gnu_parallel::_Settings settings; // constructed with default values
settings.L1_cache_size = 64 << 10;
settings.L2_cache_size = 256 << 10;
__gnu_parallel::_Settings::set(settings); // change global settings