Bitcoin Forum
September 21, 2023, 10:13:56 AM *
News: Latest Bitcoin Core release: 25.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: help me measure parallellizability of new memory-hard proof-of-work scheme  (Read 835 times)
tromp (OP)
Legendary
*
Offline Offline

Activity: 920
Merit: 1022


View Profile
February 24, 2014, 07:16:19 PM
 #1

As developer of the Cuckoo Cycle proof of work, I'm trying to determine the maximum number of threads that can effectively work together on a single problem instance.

The largest machine I have access to has 32 threads (dual 8 core hyperthreaded) which yield a speedup of 16.7 over single-threaded runs. I'm very curious to know how many threads it takes to saturate the memory IO, so that additional threads bring no benefit.

The Makefile provided at https://github.com/tromp/cuckoo contains a basic speedup test
  make speedup.25
that only goes up to 8 threads, using 128MB instances (size 25).

If anyone has access to a Linux machine with more than 32 threads, could you please run a variation of that test with instances of size 28 (using 1GB) and as many threads as your system supports, and post a summary of your results?

For instance, if your system supports up to 60 threads, and you only want to try a subset of thread counts, you could do

for i in 1 2 8 16 32 48 52 56 60; do echo $i; cc -o cuckoo.spd -DNTHREADS=$i -DSIZEMULT=1 -DSIZESHIFT=28 cuckoo.c -O3 -std=c99 -Wall -Wno-deprecated-declarations -pthread -l crypto; time for j in {0..9}; do ./cuckoo.spd $j; done; done

Each single threaded run at size 28 takes about half a minute, so the entire test above should take under 15 minutes.

Any help is appreciated!







1695291236
Hero Member
*
Offline Offline

Posts: 1695291236

View Profile Personal Message (Offline)

Ignore
1695291236
Reply with quote  #2

1695291236
Report to moderator
The forum was founded in 2009 by Satoshi and Sirius. It replaced a SourceForge forum.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1695291236
Hero Member
*
Offline Offline

Posts: 1695291236

View Profile Personal Message (Offline)

Ignore
1695291236
Reply with quote  #2

1695291236
Report to moderator
1695291236
Hero Member
*
Offline Offline

Posts: 1695291236

View Profile Personal Message (Offline)

Ignore
1695291236
Reply with quote  #2

1695291236
Report to moderator
serje
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002



View Profile
February 24, 2014, 07:32:07 PM
 #2

I have
1 with 16
2 with 8
4 with 4

if you need my help I have to let you know that I don't know how to compile Smiley

Space for rent if its still trending
tromp (OP)
Legendary
*
Offline Offline

Activity: 920
Merit: 1022


View Profile
February 24, 2014, 07:49:27 PM
 #3

1 with 16

You mean 1 machine with 16 threads?
I'm sorry but that's not enough for my purposes.
I already tested up to 32 threads...
serje
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002



View Profile
February 24, 2014, 07:55:40 PM
 #4

1 with 16

You mean 1 machine with 16 threads?
I'm sorry but that's not enough for my purposes.
I already tested up to 32 threads...

it looks like this
I doubt it has 1275 Threads

Space for rent if its still trending
tromp (OP)
Legendary
*
Offline Offline

Activity: 920
Merit: 1022


View Profile
February 24, 2014, 07:59:44 PM
 #5

1 with 16

You mean 1 machine with 16 threads?
I'm sorry but that's not enough for my purposes.
I already tested up to 32 threads...

it looks like this
I doubt it has 1275 Threads

That's the number of runnable threads. The image shows 16 cores (real or virtual).
So out of those 1275, at most 16 can be running at any one time...
serje
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002



View Profile
February 24, 2014, 08:05:25 PM
 #6

Oh I get it now! Thanks a lot for the info and sorry!

Space for rent if its still trending
tromp (OP)
Legendary
*
Offline Offline

Activity: 920
Merit: 1022


View Profile
February 25, 2014, 03:03:05 AM
 #7

Oh I get it now! Thanks a lot for the info and sorry!

As far as Amazon Web Services goes, a dual-cpu with each cpu having 8 hyper-threaded cores seems to be the best they can offer. So I cannot get beyond 32 threads with Amazon.

Some dual-cpus like the Xeon E7-2880 have as many as 15 (hyper-threaded) cores, which could provide 60 threads. To get beyond 60 threads requires a machine with a quad-cpu (Xeon E5-4XXX, E7-4xxx) or octa-cpu (E7-8xxx). Are any cloud computing providers offering these?
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!