Daniel Lemire's blog

, 19 min read

Software evolves by natural selection

19 thoughts on “Software evolves by natural selection”

  1. ok says:

    What do you mean by that, when you say, the current pc architecture cannot cope? We already do not rely on a single pc anymore. Or do you mean, when you have one chunk of data, that this nothing anymore, that one pc with the current architecture can cope with?

    thx

    1. Ned Noriega says:

      The way I interpreted that is, “Learn AWS or similar cloud computing services”, because they are a more scalable solution for the near future. Your PC will get exponentially obsolete as time passes.

      1. It goes without saying. Microsoft did not include Linux (sort of) in Windows 10 for fun. But I’d like to stress also that Visual Studio now ships with clang, so you can build software for non-PCs (e.g., Android devices).

    2. What do you mean by that, when you say, the current pc architecture cannot cope? We already do not rely on a single pc anymore.

      The current PC architecture is very mature and well optimized. The downside of that is that we have reached a local maximum in many cases. If you look at the progress made in PCs during the last few years, setting aside GPUs, it is not exactly impressive. Meanwhile, the latest iPhone, a non-PC system, has nearly caught up with the performance of a modern-day laptop. If you look at the sales statistics, you will notice that we have reached “peak PC” some time ago. We are no longer building as many PCs as we used to. We are on a plateau. If you look at all computers being built today, there are many more non-PC computers than PC computers, and the gap is widening increasingly fast.

      1. Jouni says:

        Modern-day laptops are more about better displays, faster disks, faster connections, and low power usage than about raw power. It seems that either widely used software cannot take advantage of better hardware, or there is just not enough demand for more powerful laptops.

        Servers often have an order of magnitude more CPU cores and two orders of magnitude more memory than laptops, while using essentially the same architecture. We will eventually reach the limits of PC architecture, but laptops and desktops are still far from them.

        1. A PC is basically a motherboard with an x86 processor and a few distinct RAM chips. Throw in a hard drive. It has been the dominant platform since the fall of Unix.

          How well is it doing?

          Intel’s capitalization has basically been stagnant for the last 15 years (save for a small bump about 5 years ago). Dell is down a whopping 75%. AMD is basically dead, except for their GPUs.

          The most successful tech company right now is Apple. A good 75% of its profits come from mobile computing. Apple designs its own silicon.

          A fast growing segment is the Internet of Things where the PC is basically nowhere to be seen…

          1. Jouni says:

            I thought this was about the PC not coping with the increasing amounts of data. I agree that it will become increasingly irrelevant to the end users.

            Apple is probably not that relevant in the long term. It’s becoming a consumer electronics company, with little interest in computing in general. Apple was never interested in the back end, and now it’s also leaving content producers and niche markets to other companies.

            The Internet of Things is one of the most dangerous ideas the humanity has ever had, probably on a par with nuclear weapons. We’ll need a heavily regulated Internet or the civilization won’t be able to survive it.

            1. I thought this was about the PC not coping with the increasing amounts of data. I agree that it will become increasingly irrelevant to the end users.

              I think it is that also. For example, PCs are not designed for deep learning or machine learning in general. Nvidia is much smaller than Intel, but it has been growing much faster recently.

              And even within Intel’s product line… Something like a Knights Landing machine is not really a PC anymore… as a first approximation, it can be treated as a PC, but there are many differences. It is really more a cluster of mobile processors.

              Apple is probably not that relevant in the long term. It’s becoming a consumer electronics company, with little interest in computing in general. Apple was never interested in the back end, and now it’s also leaving content producers and niche markets to other companies.

              Dell once mocked Apple, when it was multiple times larger than Apple. Today, Apple is worth multiple times Dell… and not because people are buying Macs… because people are buying iPhones.

              I don’t know that Apple is unaware of the importance of the backend. I think it is more an issue of focusing on their strengths.

              You can choose to consider a smartwatch something that is not part of computing… but I think you’d be wrong.

              The Internet of Things is one of the most dangerous ideas the humanity has ever had, probably on a par with nuclear weapons. We’ll need a heavily regulated Internet or the civilization won’t be able to survive it.

              Well. It has arrived.

              1. Jouni says:

                If you’re coming from the server side, Knights Landing feels like an incremental change. You get more cores (but not that much more) and a decent amount of memory. The cores are general-purpose x86 cores, even if they are slower than the usual. Knights Landing might be useful in bioinformatics, where GPU computing has not really taken off. GPUs still have too little memory, and it’s usually more cost-effective to buy traditional hardware than GPUs for bioinformatics workloads.

                Apple is definitely focusing on something, but not just on their strengths. They’re no longer interested in Macs, except as consumer devices. Mac Pro has been abandoned for years. While MacBook Pro used to be one of the best high-end laptops around, the latest models are no longer high-end due to the compromises in GPU performance and memory capacity.

                1. @Jouni

                  If you’re coming from the server side, Knights Landing feels like an incremental change.

                  My point was that even Intel recognizes the need to break the mold.

                  The Atom cores in Knights Landing were meant for non-PC uses. Intel failed to get a foothold in mobile computing, and they are (wisely) recycling their technology into new architectures.

                  Apple is definitely focusing on something, but not just on their strengths. They’re no longer interested in Macs, except as consumer devices. Mac Pro has been abandoned for years. While MacBook Pro used to be one of the best high-end laptops around, the latest models are no longer high-end due to the compromises in GPU performance and memory capacity.

                  Why would you think that Macs are Apple’s strength right now? Macs are PCs with a different operating system… PC sales have flatlined, if not declined, for years now.

                  Look at the market. Dell was the giant… it has been in a free fall for years. Apple did a bit better, but they can’t expect to go against the general trends in the market forever.

                  The days of the PC era are numbered.

                  1. Jouni says:

                    Apple sells iPhones, Macs, iPads, and other devices, in that order. (Tablet sales have been declining in general, as phone screens have grown larger and lightweight laptops have become better.) If Macs are no longer Apple’s strength, then Apple is a company with just a single strong product.

                    What I think is happening is that Apple is abandoning the “producer” market. That’s a market where the PC will remain strong, as people still need large screens, a variety of input methods, and the ability to connect to external devices, which may remain in service for decades. While the PC has been declining as a consumer device, there are no serious alternatives to it for “producers”.

                    There are also some consumer markets where the PC remains strong. For example, while consoles almost killed PC gaming some time ago, PC games now generate more revenue than mobile games and console games together.

                    1. Apple sells iPhones, Macs, iPads, and other devices, in that order. (Tablet sales have been declining in general, as phone screens have grown larger and lightweight laptops have become better.) If Macs are no longer Apple’s strength, then Apple is a company with just a single strong product.

                      Apple is pretty much the IPhone company. Please see https://www.statista.com/statistics/382260/segments-share-revenue-of-apple/.

                      Note that I am not making any particular prediction regarding Apple. I do not own Apple stock.

                      What I think is happening is that Apple is abandoning the “producer” market. That’s a market where the PC will remain strong, as people still need large screens, a variety of input methods, and the ability to connect to external devices, which may remain in service for decades. While the PC has been declining as a consumer device, there are no serious alternatives to it for “producers”.

                      IBM still makes money selling mainframes. I still use a “radio” (FM radio) every day. People still use paper.

                      The fact that some mature technology is going to remain around a long time is an easy prediction to make.

  • We are more and more heavily reliant on cloud computing and always present networks. My phone doesn’t have to get any faster. It may get better microphone, speakers and sensors – but it is basically my connection to vast data and AI resources. The Google Home device (which I am really thinking to get for christmas) is the future of computing for the masses.

    1. My phone doesn’t have to get any faster.

      People say that, but they buy ever more powerful phones.

  • If someone had said 20 years ago that the average citizen of the US would have access to the worlds’ data all searchable with incredible speed by the worlds largest computer array – for free, with a pocket device – I think most people would have laughed.

    1. @Jouni

      If you’re coming from the server side, Knights Landing feels like an incremental change.

      My point was that even Intel recognizes the need to break the mold.

      The Atom cores in Knights Landing were meant for non-PC uses. Intel failed to get a foothold in mobile computing, and they are (wisely) recycling their technology into new architectures.

      Apple is definitely focusing on something, but not just on their strengths. They’re no longer interested in Macs, except as consumer devices. Mac Pro has been abandoned for years. While MacBook Pro used to be one of the best high-end laptops around, the latest models are no longer high-end due to the compromises in GPU performance and memory capacity.

      Why would you think that Macs are Apple’s strength right now? Macs are PCs with a different operating system… PC sales have flatlined, if not declined, for years now.

      Look at the market. Dell was the giant… it has been in a free fall for years. Apple did a bit better, but they can’t expect to go against the general trends in the market forever.

      The days of the PC era are numbered.

    2. If someone had said 20 years ago that the average citizen of the US would have access to the worlds’ data all searchable with incredible speed by the worlds largest computer array – for free, with a pocket device – I think most people would have laughed.

      Yes. You are right.

    3. Having been around at the time :), I can say that most people back then would not have laughed. Instead, they would have wondered why it took us so long.

      For example, in 1993 AT&T ran a very high-profile series of advertisements (the “You Will” series) bragging that they would basically roll out stuff like videoconferencing, pocket GPS, telemedicine, Siri-style personal assistants and so on in the next few years.

      The main things these ads got wrong were that (a) it took 20 years instead of 5 to actually ship, and (b) it wasn’t AT&T that delivered these technologies.

      1. Speaking for myself, back in 2001-2002, I thought people were mad to think that, soon, videoconferencing would be everywhere. You have to recall that, at the time, people bought videoconferencing stations at 50k$ a piece with dedicated Internet connection (from a priori designated end points). There were expensive projects in remote medicine or remote education. Back in 2002, there were bleeding edge: expensive and difficult.

        Ten years later, everyone could use Skype. Today we basically have videoconferencing too cheap to meter. I think it is easy to say that you expected it, in retrospect. We have a selective memory, we forget about all the things we failed to see.