Announcement

Collapse
No announcement yet.

Intel prohibits benchmarks in latest CPU microcode update

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

  • Intel prohibits benchmarks in latest CPU microcode update

    The August 2018 processor microcode update to address security issues has been provided here:


    In the tar-ball is a license file which includes the following:
    "3. LICENSE RESTRICTIONS. ... You will not, and will not allow any third party to ... (v) publish or provide
    any Software benchmark or comparison test results."

    Debian has a bug (#906158) which indicates this make it impossible for them to distribute the microcode as part of their distribution. That bug can be found here:


    There is also an article explaining the issue here:


    While the Intel VP/GM of Intel Open Source Technology Center should be the most sympathetic to the concerns of the Debian community, in the article he chooses instead to ignore the section 3 provision entirely. Imad Sousou of the Open Source arm of Intel decides instead of focus only on the redistribution grant provided by section 2 subsection iii. This stance seems to indicate he sees nothing wrong with the anti-benchmark clause as long as there is a section claiming redistribution is legal. As such, it seems to me it is unlikely Intel will be addressing these concerns and future microcode will continue to have the same restriction.

    It is my feeling this could have an impact on Phoronix. Take as an example if Phoronix eventually provides an article detailing how the Phoronix Test Suite performs on a future Ubuntu 18.04.2. Also for the example, the test was run on the same Intel hardware which a previous article used the benchmark suite for Ubuntu 18.04.0 or 18.04.1. Even if the article never talks about the microcode update or directly compares the results with the previous article, it may be Intel would consider the newer version of Ubuntu's inclusion of the microcode update to make the article as a violation of the license terms for the microcode and seek legal action to get the article taken down.

    The license also has no exception for benchmark created by Intel itself! There is a github repo of COSbench which can help benchmark such software as OpenStack Swift. If a microcode update impacts the performance of a OpenStack Swift cluster, the performance can usually be recovered by growing the number of nodes in the cluster and tuning the configuration. Using COSbench in an open discussion would be helpful in conveying what people needed to change in their environments to provide a rough guideline of what others should expect. However, posting results from Intel's COSbench in the context of microcode updates is prohibited by Intel's license and may be open to legal action by the Intel.

    What upsets me the most is that Intel has made clear in how it has marketed it's Xeon family of processors that performance and security are key features of the product. To make accepting a prohibition on discussing the performance part of getting critical security updates goes against that marketing. If Intel feels the performance of it's past processors need to be kept secret then it should not be pushed as a key item provided by their products. If providing security fixes includes strong-arming customers to accept new terms which are not in the customer's own interest then they should not be pushing security as a key item provided by their products.

    What Imad Sousou of Intel should understand that if a section someday appears stating that customer's must give their first born to Intel, the fact section 2 subsection iii still makes it legal to redistribute will never make that new criteria acceptable.

  • #2
    debianxfce, avoiding Intel and Microsoft sounds to be a great solution ... for you personally ... provided that all the applications you ever use always run directly on your own system and you never interact with any networks.

    The impact of this license change doesn't stop at any one individual but also impacts what open development projects are and aren't permitted to do going forward.

    Intel provides no strict definition for what constitutes a benchmark. It is possible that if doing code profiling to improve performance unintentionally shines a negative light on Intel, they may choose to enforce this new clause to address it. As such, a broad interpretation of bench marking can have a severe chilling effect on further development of performance sensitive projects.

    It might be possible that a modification to a specific opcode has a larger negative impact on one specific processor than another. Most open source projects do not have direct access to a board array of hardware to test on. Instead, they depend on their users and open discussion to discover such issues. It might be possible that something worked better when gcc used the -O3 flag before a microcode update to a specific processor but now works better with -O2 for the processor. However, on a different processor the impact might be the complete opposite. Prohibiting that discussion on how each processor now behaves differently after the update puts the ability for open source projects to scale for the broadest audience in the industry at a disadvantage. Even if what you are directly sitting at has a Ryzen 5, once you open a web browser and hit someone's PHP, Ruby, nodejs, etc. application then you are most likely indirectly back to being an user of a system with an Intel processor.

    If you want to claim what is sitting directly on your desk can be a religious choice, I agree with you but I think that is a very limited view of the world. If you want to claim you never browse the web, never perform a commercial transaction that goes back to an Intel based server and never use any government services which go back to an Intel based server, then I have a hard time believing you.

    Take for example your use of the Phoronix forums. The web pages are being provided by servers that make up CloudFlare's CDN. Have you "solved" the Intel conspiracy for all of CloudFlare? Are they all 100% free of Intel? What about the servers that actually run the forum software behind the CDN? Is it 100% free of Intel? It is my belief that your "solution" fails when you stop having a narrow view of the scope of what you do on a computer. I would love to hear one day that the Phoronix server and it's CDN are all using processors designed by the RISC-V foundation but we aren't there yet.

    Regardless, open source developers deserve to be able to have an open development discussion which is not locked out by the largest vendor of processors from using community generated benchmarks and code profiling.

    Comment


    • #3
      Bruce Perens thinks the benchmarking restriction may apply to ALL software run on a CPU with that microcode. It may not be the intention, but that's what a strict reading of the words says.



      Gentoo are looking at how the redistrobution restrictions affect their packaging too.

      Comment


      • #4
        I am not a lawyer and can't provide legal advice but is it possible Intel's new clause violates the United States Federal Consumer Review Fairness Act of 2016.

        The summary of the Consumer Review Fairness Act states:
        "This bill makes a provision of a form contract void from the inception if it: (1) prohibits or restricts an individual who is a party to such a contract from engaging in written, oral, or pictorial reviews, or other similar performance assessments or analyses of, including by electronic means, the goods, services, or conduct of a person that is also a party to the contract; (2) imposes penalties or fees against individuals who engage in such communications"

        The wording of the Intel clause seems to be to prohibit a performance assessment/analyses of the goods (processor) and services (microcode). The Intel clause also threatens termination of license of the critical security fix for engaging in such communication which would be an imposed penalty.

        I thought some states also passed similar laws at the state level.

        Would Intel really add a clause runs counter to state or federal law? Exactly how bad is this performance hit that it could be worth trying to cover up via invalid language? Can they get in trouble with the FTC for doing this? I am having a hard time with the idea Intel would include a clause which is nothing more than posturing. However, it seems clear to me that the intention of these two documents are not compatible. It is my personal understanding that when that is the case the federal act has authority rather than the company's license.

        Hopefully someone with a better understanding of USA law can provide more details.

        Comment

        Working...
        X