Rosetta and multi-thread

Message boards : Number crunching : Rosetta and multi-thread

To post messages, you must log in.

AuthorMessage
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1866
Credit: 8,186,159
RAC: 6,319
Message 89823 - Posted: 3 Nov 2018, 12:32:40 UTC

Over 6 years ago, i asked if it is possible to have a multi-thread R@H app, and Rocco said:
Multi-threading would be a headache to support for no practical gain. Protocols typically function by taking a single structure through a series of steps, which means there's choke points which would limit the speed increase you'd get from multithreading.


But, during these years we have a lot of improvements in multi-core cpu (like Intel I9, Ryzen, Threadripper, etc) and, new Rosetta code has this function:
Rosetta's core and database modules are now threadsafe, permitting development of multi-threaded protocol


Interesting!
ID: 89823 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
rjs5

Send message
Joined: 22 Nov 10
Posts: 273
Credit: 21,509,420
RAC: 18,743
Message 89826 - Posted: 3 Nov 2018, 20:34:04 UTC - in response to Message 89823.  

Over 6 years ago, i asked if it is possible to have a multi-thread R@H app, and Rocco said:
Multi-threading would be a headache to support for no practical gain. Protocols typically function by taking a single structure through a series of steps, which means there's choke points which would limit the speed increase you'd get from multithreading.


But, during these years we have a lot of improvements in multi-core cpu (like Intel I9, Ryzen, Threadripper, etc) and, new Rosetta code has this function:
Rosetta's core and database modules are now threadsafe, permitting development of multi-threaded protocol


Interesting!


There are many things the developers say when they don't want to be bothered. 8-)

Simply redefining their 3-dimensional coordinate system would allow the compilers to use parallel register operations instead of scalar. For ALL machines they support, it means loading and operating 2-pairs of dimension coordinates instead of 3-scalar dimensions. There are 50% fewer loads (3 to 2). 50% fewer floating point operations (3 down to 2).

This also explains why I saw the dramatic increase in the amount of Rosetta 4.07 time in spin loops waiting on a resource. I spent 15 years as a SW Performance Engineer working on a LARGE application that used locks to protect data and locks can destroy performance if not handled properly. I expect a number of mistakes to be re-discovered by the Rosetta team.
ID: 89826 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1866
Credit: 8,186,159
RAC: 6,319
Message 89829 - Posted: 3 Nov 2018, 23:07:13 UTC - in response to Message 89826.  

There are many things the developers say when they don't want to be bothered. 8-)

We volunteers give our time and resource to this project, so we have the right to disturb the developers :-)

This also explains why I saw the dramatic increase in the amount of Rosetta 4.07 time in spin loops waiting on a resource.

:-(

I spent 15 years as a SW Performance Engineer working on a LARGE application that used locks to protect data and locks can destroy performance if not handled properly. I expect a number of mistakes to be re-discovered by the Rosetta team.

I think this is a great project. But i don't understand why not improve it...
ID: 89829 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
rjs5

Send message
Joined: 22 Nov 10
Posts: 273
Credit: 21,509,420
RAC: 18,743
Message 89832 - Posted: 4 Nov 2018, 0:23:41 UTC - in response to Message 89829.  

There are many things the developers say when they don't want to be bothered. 8-)

We volunteers give our time and resource to this project, so we have the right to disturb the developers :-)

This also explains why I saw the dramatic increase in the amount of Rosetta 4.07 time in spin loops waiting on a resource.

:-(

I spent 15 years as a SW Performance Engineer working on a LARGE application that used locks to protect data and locks can destroy performance if not handled properly. I expect a number of mistakes to be re-discovered by the Rosetta team.

I think this is a great project. But i don't understand why not improve it...



One can estimate the client computer equipment power consumption and then make some conservative estimates of the wattage that would be saved if Rosetta improved its performance by 10%, 20%, ... One can then estimate the client utility costs and how much the same work would cost them with improved performance. These calculations also apply to the U of Washington utility bill.
ID: 89832 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1866
Credit: 8,186,159
RAC: 6,319
Message 89838 - Posted: 5 Nov 2018, 7:22:46 UTC - in response to Message 89832.  

One can estimate the client computer equipment power consumption and then make some conservative estimates of the wattage that would be saved if Rosetta improved its performance by 10%, 20%, ... One can then estimate the client utility costs and how much the same work would cost them with improved performance. These calculations also apply to the U of Washington utility bill.


I agree, but Rosetta is already cpu-intensive, so if they publish multithread/SSEx/Avx/whatsoever apps, i think it's not a problem.
And i want to decide how to use my cpu, even if it consumes more.
ID: 89838 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1866
Credit: 8,186,159
RAC: 6,319
Message 89840 - Posted: 5 Nov 2018, 11:12:43 UTC - in response to Message 89832.  

One can then estimate the client utility costs and how much the same work would cost them with improved performance. These calculations also apply to the U of Washington utility bill.


I don't think utility bill is a problem
11.3 milion dollars for IPD
ID: 89840 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile [VENETO] boboviz

Send message
Joined: 1 Dec 05
Posts: 1866
Credit: 8,186,159
RAC: 6,319
Message 100518 - Posted: 31 Jan 2021, 11:48:41 UTC
Last modified: 31 Jan 2021, 11:54:09 UTC

No news from this side of development??
New cpu (intel and amd) are great in multithread....
And also c++ has new features about multithread/concurrency and C++ 20 concurrency
ID: 100518 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote

Message boards : Number crunching : Rosetta and multi-thread



©2024 University of Washington
https://www.bakerlab.org