Results 1 to 10 of 10

Thread: Climateprediction.net News

  1. #1
    AMDave's Avatar
    AMDave is offline Seeker of the exit clause Moderator
    Site Admin
    Join Date
    Jun 2004
    Location
    Deep in a while loop
    Posts
    9,609

    Climateprediction.net News

    Future weather@home applications will only run on a single operating system: Windows, Linux or Mac – here’s why…
    As we continue developing new weather@home applications – regional climate models that look at particular extreme weather events – we will be moving to a policy of picking a single operating system for each, rather than developing all models for all operating systems. By doing this, we aim to improve both the reliability and the […]

    More...

  2. #2
    NeoGen's Avatar
    NeoGen is offline AMD Users Alchemist Moderator
    Site Admin
    Join Date
    Oct 2003
    Location
    North Little Rock, AR (USA)
    Posts
    8,451
    This is not so good... it appears the developers don't have a common code base since the applications produce different results in each OS. I believe "Divide and conquer" is almost always a good strategy but in this case Unifying would probably be better in the long term.

    I'm not worried about Windows, but people running on Linux or Mac may have a problem...
    We will endeavour to match the size of the ensemble to the operating system, given there are many more Windows machines running models than either Mac or Linux, but if you have a Mac or Linux machine, please do add it to the project!
    This tells me that Windows development will be front and center since it represents the majority of their user base, pushing Linux and Mac development to the background or, as BOINC itself does, low priority.

  3. #3
    AMDave's Avatar
    AMDave is offline Seeker of the exit clause Moderator
    Site Admin
    Join Date
    Jun 2004
    Location
    Deep in a while loop
    Posts
    9,609
    The post ends...
    We will endeavour to match the size of the ensemble to the operating system, given there are many more Windows machines running models than either Mac or Linux, but if you have a Mac or Linux machine, please do add it to the project!

    We hope this doesn’t cause too much inconvenience, and many thanks again for your support for the project.

    The CPDN team.
    (why does no-one spell check a media release these days!?)
    so I expect that your prediction is spot on.
    . . . . . ___
    . . . . . . .\___/\______
    . . . . . . . \__AMD___\\__
    ---------------------------------------------

  4. #4
    Join Date
    Sep 2010
    Location
    Leiden, the Netherlands
    Posts
    4,372
    The models in question being the CPND models, the ensemble the total of models for an OS. Strange that the result is OS dependent.
    I could have imagined that is was CPU dependent, due to the different instruction sets per CPU, but in my opinion results should be OS independent.
    But I guess that the different OS-es also may have different libraries that can influence the end result.
    With some projects -123numbers being one- volunteers complain that if they run a WU on a Windows machine, and their wingmen on Linux, that they never get validated and vice-versa.


  5. #5
    NeoGen's Avatar
    NeoGen is offline AMD Users Alchemist Moderator
    Site Admin
    Join Date
    Oct 2003
    Location
    North Little Rock, AR (USA)
    Posts
    8,451
    On a very high level view it's kind of simple... for example 2+2 = 4 no matter what CPU, OS or mathematical library being used.

    The problem usually is that software developers are mostly OS centric, some code in windows, other in Linux, etc. Having 3 different programmers coding in 3 different OS environments means that each of them most likely will do his own mistakes on his own branch, so if the Linux guy is a great coder and the Windows guy not so much (and introduces bugs), then the Linux port and the Windows port will not generate equal results and not validate correctly against each other.
    The setup you mention on 123numbers is not so good because there will always be more windows machines than Linux ones, so when boinc gets 2 different results it sends it to a third party for double checking, and more than likely it will be a windows one. If the bugs are on the windows side then they will be continuously replicated over and over on the results because the possible error is then validated by the third party and the Linux result is discarded for being different. (Even if it was the correct one!)

    The best solution here is to use an OS agnostic development environment (Eclipse comes to mind) that both developers can work on together on the same code base at the same time, so that if one developer introduces a bug it is replicated on both scenarios equally. (And when it's fixed, it's fixed for both as well). If a bug is found on version 2.1 of the application and it is verified to have affected the results, the developers just have to correct the bug, submit version 2.2 of the application and re-submit all Workunits that were processed with version 2.1.

    In the end, all that computers really do under the hood is to crunch numbers, so 2+2 has to be equal to 4, no matter what OS, CPU, instruction set, or library being used.
    Last edited by NeoGen; 04-11-2015 at 02:27 AM.

  6. #6
    Join Date
    Sep 2010
    Location
    Leiden, the Netherlands
    Posts
    4,372
    Problem may start when the developers start coding for the latest CPU-specific features, that may not yet be fully supported in all libraries.
    I know of at least one project where optimization for the various CPUs -done by a skillful developer- turned out to give different results from the basic application.
    The project (Leiden Classical) thereafter did forbid the use of the anonymous platform used for custom-made self compiled clients.

    Another example is the BOINC benchmarks for a given CPU. One expects the MIPS to be the same for every OS -it remains the same CPU- , but they aren't.
    We already know that AMD CPUs score better on Linux than on Windows, but yesterday I discovered significant differences in the Whetstone and Dhrystone values for the ARM Cortex-A8 on my beaglebone when running Android vs the original on board Ångström Linux (+50% for the Whetstone floating point MIPS and -20% for the Dhrystone integer MIPS)...
    Last edited by Dirk Broer; 04-11-2015 at 03:16 PM.


  7. #7
    NeoGen's Avatar
    NeoGen is offline AMD Users Alchemist Moderator
    Site Admin
    Join Date
    Oct 2003
    Location
    North Little Rock, AR (USA)
    Posts
    8,451
    I think one of the causes of the difference in MIPS between Windows and Linux, as well as Android and Ångström Linux, is on the operating systems themselves. The weight and overhead of an OS can cause difference in performance on the most basic tasks, and I'm sure Windows is way too bloated and heavy to give good performance values versus Linux on synthetic tests. Even though the synthetic performance tests can be as basic as 2+2 ran millions of times over, Windows will introduces a lot of checks and balances to make sure the application is not trying to do something else that it's not supposed to.
    Another cause can be the compiler that is taking the source code and creating the windows and Linux binaries may be more optimized towards one versus the other. That too is unfortunately beyond the application developers capacity to do anything about. The developer can only make sure that his 2+2 are equal to 4 because if they are not then there is a problem in the code.

    The case with Leiden may have been software bugs in the libraries indeed, or possibly even bugs introduced by the developer when trying to optimize the applications. Generally applications are developed with stability and reliability in mind, and lastly speed. That is usually the base version of the code, which is trusted to do what it is designed to do. Optimizing for speed can be a painstaking process of study and trial-and-error, because each change has to be tested against all possible scenarios to make sure it works just as before, and the results are exactly the same.
    With every new generation of processors and instruction sets introduced, processors tend to try and be smarter about their work and sometimes predict ahead, or execute out of order when they can. A simple example can be this: 2+2/4=? The correct result here is 2.5, but if for some reason the processor (or the compiler that created the binary) assumed an out of order execution for a specific instruction and performed the 2+2=4 first, and then the 4/4 then the result will be 1, which is incorrect. And sometimes even if the operations were executed in correct order it can happen that the new instruction sets used don't do floating point number and in the end you either have a "2" or "3" for result.
    Most people I know and read about online think that optimizing for speed is as easy as adding the extra flags "-SSE3 -AVX -SSE4.2" (or whatever similar to that) to the compiler and expect it to work right out of the box perfectly. In most cases it does work just like that, and in theory it should always work just like that. But in reality the compilers are created by humans who can also make mistakes, and when those extra flags are activated a number of different processes happen which the developer has to take in account for and *thoroughly* *thoroughly* test for every scenario to make sure the results have not been tampered with in the process.

  8. #8
    Join Date
    Nov 2005
    Location
    Central Pennsylvania
    Posts
    4,333
    Take a look at your position with in the Team at Climate Prediction, things are odd. Odd is the best word to describe the situation. I am thoroughly confused!





    Challenge me, or correct me, but don't ask me to die quietly.

    …Pursuit is always hard, capturing is really not the focus, it’s the hunt ...

  9. #9
    Join Date
    Sep 2010
    Location
    Leiden, the Netherlands
    Posts
    4,372
    Last edited by Dirk Broer; 03-27-2016 at 02:28 AM.


  10. #10
    Join Date
    Nov 2005
    Location
    Central Pennsylvania
    Posts
    4,333
    What ever the outcome I decided since long work units I no longer fear, its Climate Prediction = the project for me. Whether the OS is Windows, or Linux or even a MAC the outcome should be the same. And why the purists have found Climate Prediction a Hypocrisy because man can not produce a change in the weather the project gives out good points, most of the time. I am not running the project for the benefit for mankind but rather the points returns.





    Challenge me, or correct me, but don't ask me to die quietly.

    …Pursuit is always hard, capturing is really not the focus, it’s the hunt ...

Posting Permissions

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