SMP2 is coming for Folding!

Discussion in 'Distributed Computing' started by SciFrog, Dec 1, 2009.

  1. macrumors 6502

    Joined:
    Jul 31, 2008
    #1
    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...
     
  2. macrumors P6

    twoodcc

    Joined:
    Feb 3, 2005
    Location:
    Right side of wrong
    #2
    alright! i was just reading that a few minutes ago. looking forward to both!
     
  3. macrumors 6502

    lordonuthin

    Joined:
    Jan 27, 2007
    Location:
    Iowa
    #3
    Sounds good to me.
     
  4. thread starter macrumors 6502

    Joined:
    Jul 31, 2008
    #4
    SMP2 will also bring a bonus to crunch units faster, same as bigadv scheme.
     
  5. macrumors 604

    MacBandit

    Joined:
    Aug 9, 2002
    Location:
    Springfield, OR (Home of the Simpsons)
    #5
    So I know what SMP is but what is MIP? Similar thing?
     
  6. macrumors P6

    twoodcc

    Joined:
    Feb 3, 2005
    Location:
    Right side of wrong
    #6
    yeah i know. should be interesting

    i have no idea
     
  7. macrumors 6502

    lordonuthin

    Joined:
    Jan 27, 2007
    Location:
    Iowa
    #7
    MIPs is Million Instructions Per Second which is an old performance measure of for mainframes.

    and I think there used to be a company called MIP.
     
  8. macrumors 6502

    lordonuthin

    Joined:
    Jan 27, 2007
    Location:
    Iowa
    #8
    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!
     
  9. macrumors 604

    MacBandit

    Joined:
    Aug 9, 2002
    Location:
    Springfield, OR (Home of the Simpsons)
    #9
    Sorry I actually know what a MIP is I meant to ask what MPI is.
     
  10. macrumors 6502

    lordonuthin

    Joined:
    Jan 27, 2007
    Location:
    Iowa
    #10
    Oh, well, (in a nasal tone) never mind... (a salute to Gilda)! And, I haven't the foggiest idea what an MPI is! :D
     
  11. macrumors 68000

    Joined:
    Sep 10, 2008
    Location:
    Asheville, NC
    #11
    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
     
  12. macrumors 604

    MacBandit

    Joined:
    Aug 9, 2002
    Location:
    Springfield, OR (Home of the Simpsons)
    #12
    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.
     
  13. macrumors 68040

    trainguy77

    Joined:
    Nov 13, 2003
    #13
    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.
     
  14. macrumors 604

    MacBandit

    Joined:
    Aug 9, 2002
    Location:
    Springfield, OR (Home of the Simpsons)
    #14
    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.
     
  15. macrumors 68000

    Joined:
    Sep 10, 2008
    Location:
    Asheville, NC
    #15

    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.
     
  16. macrumors 6502

    lordonuthin

    Joined:
    Jan 27, 2007
    Location:
    Iowa
    #16
    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...
     
  17. macrumors 68040

    trainguy77

    Joined:
    Nov 13, 2003
    #17
    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.
     
  18. macrumors 604

    MacBandit

    Joined:
    Aug 9, 2002
    Location:
    Springfield, OR (Home of the Simpsons)
    #18
    I don't understand the need for the security.
     
  19. macrumors 68040

    trainguy77

    Joined:
    Nov 13, 2003
    #19
    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.
     
  20. macrumors 604

    MacBandit

    Joined:
    Aug 9, 2002
    Location:
    Springfield, OR (Home of the Simpsons)
    #20
    I understand the need for separation on a system wide basis but not between processes being controlled by the same app.
     

Share This Page