Information Technology Reference
In-Depth Information
Taskmaster 1
Slave 1.1
Slave 1.2
Master
Slave 1.3
Slave 1.4
Taskmaster 2
Slave 2.1
Slave 2.2
Slave 2.3
Slave 2.4
Taskmaster 3
Slave 3.1
Slave 3.2
Slave 3.3
Slave 3.4
Fig. 4. Domain Multilevel Decomposition example. Image is partitioned into blocks
before being sent to taskmasters. Each taskmaster divides the block into patches and
sends them to slaves in order to hide network latency.
Algorithm 3. Parallel implementation of the yaw angle estimation algorithm
function parallel yaw estimation( i t ,i t− 1 )
if Thread == Master then
Obtain blocks b jt and b jt− 1 for j =1 ... Jfrom I t and I t− 1
Send blocks to the J taskmasters
else if Thread == Taskmaster then
Receive block j from master thread
Obtain patches p it and p it− 1 for i =1 ... Kfrom b jt and b jt− 1
Send patches to the K slaves in charge of the j− th taskmaster
else if Thread == Slave then
ʔ d i findDisplacement( p it ,p it− 1 )
end if
gather( ʔ d i )
if Thread == Master then
m it m it− 1 + ʔ d i
ˈ
R z H findHomography( m it , m it− 1 )
return ˈ
end if
end function
4.1 Development and Execution Platform
The proposed algorithm was implemented in the C programming language, us-
ing the phaseCorrelate() function from OpenCV library [15] for both the
sequential and parallel version. In both Algorithm 1 and Algorithm 3, the find-
Homography() function was implemented with its homonym function from
OpenCV library as well.
The parallel version was implemented using the MPICH version of the Mes-
sage Passing Interface (MPI) library for parallel and distributed computing [16].
The experimental evaluation was performed on a commodity cluster made
with desktop computers with 3 rd generation Intel i5 processors and 8GB of
RAM connected to a 100Mb / s Ethernet LAN. In order to increase the amount
of nodes and threads, an old Dell Power Edge rack server with 2 AMD Opteron
 
Search WWH ::




Custom Search