Bug 353859 - FaceEngine multi threaded ?
Summary: FaceEngine multi threaded ?
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Faces-Detection (show other bugs)
Version: 4.13.0
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-13 14:20 UTC by Ritesh Raj Sarraf
Modified: 2019-12-23 07:59 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 7.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ritesh Raj Sarraf 2015-10-13 14:20:07 UTC
Hello Gilles and other,

I am writing this bug report more to gather answers. While the behavior is buggy, you typical grounds some may not ack this as a bug report.


top - 19:22:47 up  1:22,  1 user,  load average: 2.46, 2.47, 2.66
Tasks: 280 total,   1 running, 279 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  1.0 us,  1.0 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  2.0 us,  0.0 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem : 7908.926 total,   54.078 free, 7101.984 used,  752.863 buff/cache
MiB Swap: 8579.996 total, 8229.297 free,  350.699 used.  426.590 avail Mem 
Change delay from 1.0 to 
  PID  PPID nTH USER        PR  NI S %CPU %MEM     TIME+ COMMAND                                                                                                                           UID 
15220     1  22 rrs         20   0 S 25.0 72.7  42:36.95 digikam                                                                                                                          1000 
10567 10565   2 rrs         20   0 S  0.2  0.7   1:04.03 Xorg                                                                                                                             1000 
10912 10555   4 rrs         20   0 S  0.2  0.3   0:25.02 gnome-terminal-                                                                                                                  1000 
18604     2   1 root        20   0 S  0.2        0:01.35 kworker/2:2                                                                                                                         0 


The problem with the current digikam/libkface implementation is 2 fold. First, it blocks so much memory. I think most of it is reclaimable as needed. But the other problem, of not using all available cores, is more annoying. It ends up taking way more time than necessary.

PS: Yes. I did select "Work on all cores" in the Advanced Tab.

Reproducible: Always

Steps to Reproduce:
1. Scan collection for faces
2. Ensure "Work on all cores" is selected
3. Start the scan

Actual Results:  
Memory Consumption spikes.

Only 1 processor core is in use.

Expected Results:  
Memory consumption shouldn't spike

All available cores should be used, perhaps with a slightly higher nice level
Comment 1 caulier.gilles 2015-10-18 10:36:12 UTC
yes libkface interface is multithreaded.

In libkface/tests, you will found CLI tool to check multicores-multithreads processing with the library.

In digiKam, face management use multicores-multithreads interface.

About the memory consumption, this is already fixed with recent libkface provided with last KDE4 release.

Gilles Caulier
Comment 2 caulier.gilles 2015-10-18 10:40:03 UTC

*** This bug has been marked as a duplicate of bug 338176 ***
Comment 3 caulier.gilles 2019-12-23 07:59:41 UTC
Problem is fixed with new 7.0.0-beta1 through this long story from this bug

https://bugs.kde.org/show_bug.cgi?id=399923

You can test digiKam 7.0.0-beta1 with bundle available here:

https://download.kde.org/unstable/digikam/

Don't hesitate to give us a fresh feedback about his entry.

Thanks in advance

Gilles Caulier