Q1: If you need to send multiple arrays with lengths that vary with each send is it better to used MPI_PACKED as opposed to creating a structure with the MPI_Type_create_struct command. In both instances in the send message you can specify the actual lengths of the different arrays to be sent. Q2: I have an application that uses OpenMP and can run in a shared-memory environment (multi-core, single-node etc.). How difficult is it to implement MPI in such an application - i.e. creating a hybrid OpenMP/MPI application? Can I build on what I have or do I need to go back to square one?