Q:

How does GCC implement the C++ standard allocator? 

I am not familiar with tracking down the source codes to figure out the GCC STL implementation (libstdc++) of the C++ standard allocator, and I cannot find any brief explanation, documentation and technical reports that describe what the memory model that GCC selects. 
I guess that GCC uses several fixed-size buckets for storing small objects of the same  size in bytes and allocate large memory space ad hoc for large objects over the specific size. 
What is the specific memory model that GCC selects for the C++ standard allocator? 

A:

I cannot find any brief explanation, documentation and technical reports that describe what the memory model that GCC selects

Read the code.  It's open source, and it's included with the compiler as plain text. 
If you're not sure where your standard headers are, you can do one of two things:

learn how to ask the compiler as in this question
trick the compiler into telling you, eg.  by trying to do something std::allocator cannot
#include <memory>

int main() {
    std::allocator<int> a;
    a.allocate(&a);
    return 0;
}

gives
error ... 
In file included from \
  /usr/include/x86_64-linux-gnu/c++/6/bits/c++allocator.h:33:0,

When you find out that std::allocator just uses the heap to make all those decisions, you can look at the glibc source for malloc.