shared_mem vs pipes