Information Technology Reference
In-Depth Information
Because it is hard to build analytical equations involving those variables,
performing computer benchmarking via a computational model is therefore a
reasonable method to evaluate performance and characterize the architecture.
It is important to emphasize that the quality of a benchmarking tool should
not depend on particular architecture. This extra requirement is solved by dis-
covering the relations of the different cores within each level of cache.
3.2 MBSPDiscover Design
The existing benchmark
BSPbench
for the standard BSP model [1] was used as
a reference baseline to design the MBSPDiscover tool. The obvious difference
between the existing benchmark and the new one is the need of obtaining pairs
of values for the
g
and
L
parameters for each level of components in the Multi-
BSP model. In addition, in the MultiBSP case, the processing is made inside of
multicore nodes instead of outside nodes through the network.
Software Architecture and Modules.
Fig. 3 shows the software architecture
for the kernel of the MBSPDiscover proposal. The functionality for each of the
processes displayed in the figure is explained below:
-
Discovering module
: the hardware architecture is collected by using
hwloc
and it is loaded in a tree of resources. This structure is inside the
hwloc
API
box.
-
Interface
: Once the tree structure is generated, a set of functions walk across
the tree using a bottom-up process for building a new tree named
MBSPTree
that contains all the information needed to support the MultiBSP model.
-
Benchmarking module
: It retrieves core indexes and memory size from the
MBSPTree
for each level. Then it measures communication and synchroniza-
tion cost through a MultiBSP submodule, as well as an anity submodule
for pinning levels on the right cores. Finally it computes the resulting
g
and
L
parameters.
1
MBSPTree = multibsp_discover()
2
3
foreach (level in MBSPTree) {
4
g,L = coreBenchmark (level)
5
}
Algorithm
1.1.
MBSPDiscover
pseudocode.
Fig. 3.
Schematic view (left) and pseudocode (right) of the MBSPDiscover process
MBSPTree
acts as the interface between both modules. Fig. 4 shows the struc-
ture corresponding to the hardware architecture presented in Fig. 5.