Discussion:
[libtorrent] Installing Libtorrent in a High Performance Computer
Ronald Degmar
2017-02-13 06:54:49 UTC
Permalink
Hello,

After configuring libtorrent via ./configure, there's an option to do:
make -j$(nproc)
Does this option really utilize all available CPU cores?
What are the specifications about this? How does it translate to each
libtorrent session?

I'm thinking on testing libtorrent in an HPC (High Performance Computer).
Is libtorrent capable to work in these environments?

Previously I was just simply doing make & make install, so I don't know how
different is the behavior when specifying "nproc".

Ronald Barrios
sledgehammer999
2017-02-13 12:47:40 UTC
Permalink
The "make -j<number>" command is relevant only while compiling the
libtorrent code.
AFAIK, you cannot directly control libtorrent on how many threads it will
use during runtime.
But, the latest series(1.1.x) have decoupled a few things into different
threads and great efforts have been made into making the code very
efficient and scalable. However, I haven't done any tests myself, and I am
not aware of any benchmarks posted by someone else.

Wait for the author to reposnd, he knows better the internals of libtorrent.
Post by Ronald Degmar
Hello,
make -j$(nproc)
Does this option really utilize all available CPU cores?
What are the specifications about this? How does it translate to each
libtorrent session?
I'm thinking on testing libtorrent in an HPC (High Performance Computer).
Is libtorrent capable to work in these environments?
Previously I was just simply doing make & make install, so I don't know how
different is the behavior when specifying "nproc".
Ronald Barrios
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Libtorrent-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
Arvid Norberg
2017-02-14 01:41:26 UTC
Permalink
Post by Ronald Degmar
Hello,
make -j$(nproc)
Does this option really utilize all available CPU cores?
What are the specifications about this? How does it translate to each
libtorrent session?
as sledgehammer points out, -j is an option to "make", not libtorrent or a
client using libtorrent.
Post by Ronald Degmar
I'm thinking on testing libtorrent in an HPC (High Performance Computer).
Is libtorrent capable to work in these environments?
Yes. I take HPC to mean more cores and more memory, both of which
libtorrent can utilize. There are currently some limitations in that
network I/O is performed in a single thread. However, the bulk of the work
(calculating SHA-1 hashes and performing disk I/O) is done in a pool of
threads.

You may need to do some tweaking to get the best performance/throughput.
Specifically bumping up the disk cache size, the number of disk threads and
send buffer sizes.
--
Arvid Norberg
Loading...