One of the things (maybe the only thing) that we are missing when broadcasting the mesh are the boundary/subdomain names which are stored in boundary_info.

Namely these two guys:
std::map<boundary_id_type, std::string> _ss_id_to_name;
std::map<boundary_id_type, std::string> _ns_id_to_name;

I have only myself to blame since I originally added these data structures and to this date they are still only populated when using the Exodus reader.  We've become rather found of this capability in MOOSE and would like to get this data sent along with all the rest of the data during the broadcast operation.  In fact, right now we are using a crutch and skipping mesh.read() and loading the mesh on every processor as a workaround so that we can retrieve that information on each processor.  Yeah... this needs to get fixed.

So I'd be happy to work on this unless someone else wants to volunteer.  Clearly we'll need a pack this data up since the strings will be variable length as we send this over the wire.  I might need a little guidance as to where or how this can be done.  I looked at the mesh_broadcast routine and can't immediately see where all of the boundary_info data is sent.  I'm missing something here...

Thanks,
Cody