Announcement

Collapse
No announcement yet.

CPU Core Control

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Hi Guys! I have come to the solution where it still becomes very difficult to improve, without any other changes to the program!
    Here are two solutions, with two different hardware
    From post 31 we obtain the reference value of 200s using the 4 networked workstations.


    Running everything on the current HP600 dual xeon X5650 2.66 Ghz server (2x 6C / 12T) 12MB L3 cache memory - HD 1TB - 64 GB RAM (of which 32GB Smart Disk) we reach 270s using 10 threads. And I think the result is affected by the technology of 10 years ago of the motherboard, processor and RAM.

    To verify this I used a "recent" Intel Xeon W-2265 3.5 Ghz processor (base clock) 12C / 24T - cache 19.25MB 64GB Ram ddr4 2933 (32GB Ramdisk) - WIN10PRO 64 Bit - SSD NVME M.2 2280 1TB
    Making the appropriate changes to use 16 thead (5% of new code to make the calculations performed on the threads based on the old code) but without changing the corpus of the program consisting of the remaining 95%, with this configuration I get an amazing 52s

    Now I have to reflect how much of the improvement from 270s to 52s or about 1/5 (5.19x) is due to the speed of the RAM (dd4 2933), how much to the speed of the processor clock but also to the speed of the mechanical hard disk as well as the number of threads. It shouldn't be difficult now to find the real bottleneck between these aspects, by excluding them or changing them one by one.

    However, the surprising thing is that with just 1 new processor with 1Ghz more it does better than an old pair of identical processors with the same number of cores and threads at 2.66Ghz ... The technological difference (of Intel) developed in the its architectures in the 10 years has produced something since now everything is based on reducing the surface of the silicon for at least two reasons, reducing the power absorbed and increasing the number of cores ...

    Thanks to everyone for the many shared suggestions and for the precious help received !!!

    P.S. IMHO, the programmer does not have to deal only based on the ability to write good code but also on the characteristics of the hw that makes it run. In everything you need to find the right balance of the parties involved ...

    Comment


    • #42
      Hardware, cores, GPUs and CPUs....

      Correct me if I am wrong, but what I see in this thread is a performance challenge/opportunity with "code not shown."

      Michael Mattias
      Tal Systems Inc. (retired)
      Racine WI USA
      [email protected]
      http://www.talsystems.com

      Comment


      • #43
        Mimmo
        Too many of those one factors affect other many factors.
        You might of been using ram type DDR 2 before and likely DDR 4.
        From DDR 2 to DDR 3 there was a big improvement in speed and other performance qualities.
        The road to remove obstacles in ones path can easily make an undetermined person give up
        some one asked me years ago what was the best thing I could teach her I said, "Sometimes it is ok to quit" after I thought on it for 3 minutes
        I dont think many in this forum quit too often on anything.


        p purvis

        Comment


        • #44
          Dear Mr. Mattias, I believe that your interpretation can be formally correct but I would like to specify that the challenge you allude to is for me that I thought of doing the maximum possible, in terms of speed in terms of response time of my software, without modification of the current code for two important aspects:

          1) procrastinate the big investment of my client to modernize his platform which depends on the manufacturer of it, who has proposed that the upgrade "would integrate" in his platform what my software (with which I live) does outside the platform. Despite all the difficulties due to the different heterogeneous systems involved, my software still manages to do it in an excellent way with all the objective limits and the considerable difficulties of dialogue with this manufacturer, which obviously does not rejoice in my absolute refusal to sell my solution to him, including explanations of the mathematical model, assistance in porting them to C / C ++ on another OS from sources written in PB.

          2) Given the scenario in which my software works and offers its elaborations, I do not think it is intelligent to show code since it is a particular niche created by the "intuitions" of a very skilled operator in this sector. A sector rich in money but also sharks without any mercy, always looking for something to swallow easily, without effort.

          I didn't ask here how to improve my code, but I initially asked with humility, given my obvious incompetence, to the most experts still present here (who have opened this thread) in this wonderful forum, the things I wanted to deepen. Since I did not really know the meaning of Windows Threads and PB Threads, but also what it means task switching, concurrency, illusion of concurrency, hardware concurrency, et cetera.

          But now I have begun to understand, asking the most expert and generous programmers, who have expertly directed and enlightened me, and whom I thank warmly. I began to get my hands in the clay, to give concrete form to my hopes, making a mistake and trying again convinced that a hardware solution even if technically imperfect and relatively expensive can be accepted for a time sufficient to rewrite and test the new version that will run 'on the same OS that my client's platform runs on.

          I still have 6-8 months to rewrite and optimize the code, for example it will be possible to predict 90% of which possible pairs of historical series will want to analyze the operator logged in by the WSx, analyzing and inferring from his history of previous requests. This helps to improve the process, because if it respects the statistical 90% of correct predictions it means that I have made an improvement in efficiency at zero cost only by anticipating the movement of data from the large file to its relative local partition. But that's another story now ...

          Comment


          • #45
            Originally posted by Paul Purvis View Post
            Mimmo
            Too many of those one factors affect other many factors.
            You might of been using ram type DDR 2 before and likely DDR 4.
            From DDR 2 to DDR 3 there was a big improvement in speed and other performance qualities.
            The road to remove obstacles in ones path can easily make an undetermined person give up
            some one asked me years ago what was the best thing I could teach her I said, "Sometimes it is ok to quit" after I thought on it for 3 minutes
            I dont think many in this forum quit too often on anything.
            Hi Paul,
            I understand your thought because now it is clear to me the value of each piece of the puzzle and its possible influence by interacting in the total system. I totally agree with what you said to me in your last post. Thanks so much
            Mimmo

            Comment


            • #46
              Mimmo Be very aware just about all if not all NVME SSD drives run on the hot side and will throttle way back in speed when they reach a certain temperature.
              To keep them from doing so would require some cooling. There are heat sinks that fit on those drives. You can youtube some of those NVME PCIE adapters/extenders to see how some of those heat sinks get put on. I was actually amazed how hot the NVME sticks got when in even while just not doing anything. I need to get some of those heat sinks too.
              p purvis

              Comment


              • #47
                Paul, Thank you so much for this important advice to keep in mind given the possible consequences due to the increase in temperatures that affect these devices!

                Comment


                • #48
                  Hi Mimmo, Paul is right, I have a Samsung 970 EVO on my dev box but I bought a heat sink for it when I bought it and it plugs into a PCIe slot. I have an app called CrystalDiskInfo64 that I keep an eye on disks with and the EVO runs at about 35c which is comfortably within a safe temperature range. The rest is make sure the case is properly ventilated with enough fans.
                  hutch at movsd dot com
                  The MASM Forum

                  www.masm32.com

                  Comment

                  Working...
                  X