SMP2 is coming for Folding!

SciFrog

macrumors 6502
Original poster
Jul 31, 2008
308
0
http://folding.typepad.com/

After GPU3 annoucement (which will run on Mac OS X), we will also have SMP2 which will use threading and not MPI. It should mean the client will not crash when switching network anymore and will have easier stop/resume stability...
 

SciFrog

macrumors 6502
Original poster
Jul 31, 2008
308
0
SMP2 will also bring a bonus to crunch units faster, same as bigadv scheme.
 
Comment

lordonuthin

macrumors 6502
Jan 27, 2007
452
0
Iowa
SMP2 will also bring a bonus to crunch units faster, same as bigadv scheme.
I wonder if they are getting something under the table from Nvidia/AMD to get people to spend money on new GPU's :eek:

And speaking of GPU's one of my GTX 275 is not working, I will have to get it registered and rma'd. And the one that is working is getting 8900 ppd which from what I have seen is better than what the gtx 295's are getting? Maybe I'm wrong... 2 more will be here tomorrow! with psu's!
 
Comment

Detrius

macrumors 68000
Sep 10, 2008
1,621
19
Asheville, NC
Sorry I actually know what a MIP is I meant to ask what MPI is.
MPI = Message Passing Interface. It's used for cluster computing. Since it depends on sending messages between different processes over TCP/IP, it's susceptible to network changes. Since users are more likely to just install different clients on their different computers instead of using one to distribute work to other local computers, the multi-threading approach is the better approach at the client side. Communicating between multiple threads is also generally more efficient than trying to communicate between processes... with TCP/IP.

http://en.wikipedia.org/wiki/Message_Passing_Interface
 
Comment

MacBandit

macrumors 604
Thanks for the link. It didn't quite explain to me how Stanford was using MPI for Folding Distributing though.

So has Stanford been treating all the users cpus as a remote processing units and distributing to them as a big collective supercomputer? It seems rather inefficient. I've always thought that they were breaking down the large task into smaller tasks that could be downloaded processed and then transmitted back.
 
Comment

trainguy77

macrumors 68040
Nov 13, 2003
3,567
1
Thanks for the link. It didn't quite explain to me how Stanford was using MPI for Folding Distributing though.

So has Stanford been treating all the users cpus as a remote processing units and distributing to them as a big collective supercomputer? It seems rather inefficient. I've always thought that they were breaking down the large task into smaller tasks that could be downloaded processed and then transmitted back.
What currently happens from what I can tell. is the work unit is downloaded. It is one smaller task as you put it. However, you will notice in your activity monitor that it runs as four different processes currently running. Plus an extra control process. For these to communicate with each other they have to use a local version of MPI. As they are different applications. The new method will be different as it will be written as one application. But separate threads. This allows them to communicate much more easily.

Thats my understanding atleast. Correct me if I am wrong.
 
Comment

MacBandit

macrumors 604
Ah. Thanks for the explanation. I was trying to figure out why they would be doing this from the individual back to the servers.

I can see why this is such a screwy process. I guess I always thought (assumed) they were threading it but now that you mentioned it I see exactly what you mean.

One thing that doesn't quite make since to me though is why does it rely on networking if it's all local? I know this part must be true because I find that folding frequently crashes and/or becomes corrupted when I change networks.

It seems like this should also make it friendlier to other tasks being run on the system since it will be one multithreaded task possibly making it more flexible. I know right now I frequently have to pause folding or re-nice it if I plan on running any large streaming clients like Netflix.
 
Comment

Detrius

macrumors 68000
Sep 10, 2008
1,621
19
Asheville, NC
Ah. Thanks for the explanation. I was trying to figure out why they would be doing this from the individual back to the servers.

I can see why this is such a screwy process. I guess I always thought (assumed) they were threading it but now that you mentioned it I see exactly what you mean.

One thing that doesn't quite make since to me though is why does it rely on networking if it's all local? I know this part must be true because I find that folding frequently crashes and/or becomes corrupted when I change networks.

It seems like this should also make it friendlier to other tasks being run on the system since it will be one multithreaded task possibly making it more flexible. I know right now I frequently have to pause folding or re-nice it if I plan on running any large streaming clients like Netflix.

This is all speculation, as I don't even run the program, but here goes: The only reason I can imagine they would use MPI at the client side as opposed to threading it is that they are already using MPI to communicate back with the main servers. If this is the case, it would be relatively easy (from a learning-curve point of view) to continue on toward using this to communicate at the client side. If you're a grad student who's never written anything multithreaded, it's easier to stick with what you know than to experiment with something new. Likewise, going the multiprocess w/MPI route, you don't have to worry about shared memory or mutexes, so it's easier for the noob programmer to implement. Otherwise, I see no tangible benefit for using MPI like this.

I wrote cluster software with lammpi before I ever began writing multithreaded apps. I can attest that the MPI route takes less brain power. The multithreading route may be simpler to code, but there's a lot more to think about. Even in the professional field, I was the only person at my previous company who was not afraid of multithreading.
 
Comment

lordonuthin

macrumors 6502
Jan 27, 2007
452
0
Iowa
This is all speculation, as I don't even run the program, but here goes: The only reason I can imagine they would use MPI at the client side as opposed to threading it is that they are already using MPI to communicate back with the main servers. If this is the case, it would be relatively easy (from a learning-curve point of view) to continue on toward using this to communicate at the client side. If you're a grad student who's never written anything multithreaded, it's easier to stick with what you know than to experiment with something new. Likewise, going the multiprocess w/MPI route, you don't have to worry about shared memory or mutexes, so it's easier for the noob programmer to implement. Otherwise, I see no tangible benefit for using MPI like this.

I wrote cluster software with lammpi before I ever began writing multithreaded apps. I can attest that the MPI route takes less brain power. The multithreading route may be simpler to code, but there's a lot more to think about. Even in the professional field, I was the only person at my previous company who was not afraid of multithreading.
It's too bad that they probably won't be able to use Apple's grand central among other tech/tools since it would seem to be a really good way to go, but I can understand them not using it since they have to write for windows first...
 
Comment

trainguy77

macrumors 68040
Nov 13, 2003
3,567
1
One thing that doesn't quite make since to me though is why does it rely on networking if it's all local? I know this part must be true because I find that folding frequently crashes and/or becomes corrupted when I change networks.
For security reasons I think its the only way for separate processes to communicate with eachother. This way Safari can't send large chunks of data to mail.app for example.
 
Comment

trainguy77

macrumors 68040
Nov 13, 2003
3,567
1
I don't understand the need for the security.
Well if any application could send anything to any other applications your asking for viruses crashing and all sorts of issues. You need to have them sandboxed to some extend and have meditation for what can communicate. To get around this you use the network but the address 127.0.0.1.
 
Comment
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.