Slashdot Mirror


David Patterson Says It's Time for New Computer Architectures and Software Languages (ieee.org)

Tekla S. Perry, writing for IEEE Spectrum: David Patterson -- University of California professor, Google engineer, and RISC pioneer -- says there's no better time than now to be a computer architect. That's because Moore's Law really is over, he says : "We are now a factor of 15 behind where we should be if Moore's Law were still operative. We are in the post -- Moore's Law era." This means, Patterson told engineers attending the 2018 @Scale Conference held in San Jose last week, that "we're at the end of the performance scaling that we are used to. When performance doubled every 18 months, people would throw out their desktop computers that were working fine because a friend's new computer was so much faster." But last year, he said, "single program performance only grew 3 percent, so it's doubling every 20 years. If you are just sitting there waiting for chips to get faster, you are going to have to wait a long time."

10 of 360 comments (clear)

  1. Re:so go do it, David by ranton · · Score: 5, Insightful

    I am pretty sure David Patterson is out there doing it. He is a professor in the field who has accomplished plenty. He is 70 now and is likely past his academic prime, so now he is doing what he should be doing at this time in his career: teaching, mentoring, and inspiring the next generation.

    --
    -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  2. Bring back 'capability machines' by david.emery · · Score: 5, Interesting

    I worked on the BiiN project. https://en.wikipedia.org/wiki/... A 'capability' was a specific -hardware protected- feature that was set up to be unforgeable and contain access rights. This computer architecture approach date back to the Burroughs 6500 https://en.wikipedia.org/wiki/... and even back to some aspects of MULTICS.

    They're definitely not von Neumann architectures, since a capability pointing to executable code is a very different thing than a capability pointing to data. In many respects, these would be "direct execution engines" for object-oriented languages (even C++, with some restrictions on that language's definition).

    A huge part of this is getting over the illusion that you have any clue about the (set of) instructions generated by your compiler. If you're working on a PDP-8 or even PDP-11, C might well be close to 'assembly language'. But with the much more complex instruction sets and compiler optimizations to support those instruction sets, most languages are far removed from any knowledge of what the underlying hardware executes.

    1. Re:Bring back 'capability machines' by WorBlux · · Score: 4, Interesting

      Are you familiar with the proposed Mill architecture? Thier work with what they call turfs and portals sound very similar. It allows secure calls accross protection boundries, hardware managed data stacks, unforgeble process ID's, and byte-level permission granularity. It's definately not a RISC machine, but it's not a C machine either with hardware features that treat pointers as type of thier own which contain hardware managed meta-data bits usefull to accelerate garbage collection.

  3. Exponential growth always hits an inflection point by bkmoore · · Score: 4, Insightful

    Moore's law predicted early exponential growth in semi-conductors, but as in all fields it eventually hits an inflection point and becomes asymptotic, infinite transistor density will never happen.

  4. Re:Moore's Law over? by cfalcon · · Score: 4, Insightful

    Because Moore's law is more about transistor density. It's an easy nit to pick.

    It's still a big deal that we aren't getting any easy gains on single core speed, or, factoring in all their new fancy branch predictions, single thread performance. But newer CPUs are fitting more cores in, newer GPUs are wildly more effective (at a fundamentally parallel task). These are the arguments for Moore's law actually being still online.

    Anyone who was around for the late 90s or before knows that computers simply aren't doing what they did before- completely obliterating previous generations of computing. A machine from 2008 can run most current games, and those it can't inherit their restrictions artificially (a motherboard that won't take a new enough GPU, for instance). It can certainly run the latest version of pretty much any OS, and many productivity programs. If you do that comparison from 1999 to 1989, it's a joke- a Pentium III at nearly a gigahertz compared to a 486 at like 50 or 66 megahertz. Look back again at 1979, and you are comparing to an 8086 or something.

  5. Re:Idiot. We have enough stupid languages. RISC su by 110010001000 · · Score: 4, Interesting

    Um, all modern processors are RISC. Careful who you are calling an idiot.

  6. Software Devs by Anonymous Coward · · Score: 5, Interesting

    This all points back to software devs. I've spent 2 decades dealing with low-level drivers and optimizations in assembly language. Now, not that I would expect developers to write assembly language, the problem I run into is that software developers of high level languages can't even write efficient code at their level. On top of that, they don't even understand how the language stack works, what code constructs give better performance in one language versus another. In addition, they can't even profile their code anymore or look at logs.

    If anything needs changing, it's software developers first. They keep eating up all the computer resources and say "get more this/that for your computer." No, pull your head out of your 4th point of contact and learn to write efficient code. We were doing this shit in the 90s all the time. We even advertised for assembly programmers in NEXT Generation magazine, constantly!

    While there's nothing wrong with using high-level languages, programmers today have lost the art of what it means to be lean and mean. I don't hire any developer unless they can demonstrate they know the stack for the language in which they use.
    Me: "Oh, no assembly language experience?"
    Applicant: "Oh, no. Is that required here?"
    Me: "In rare cases, but I'm trying to understand if you even understand how a computer works at a fundamental level. In fact, have you ever worked with state diagrams?"
    Applicant: "No."
    Me: "Okay, you write an application that simply opens a file. What are the failure modes of your application and the opening of the file? Can you draw a state diagram for this?"
    Application: "A flow chart?"
    Me: "No, a state diagram. Given a set of inputs, I want you to diagram all outputs and failure modes for each state."

    Applicants could answer these questions in the 90s and early 00s, but rarely anymore. I blame software devs for this problem. Hardware engineers are always having to pick up the slack and drag everyone up hill because software devs can't pull their own weight.

  7. Re:Starting in 2005 by pz · · Score: 5, Insightful

    People confuse Moore's law with performance. Moore observed that the total number of transistors on a chip was doubling every 18 months. For a long time, that meant that the clock frequency was also doubling.

    Then, a nasty habit of physics to smack us in the phase --- err, face --- came along in the form of speed of light limitations. Given the size of contemporary chips, it just is not (and is unlikely to ever be, if what we know about fundamental physics is correct) possible to communicate from one side of a 1 cm die to the other much faster than in the range of a handful of gigahertz clock speeds, give-or-take. Even with photons going in straight lines in perfect vacuum (none of which happens on a chip) the best you could hope for would be a 30 GHz clock rate, a paltry ten times faster than today's CPUs.

    One obvious solution is to make circuits that are smaller, and thus we started to get more CPUs on a single die. Still, those CPUs need to synchronize with each other, the cache system, etc., so there remain chip-spanning communications constraints.

    The limits on the size of transistors, and thus perhaps on the total number on a chip, are looming but haven't arrived yet. The limits of raw clock speed most definitely have. It is safe to say that our chips will continue to get faster for a while, but the heady days of generation-to-generation massive improvements in single-thread CPU performance are over.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  8. The singularity.. by mrwireless · · Score: 5, Funny

    so.. slightly delayed then?

  9. Re: so go do it, David by K.+S.+Kyosuke · · Score: 4, Insightful

    Show me an architecture that would make me want it. With C++ as a platform language

    "Show me a new vehicle to replace the carriage. It has to include a horse."

    --
    Ezekiel 23:20