Bitcoin Forum
December 05, 2020, 09:31:52 AM *
News: Latest Bitcoin Core release: 0.20.1 [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 793 times)
tromp
Hero Member
*****
Offline Offline

Activity: 677
Merit: 570


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!







1607160712
Hero Member
*
Offline Offline

Posts: 1607160712

View Profile Personal Message (Offline)

Ignore
1607160712
Reply with quote  #2

1607160712
Report to moderator
1607160712
Hero Member
*
Offline Offline

Posts: 1607160712

View Profile Personal Message (Offline)

Ignore
1607160712
Reply with quote  #2

1607160712
Report to moderator
1607160712
Hero Member
*
Offline Offline

Posts: 1607160712

View Profile Personal Message (Offline)

Ignore
1607160712
Reply with quote  #2

1607160712
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
serje
Legendary
*
Offline Offline

Activity: 1204
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

VAL GLI BMF KotD
tromp
Hero Member
*****
Offline Offline

Activity: 677
Merit: 570


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: 1204
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

VAL GLI BMF KotD
tromp
Hero Member
*****
Offline Offline

Activity: 677
Merit: 570


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: 1204
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!

VAL GLI BMF KotD
tromp
Hero Member
*****
Offline Offline

Activity: 677
Merit: 570


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!