load balancing, it also costs a price. The most important price is the time cost of
communication. The number of groups that need to be executed is big, and each
execution unit needs to report the result to the control unit after the execution is
completed, so a lot of communication costs are generated during the period. This
communication cost tends to be particularly expensive when communicating through
the network. Especially, when the amount of calculation of instructions is relative small
to the number of execution units, the overhead caused by such load balancing may even
exceed the benefits of parallelization.
3 Experiments
To test the gain of our scheme, we ran a CAD system in our scheme using data from the
LUNA16 dataset, and then compared the execution time between in single thread and
in our schemes.
In preprocess stage, we use OTSU method to calculate the threshold of whole
image [4], and then use the threshold to binary the image. Then, we use morphological
operations to segment the lungs [5]. We labeled various connected components and
cleared image border, then treated the two components with largest areas as lung
parenchyma. There were some other issues like blood vessels remained, so we applied
erosion operation and closure operation to remove the issue and filled the hole. With
the lung segmentation, we use region growing to generate candidate lung nodules [6]
(Fig. 1).
We use multi-thread to test our scheme in local environment, and use docker to
simulate computer cluster. Performance of our scheme in local environment and in
simulate computer cluster is show in Fig. 2. In local environment, we controlled the
number of execution units from 1 to 7, but the pipeline-based parallelization scheme
has only 1–4 execution units of data due to its poor scalability. In simulate computer
cluster, we controlled the network transmission speed from 1 to 10 MB/s.
Fig. 1. (1) Origin image; (2) image after threshold; (3) image after clear border; (4) lung mask;
(5) lung segmentation; (6) candidate lung nodules
Parallelization of Preprocessing for Automatic Detection …
587
communication. The number of groups that need to be executed is big, and each
execution unit needs to report the result to the control unit after the execution is
completed, so a lot of communication costs are generated during the period. This
communication cost tends to be particularly expensive when communicating through
the network. Especially, when the amount of calculation of instructions is relative small
to the number of execution units, the overhead caused by such load balancing may even
exceed the benefits of parallelization.
3 Experiments
To test the gain of our scheme, we ran a CAD system in our scheme using data from the
LUNA16 dataset, and then compared the execution time between in single thread and
in our schemes.
In preprocess stage, we use OTSU method to calculate the threshold of whole
image [4], and then use the threshold to binary the image. Then, we use morphological
operations to segment the lungs [5]. We labeled various connected components and
cleared image border, then treated the two components with largest areas as lung
parenchyma. There were some other issues like blood vessels remained, so we applied
erosion operation and closure operation to remove the issue and filled the hole. With
the lung segmentation, we use region growing to generate candidate lung nodules [6]
(Fig. 1).
We use multi-thread to test our scheme in local environment, and use docker to
simulate computer cluster. Performance of our scheme in local environment and in
simulate computer cluster is show in Fig. 2. In local environment, we controlled the
number of execution units from 1 to 7, but the pipeline-based parallelization scheme
has only 1–4 execution units of data due to its poor scalability. In simulate computer
cluster, we controlled the network transmission speed from 1 to 10 MB/s.
Fig. 1. (1) Origin image; (2) image after threshold; (3) image after clear border; (4) lung mask;
(5) lung segmentation; (6) candidate lung nodules
Parallelization of Preprocessing for Automatic Detection …
587
