Results 1 to 18 of 18

Thread: more memory?

  1. #1

    more memory?

    Hello all, I'm currently running Folding on 2 machines both with 768MB of PC2100 Ram. I run Folding with the memory enhancement on, and it uses about 106MB of ram. Considering it runs twice as fast in this mode, is there a way to allocate more memory to the program? I was thinking around double what i'm useing now? 220MB of ram? Or would I just be wasting my time with this?

  2. #2
    Stataholic Tyrfang's Avatar
    Join Date
    Oct 2002
    Location
    Winnipeg MB Canada
    Posts
    44

    Re: more memory?

    Originally posted by Thecommi
    Hello all, I'm currently running Folding on 2 machines both with 768MB of PC2100 Ram. I run Folding with the memory enhancement on, and it uses about 106MB of ram. Considering it runs twice as fast in this mode, is there a way to allocate more memory to the program? I was thinking around double what i'm useing now? 220MB of ram? Or would I just be wasting my time with this?
    There's a post I read earlier today that I can't find right now, but it was talking about the maximum memory usage. I think this protein tops out at about 120 MB of memory usage if I remember correctly. I'll see if I can find the post

  3. #3
    Senior Member wirthi's Avatar
    Join Date
    Apr 2002
    Location
    Pasching.AT.EU
    Posts
    820

    Re: more memory?

    Originally posted by Thecommi
    Hello all, I'm currently running Folding on 2 machines both with 768MB of PC2100 Ram. I run Folding with the memory enhancement on, and it uses about 106MB of ram. Considering it runs twice as fast in this mode, is there a way to allocate more memory to the program? I was thinking around double what i'm useing now? 220MB of ram? Or would I just be wasting my time with this?
    There is no documented way to do this. And, you must consider, the whole program IS in Ram now. Without changing the algorithm, I see no way that more Ram makes the program any faster.

    Of course it's possible that the algorithm could be further optimized (but uses more ram then), but that's a question Howard must answer.

  4. #4
    What he just said.
    Howard Feldman

  5. #5
    Junior Member Admiral's Avatar
    Join Date
    Nov 2002
    Location
    Romania
    Posts
    10
    If you have large amounts of physical memory, can't you run more than one text client at a time by putting them in different folders ?

    I've done this with 2 clients at a time, but since I only have 256mb of ram and running XP, the performance wasn't that great.
    I'm curious how a system with more ram (384+) behaves?

  6. #6
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    Regardless of the amount of RAM, you still only have one processor. If you can get two clients running at the same time on one processor, they'll run at half speed (actually, probably slightly slower), gaining you nothing.

    Basically, run a number of clients equal to the number of processors you have, or you gain nothing.

  7. #7
    I had 2 clients running for about 1 hour now, an no success. Both clients together are still producing the same amount of structures as 1 client. Thought it would be worth a try. I want to upgrade to a Dual Processor system, than i should beable to run 2 clients just fine, procucing about 300,000 structures a day I wonder if it would be possible to set up a Ram disk and Run the client, My thought on running 2 clients in the same memory is that the memory is trying to do to much work in different areas. now that i look at it.... i'm down about 300 units per hour. So maybe with a Ram disk running off the hard drive, or off a secondary hard drive that isnt being used by windows, would it run just a fast as a Dual Processor system? any thoughts on that subject?

  8. #8
    Senior Member wirthi's Avatar
    Join Date
    Apr 2002
    Location
    Pasching.AT.EU
    Posts
    820
    Running two instances would improve the output if the ressource they are waiting for most of the time was really slow (Printer, CD Burner, ...). With such ressources you can double your output because most of the time the processor waits for the ressource to complete it's work and thus, it can serve two (or more of those ressources.

    With the Ram, things are different. Of course the Ram is slower then the processor (and the processor often has to wait for data from the Ram), but it's not so slow running two instances of DF at one time would improve the output - the swapping of the two processes or threads would take too much time.

    So, your idea would be great, if the Ram was slower.

    The "-rt" option improves your performance because then all the data is transfered from harddisk to Ram; and Harddisk is a "slow" device.

  9. #9
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    When you run the client from a ramdisk, you are effectively doing exactly the same thing as the -rt option does. The -rt option keeps the data that the client is currently working on in RAM at all times, rather than writing it back to the disk. If you run without -rt, but based off a ramdisk, then you get the same performance improvement over running without -rt on a normal disk, because again, the reads and writes are going to RAM rather than the slow disk.

    The problem with running two clients is that you cannot have two processes running at the same time on one CPU! It may look like you have multiple things running at once to you, but that's only because the processor is switching back and forth between them too fast for you to notice the latency. There is still only one instruction stream running through the processor. If that instruction stream consists mostly of one instance of DF (and the rest being whatever else the user is running; most of which doesn't require much), then you'll see a certain output level. If you run two instances of DF (regardless of how the memory, disk, ramdisk, or whatever is set up and used), then you can still physically only have one instruction stream running through the processor at a time, and you'll still complete processor-level instructions at the same rate. The fact that this single stream now belongs partly to one instance of DF and partly to the other only makes each instance run half as fast (since it has the processor for half the time that it would if the other instance wasn't running). You're running two instances, but they're each going at half speed, so you see no difference whatsoever. This is, again, because there's only one instruction stream that can be executed.

    If you have two processors, then you can execute two instruction streams at any given time (now, there might be inter-processor synchronization you have to do, but that's a very small percentage of the time, usually). Which means that if you run two instances of DF, each one will get its own processor, and each one will run at full speed. Which means you'll get double the output, roughly.

    In short, DF is CPU-bound. The CPU is the limiting factor in performance, not memory (well, not past a point), not disk, nothing like that.


  10. #10
    The problem with running two clients is that you cannot have two processes running at the same time on one CPU!
    Isn't that what "Hyperthreading" was supposed to accomplish?

  11. #11
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    Meh, yeah, if you believe Intel's marketing department :bs: But seriously, IIRC, hyperthreading doesn't buy you much unless one process is heavily floating-point and the other is not. I could be wrong on that, but that's what I remember from a while ago.

    Besides, even in the Xeon CPUs with hyperthreading, they're really nothing more than 2 processors on one chip, with some FP optimization done to one of them (again, IIRC). It's sort of like poor man's SMP... sort of. In a twisted way.

  12. #12
    Member
    Join Date
    May 2002
    Location
    South Carolina
    Posts
    38
    If you have dual processors running at 1800 you have the equivelent of 2 processors running at 1700.

    If you wanted to increase performance you take a single processor good for overclocking and run the memory speed up higher.

    HT works a good article is in tomshardware.com and at the end there is a video deminstrating it. HOWEVER as stated previous by other people you have to use multiple programs that are not using the same part of the processor. A single program such as a game will NOT preform better at the present time using HT. Only if you run 2 programs at the same time will you see benefits. At a price now of $637 its to much and a AMD 2700+ XP depending on application would beat this Intel processor.
    The AMD 2700+ XP is less than 1/2 that price
    muttley

  13. #13
    Originally posted by muttley
    A single program such as a game will NOT preform better at the present time using HT.
    muttley
    Unless you have [H]T.

  14. #14
    Member
    Join Date
    May 2002
    Location
    South Carolina
    Posts
    38
    games are not written at the present time enmass to take advantage of HT even if you did have HT enabled processor.

    That better.

    At the present time only if you have 2 programs running that use different parts of the processor can a speed increase occure.

    But if you were to make a media of something and Play Quake at the same time turning on and off HT would make a difference. But most people would want all the FPS they could get playing quake. So in that sense it is pointless.

    Now for the CAD type person it would seem to be better for Dual Processors. As 'CAD' are written for multi processors.

    An example of the following is that of DC computing You may have PC-2100 ram and consider that with dual processors the bottleneck would be ram speed but when running an instance on each processor due to overhead an 1800 processor behaves like a 1700 processor. And in this case you are basicly getting the same performance of 2 computers with 1700 processors or ~200% gain where HT looks at the best of 30% again when running multiple programs.

    muttley

  15. #15
    Senior Member wirthi's Avatar
    Join Date
    Apr 2002
    Location
    Pasching.AT.EU
    Posts
    820
    Originally posted by muttley
    ...

    An example of the following is that of DC computing You may have PC-2100 ram and consider that with dual processors the bottleneck would be ram speed but when running an instance on each processor due to overhead an 1800 processor behaves like a 1700 processor. And in this case you are basicly getting the same performance of 2 computers with 1700 processors or ~200% gain where HT looks at the best of 30% again when running multiple programs.

    muttley
    Nevertheless the 30% are quite impressing - you only have to buy one CPU (compared to two in a dual system). I just hope Intel doesn't make them too expensive ...

    (Just a matter of maths: I'd say you gain 100% by a dual system compared to an single CPU system. If you gain 200%, you'd have the power of three CPUs ...)

  16. #16

    Talking

    [H]alo Jones:

    That was FUNNY!

    I wonder if anyone else caught it.

    BTW, what you need is not so much two different applications (though this is the best bet) but simply two threads which are using different parts of the processor.

    For example, SETI sees a significant performance improvement in terms of total yield when running one instance per "virtual cpu" (i.e. 2 cpus, 4 virtual cpus using HT and 4 instances of the SETI client).

    Prime95, however, does NOT. Most that I have heard discuss it attribute this to a lack of efficiency in the SETI client, as both dc apps run similar types of tests (FFT operations).

    A heavily optimized application running in two instances with HT enabled isn't likely to see any noticeable gain. Two applications or two instances of a single poorly coded application, however, should see a bit of a boost overall.

  17. #17
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    Originally posted by wirthi
    you only have to buy one CPU (compared to two in a dual system). I just hope Intel doesn't make them too expensive ...
    Hyperthreading has been implemented in the Xeon processors for quite some time. Have you seen how insanely expensive they are? I want to say they're about double the comparable non-Xeon processor's price, though I could be wrong. Now part of that is the larger L1 and L2 caches, but considering the P3-800 processor with the 133 FSB still costs as much as an AMD XP2100 (this is according to Pricewatch), it seems that overcharging is in Intel's collective blood, or something... (sorry, had to get that jab in there somehow... )

  18. #18
    Member
    Join Date
    May 2002
    Location
    South Carolina
    Posts
    38
    The other thing is that you need a OS that supports dual processors natively for best performance. That means Windows 2000 is not native and Windows XP home is out also. Linux I don't know about.

    30% isn't that much in that most time a computer sets idle.
    The reason I say that also is that when PC's were slower the amount of usage to defragment a hard drive was a lot. So doing 2 programs caused dificulity at times sharing the cpu time (not hard drive.)
    Now where is good enough? a AMD XP 1600+ for $55 and a video card such as a TI 4200. Thats a lot better than most OEM put together.
    Now the nForce2 has came out is the chipset as good/reliable as intel chipsets? If so thats a hurdle overcome.
    As for myself when the AMD XP series came out I have just been using AMD's since. My only thoughts are are the new celerons worthy to compete in any low end scene such as thin desktop client cause of more widely supported intel board all in one combos and reliable intel chipsets.
    http://k12ltsp.org/contents.html
    muttley

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •