terminate called after throwing an instance of 'boost::archive::archive_exception'
  what():  array size too short

What does this error mean? The message was too small or std::vector size was not big enough?
            std::vector< boost::mpi::request > reqs
            std::vector< T > Neighbor2Proc ;
            std::vector< T > Neighbor4Proc( 18 ) ;