Author

Topic: help me measure parallellizability of new memory-hard proof-of-work scheme (Read 861 times)

legendary
Activity: 990
Merit: 1108
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?
legendary
Activity: 1232
Merit: 1002
Oh I get it now! Thanks a lot for the info and sorry!
legendary
Activity: 990
Merit: 1108
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...
legendary
Activity: 1232
Merit: 1002
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
legendary
Activity: 990
Merit: 1108
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...
legendary
Activity: 1232
Merit: 1002
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
legendary
Activity: 990
Merit: 1108
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!







Jump to: