  The family of Multiscale Hybrid-Mixed (MHM) finite element methods has
received considerable attention from the mathematics and engineering community
in the last few years. The MHM methods allow solving highly heterogeneous
problems on coarse meshes while providing solutions with high-order precision.
It embeds independent local problems which are responsible for upscaling
unresolved scales into the numerical solution. These local contributions are
brought together through a global problem defined on the skeleton of the coarse
partition. Since the local problems are completely independent, they can be
easily computed in parallel. In this paper, we present two simulator prototypes
specifically crafted for the MHM methods, which adopt two different
implementation strategies: (i) a multi-programming language approach, each
language tackling different simulation issues; and (ii) a classical,
single-programming language approach. Specifically, we use C++ for numerical
computation of the global and local problems in a modular way; for process
distribution in the simulator, we adopt the Erlang concurrent language in the
first approach, and the MPI standard in the second approach. The aim of
exploring these different approaches is twofold: (i) allow for the deployment
of the simulator both in high-performance computing (with MPI) and in cloud
computing environments (with Erlang); and (ii) pave the way for further
exploration of quality attributes related to software productivity and
fault-tolerance, which are key to Exascale systems. We present a performance
evaluation of the two simulator prototypes taking into account their
efficiency.
