'A Quadrillion Mainframes On Your Lap' (ieee.org) 101
"Your laptop is way more powerful than you might realize," writes long-time Slashdot reader fahrbot-bot.
"People often rhapsodize about how much more computer power we have now compared with what was available in the 1960s during the Apollo era. Those comparisons usually grossly underestimate the difference."
Rodney Brooks, emeritus professor of robotics at MIT (and former director of their AI Lab and CSAIL) explains in IEEE Spectrum: By 1961, a few universities around the world had bought IBM 7090 mainframes. The 7090 was the first line of all-transistor computers, and it cost US $20 million in today's money, or about 6,000 times as much as a top-of-the-line laptop today. Its early buyers typically deployed the computers as a shared resource for an entire campus. Very few users were fortunate enough to get as much as an hour of computer time per week.
The 7090 had a clock cycle of 2.18 microseconds, so the operating frequency was just under 500 kilohertz. But in those days, instructions were not pipelined, so most took more than one cycle to execute. Some integer arithmetic took up to 14 cycles, and a floating-point operation could hog up to 15. So the 7090 is generally estimated to have executed about 100,000 instructions per second. Most modern computer cores can operate at a sustained rate of 3 billion instructions per second, with much faster peak speeds. That is 30,000 times as fast, so a modern chip with four or eight cores is easily 100,000 times as fast.
Unlike the lucky person in 1961 who got an hour of computer time, you can run your laptop all the time, racking up more than 1,900 years of 7090 computer time every week....
But, really, this comparison is unfair to today's computers. Your laptop probably has 16 gigabytes of main memory. The 7090 maxed out at 144 kilobytes. To run the same program would require an awful lot of shuffling of data into and out of the 7090 — and it would have to be done using magnetic tapes . The best tape drives in those days had maximum data-transfer rates of 60 KB per second. Although 12 tape units could be attached to a single 7090 computer, that rate needed to be shared among them. But such sharing would require that a group of human operators swap tapes on the drives; to read (or write) 16 GB of data this way would take three days. So data transfer, too, was slower by a factor of about 100,000 compared with today's rate.
So now the 7090 looks to have run at about a quadrillionth (10 ** -15) the speed of your 2021 laptop. A week of computing time on a modern laptop would take longer than the age of the universe on the 7090.
"People often rhapsodize about how much more computer power we have now compared with what was available in the 1960s during the Apollo era. Those comparisons usually grossly underestimate the difference."
Rodney Brooks, emeritus professor of robotics at MIT (and former director of their AI Lab and CSAIL) explains in IEEE Spectrum: By 1961, a few universities around the world had bought IBM 7090 mainframes. The 7090 was the first line of all-transistor computers, and it cost US $20 million in today's money, or about 6,000 times as much as a top-of-the-line laptop today. Its early buyers typically deployed the computers as a shared resource for an entire campus. Very few users were fortunate enough to get as much as an hour of computer time per week.
The 7090 had a clock cycle of 2.18 microseconds, so the operating frequency was just under 500 kilohertz. But in those days, instructions were not pipelined, so most took more than one cycle to execute. Some integer arithmetic took up to 14 cycles, and a floating-point operation could hog up to 15. So the 7090 is generally estimated to have executed about 100,000 instructions per second. Most modern computer cores can operate at a sustained rate of 3 billion instructions per second, with much faster peak speeds. That is 30,000 times as fast, so a modern chip with four or eight cores is easily 100,000 times as fast.
Unlike the lucky person in 1961 who got an hour of computer time, you can run your laptop all the time, racking up more than 1,900 years of 7090 computer time every week....
But, really, this comparison is unfair to today's computers. Your laptop probably has 16 gigabytes of main memory. The 7090 maxed out at 144 kilobytes. To run the same program would require an awful lot of shuffling of data into and out of the 7090 — and it would have to be done using magnetic tapes . The best tape drives in those days had maximum data-transfer rates of 60 KB per second. Although 12 tape units could be attached to a single 7090 computer, that rate needed to be shared among them. But such sharing would require that a group of human operators swap tapes on the drives; to read (or write) 16 GB of data this way would take three days. So data transfer, too, was slower by a factor of about 100,000 compared with today's rate.
So now the 7090 looks to have run at about a quadrillionth (10 ** -15) the speed of your 2021 laptop. A week of computing time on a modern laptop would take longer than the age of the universe on the 7090.
And most of that power is used to (Score:5, Insightful)
interpret javascript inside a virtual machine inside a browser to exchange gigafucktons of XML data with another piece of java code running inside a JVM running a virtualized server running inside a physical server to inform some gigantic SQL database running inside another virtualized server on another physical server that the user has clicked on a promotional link for a pair of kacks.
Re:And most of that power is used to (Score:5, Insightful)
Actually, it is worse. Much worse. Most of that power isn't even used to solve the problem, regardless of how efficiently or inefficiently that might be done—most of that power is used for presenting the results.
And then I'm not even talking about some of those modern, graphical business applications the text-mode terminal ancestors of which sometimes were more uncluttered, more manageable for the users and could be operated more quickly...
Re: (Score:2)
Re: (Score:2)
The complete lack of icons means not only it is easy to use (by people who can read), it can't be used by people who can't read. Almost halving the number of idiots who need to be supported ;-}
Re:And most of that power is used to (Score:5, Insightful)
Virtualization and redundant security checking slow things down by a constant factor of maybe 5, but the difference between printing a page on teletype and streaming a minute of video is VAST.
Re:And most of that power is used to (Score:4, Insightful)
Yep, and it is very annoying that the vast majority of informational "How-To's" on the internet have moved to video. Finding out how to do something - that could be explained in a single paragraph of a few hundred bytes and read, lazily, in 30 seconds - now takes up a 10 minute video, tens of megabytes of data, for some expert to *tell* me how to do something at a speed of up to 39 baud (bits per second, which is the speed at which any spoken language can transfer data) when I can read at several times that speed.
And the most annoying part is that if it's anything remotely complicated, I need to take notes to be sure I've got it all down and in the correct order. Producing the very paragraph of text that the video replaced.
This is progress?
Re: (Score:2)
I once found results dominated by videos when searching for . . .
. . . the firing order for a Ford V-8.
This is simply the numerals 1 to 8 in some order. Even a single word would wear down the information content.
Re: (Score:2)
that the user has clicked on a promotional link for a pair of kacks.
You focus a lot on the bad stuff but seem to gloss over the fact that a user can no click on a promotional link for a pair of kacks! That's our world now. The world where you can say I want fucking kacks, and with a bit of computer magic get a pair of fucking kacks delivered to you within 24 hours.
The TV remote control has nothing on the power that the complexity of modern web development has enabled. Sure every website runs bloated javascript, but they do so because every moron can use that framework witho
Re: (Score:1)
What the hell is a "kacks"?
Re: (Score:2)
Honestly I didn't even know until after I finished typing my post. I just went with it. But apparently it's slang for underwear, and so I added an extra sentence to my post :-)
I feel like we get this post once a month (Score:2)
Wow (Score:2, Interesting)
Point being?
Re: (Score:2)
The point is, if you think the world of computing today is craptastic compared to the days of yore. well yeah, but it's FAST craptastic!
Re: (Score:2)
Slowness is easier to endure when it feels like you're on an adventure. I can tell you that the 1990s internet felt way better than it does today.
Re:Wow (Score:5, Funny)
Point being?
Sorry for writing something technical. We'll get right back to your general political posts Slashdot so adores these days so you can return to your regularly scheduled outrage.
Only 100K x faster? (Score:2)
"so a modern chip with four or eight cores is easily 100,000 times as fast."
Am I the only one who finds that rather low given its compared to a mainframe from 60 years ago? I'd have thought it would be in the millions by now if not more.
Re: (Score:1)
If these mainframes were on Natalie Portman's body, would they interfere with the hot grits already present?
Re: (Score:2)
Article Just Wrong (Score:3)
Horsepower. (Score:2)
But we should still be comparing apples and apples. That is comparing oranges and oranges. A lot of the modern computation is used for the GUI. The original macs were still slower machines than the PC even though they were much more advanced in
Re: (Score:2)
Mainframes are as much about uptime as they are processing power. As far as comparing to _ancient_ computers the storage has also increased by orders of magnitudes, both speed and capacity.
Real world- there wasn't a computer in existence that could model the aerodynamics of the spaceshuttle stack in the 70s, it had to be done experimentally in wind tunnels. Today we have video games and web apps that are more than adequate.
Netscape castrated personal computing (Score:3)
People use a laptop to look. Browsers have eaten people. Whole companies are built on consuming eyeballs. Human senses are rendered useless and AI is growing on consuming human conscious data stores.
Once thought computers could teach people faster than classrooms. Twice believed computers were the future. Future is here and we got computers everywhere. The only way forward is for computers to eat computers and software its own.
People can look forward to races, competitions and battles for more eyeballs, what else?
Re: (Score:2)
Re: (Score:3)
You sound like someone reading poetry in an empty coffee shop.
Re: (Score:2)
Re: (Score:1)
Yes, it is a billion (little B -- an American billion). It is not a real Billion (with a big B).
100,000 x 100,000 = 10,000,000,000 (10 thousand million or 1/10 of a Billion).
Re: So was this calculated on a 387? (Score:2)
The UK government officially switched in 1974, but common usage was already for billion to refer to 10^9, increasingly since the 1950s.
Re: So was this calculated on a 387? (Score:2)
Re: (Score:2)
I knew that the standard of abstract thought and political understanding on Slashdot was abysmal. But I thought techies could at least multiply powers of 10.
and yet programs still open slowly (Score:3)
Despite the fact that today's MS Word does little of importance that it did not do 30 years ago, it still takes multiple seconds to open on my new Macbook. So something is very wrong.
And I know what it is: dynamic typing.
In the C language, it is possible for the linker to strip out all functions that are not actually called. But when a language is dynamically typed, a linker cannot know, so it has to include everything.
And so today, if a program uses a library, it has to link that entire library with the executable, even if only one function from the library is used.
And that little library itself uses ten other libraries, and so on.
And so even "little" programs have huge multi-MB executables. And they take a long time to load.
So we are always waiting for things, no matter how fast the computers are.
Re: (Score:2)
That's not the problem. Even programs written in statically typed languages take forever to start up when they are written by a team that does not care about startup time.
Re: (Score:2)
Re: (Score:2)
Is it? What about the DLLs that it links with? - the Microsoft Foundation Classes and the .NEt libraries? I think those have a lot of dynamic typing.
But you also make me think that there is a problematic core issue in how linking happens with such libraries - my understanding is that in Windows, one has to load an entire DLL, even if one only needs one function from it. But I am not a Windows programmer so I am not sure.
Re: (Score:2)
I think those have a lot of dynamic typing.
Then you think wrong.
The core libraries are all written in C#/C++ : static typed.
my understanding is that in Windows, one has to load an entire DLL, even if one only needs one function from it. But I am not a Windows programmer so I am not sure.
Yes and no. Or more precisely yes. But that is not the topic. DLLs have nothing to do with dynamic typed or not. It means: dynamic loaded/linked library.
Has nothing to do with Windows either. Every OS behaves the same in tha
Re: (Score:2)
Re: (Score:2)
First of all: you are WRONG.
Secondly: which part of, "MS Word is not written in dynamic typed languages" do you not get? It is all static typed C#/C++.
Re: (Score:2)
Re: and yet programs still open slowly (Score:2)
JavaScript is dynamic but runs a lot faster than your model would imply. Turns out it's possible, albeit difficult, to make such languages run fast.
Re: (Score:2)
Your slightly wrong in a couple of ways.
*nix shared libraries are not quite the same as DLL's, which have fix up tables to be position independent rather then compiled with PIC.
And while back in the day (Win9x), one DLL was loaded and shared. That led to DLL hell, where 2 slightly different DLLs with the same name meant that one was loaded and the app that needed the other one crashed.
Today, for example, if you load 2 versions of Firefox, they'll run side by side each using its own xul.dll, load Thunderbird
Re: (Score:2)
Despite the fact that today's MS Word does little of importance that it did not do 30 years ago, it still takes multiple seconds to open on my new Macbook. So something is very wrong.
I speculate you may be forgetting the "phone home" bit for license checking (never mind other things it may or may not do). If the network is slow or the server is slow, time is added. Maybe try disabling network and see if a difference exists. I have never used Word or Excel so I have no way of validating my guess.
Re: (Score:1)
it still takes multiple seconds to open on my new Macbook
It may be perspicacious to put a few drops of oil on the hinges, or perhaps to disassemble the hinges, remove any water with a water displacer (eg, WD-40) and blow in some Molybdium lubricant. This should make opening your MacBook quicker (and quieter).
Re: (Score:2)
Re: (Score:2)
MS Word is most likely written in C#/C++ hence no dynamic typing.
And even if it was: it has nothing to do with linking or not either. As such bloatware is a bunch of dynamic linked libraries and they only get loaded when needed.
And so today, if a program uses a library, it has to link that entire library with the executable, even if only one function from the library is used.
Simply wrong, sorry. You could argue that developers usually do not optimize the linking process, as noted above: usually 90% of the c
Re: (Score:2)
Re: (Score:2)
And you can't select to load only particular functions from a DLL, correct?
Correct. But you can link with the static version instead of using the DLL version.
They always come in pairs: static and dynamic. Well, usually. Perhaps sometimes one does not make a the static one.
Re: (Score:2)
"And you can't select to load only particular functions from a DLL, correct? Correct. But you can link with the static version instead of using the DLL version. They always come in pairs: static and dynamic. Well, usually. Perhaps sometimes one does not make a the static one."
So my point is that if one goes the DLL route, a DLL is still a huge chunk - it is a whole library (not just the functions you need). But if you go the static route, then the linker needs to be able to statically determine which functi
Re: (Score:2)
What is a 'C++ linker'? Linkers work with object code, not source. They don't care what the source language was. If an object file has a reference to a symbol, the linker includes it. If there is no reference to a symbol, the linker can leave it out.
Comparing a GUI program like Word to a command line program like make is pointless.
I built a 'hello world' program in both C and Go. When statically linked (the only option supported by Go), the executables were approximately the same size, about 2MB. A dy
Re: (Score:2)
"What is a 'C++ linker'? Linkers work with object code"
True. But linkers evolved as languages evolved. E.g., the way that Go links is very different.
"I built a 'hello world' program in both C and Go. When statically linked (the only option supported by Go), the executables were approximately the same size, about 2MB."
I would be curious why it was so large. Back in the days when "make" was written, computers did not even have a MB of memory.
Re: (Score:2)
Because we are no longer 'back in the day'. You can find the sources for both SYS V and glibc online. Take a look at the sources for something like printf. The first thing you will notice is that the glibc source is about 3x the size of SYS V. Then compare them. You will see that the old stuff has no support for, for instance, wide characters. No long longs. No long doubles, etc. And you will notice that 'back in the day' they used a fixed size buffer on the stack to work in. No security problems
Re: (Score:2)
Those are good points, but it is hard to see how that can add up to megabytes. The size of, say, the make program is 31488 in my 2020 Intel Mac. That's today's version - not a version from a 16 bit machine. So if one adds buffer protection and all the other things, it is hard to see how it would go from 32K to a Mb.
My theory is that today things get linked with large libraries, and linkers don't strip out unused functions, because they can no longer assume that a function that is not statically referenced w
Re: (Score:2)
The make file on your mac is not statically linked. Do you actually think if that executable included all of the I/O functions, string functions, memory functions, process functions (fork(), etc) it would be 32K? Those functions are all in libraries, and no doubt add up to a few MB.
Do you not understand the difference between static and dynamic linking? In static linking, the linker will see that you made a reference to 'printf' (for example). It will then copy the code that IMPLEMENTS printf into your
Re: (Score:2)
"Do you not understand the difference between static and dynamic linking?"
Why so nasty?
Of course I understand the difference. Do you know that I have written compilers, including hardware synthesis compilers? Was an electrical engineer, was a nuclear engineer before that? Started and grew an IT services company to 200 people? Wrote six books? Ran a performance lab?
It is true that I don't know the executable format of Windows or the Mac, because I have not written code for those platforms. My compiler experi
Re: (Score:2)
What is a 'C++ linker'? Linkers work with object code, not source. They don't care what the source language was
Actually they do.
Before "special C++ linkers" got developed, they e.g. would not remove unnecessary expanded template functions etc. Or more precisely: template functions that had different names (because of different template argument types), but expanded to the exact same assembly code, where not merged into one function.
Re: (Score:2)
DLLs are shared between processes. I mentioned that already.
What I did not mention: they are only loaded page by page when a page is accessed.
So: there is no huge delay at start up time because of DLL loading.
C++ has both, but do C++ linkers strip unused functions? I don't think so, because it would have to examine the kind of binding used, and I don't think the linker is that smart. Not sure.
The linker is that smart. Because it does not require any smartness, either the symbol is referenced or it is not. T
Re: (Score:2)
Then it is a mystery why today's programs are so large. Why something that would have required 20K in a 1985 Unix system requires 20Mb in a Mac today. I know that programs were usually in the kilobytes in the 80s, and they were real programs - Ada compilers and the like. But try creating a 20k Ada compiler today. Word size cannot explain the difference, nor can buffer management. I am puzzled.
Re. Go, I used Go for about a year around six years back. I seem to recall that it did not generate a normal object
Re: (Score:2)
it probably has something t do with the fact that it was written by Microsoft.
Re: (Score:2)
Yepp, that was my first thought, too :D
Meanwhile, in the trenches (Score:2)
Re: (Score:2)
So, dividing two 6K numbers?
Re: (Score:2)
Re: (Score:2)
Very cool
Ah, History (Score:3)
I began my career in software, programming an IBM 7090 at UCLA. The campus actually had three of them. The one I used was upgraded to an IBM 7094, which was slightly faster. It had other improvements; but over a half-century later, I cannot remember what they were.
When I left UCLA, I went to a commercial software company that was supporting NASA at the Jet Propulsion Lab (JPL). I was still programming an IBM 7094, this time for software used in the Voyager project before either of those two satellites were launched. (They are now beyond Pluto.)
That job did not last long. I then went to the System Development Corporation (SDC) to test software that ran on a CDC 3800. I stuck around for 24 years, eventually testing software in a client-server environment. Meanwhile, SDC sold itself to Burroughs, which did a hostile takeover of Univac and became Unisys.
After a two-year stop at Science Applications International Corporation (SAIC) and a few months at Omnikron, I eventually retired from TRW shortly after it was bought by Northrop Grumman. All that time, I was still testing client-server software.
Yes, my PC has more memory and power than an IBM 7090; even some "dumb" phones have more memory and power. However, much of the computing power today still involves client-server environments. That includes E-mail, the Web, and social networking. When you use Facebook or send a tweet, you are using a client that feeds into a server.
Yet we still have crappy user experiences (Score:4, Interesting)
Seems all that computing power went into engineering hubris ("oh, a multi-layer VM + JIT bynary translated boondoggle would be soo cool!") and helping lazy developers (e.g. memory collectors plus bloated frameworks), not the users.
Software is like a gas, always expanding to occupy its container, same as our hubris and laziness.
Re: Yet we still have crappy user experiences (Score:2)
I know some of us reject that but we are outliers. Just because my computer is faster doesn't mean I need to run any extra code to slow it back down again.
Re: (Score:2)
Your employer's name probably does not end with "oogle"
Neglecting many orders of magnitude (Score:2)
This argument, while certainly valid, neglects many orders of magnitude. It has been multiple decades since the network was fast enough to support over-the-net paging that was of acceptable speed to support computation. We now have bandwidth that supports what amounts to remote procedure calls that can engage thousands upon thousands of remote servers when, for example, we type a keyword into a search engine. We have at least three, if not four, five, or six additional orders of magnitude of computationa
So in 60 years in the future (Score:2)
Re: (Score:1)
Maybe they will download an emulation of their grandparents' brains (us) so that we can continue to troll the future and kick people off our e-lawns.
The difference is even greater (Score:2)
How do we get to 10^15? (Score:2)
From the article:
- Individual cores are about ~10^5 faster in instructions per second
- Modern CPUs have ~10^1 more cores
- 64-bit instructions and SIMD vs. 32-bit give you ~10^1.5 more math per second
- You can run your own PC 24/7, for ~10^2.5 more CPU time
Ok, I see 10^10 there.
Then the article says memory bandwidth is 10^5 faster. And somehow *multiplies* that with the core speed? How does that work? The additional 10^5 memory bandwidth is simply what's necessary to allow the modern CPU to execute 10^5
Re: How do we get to 10^15? (Score:2)
Multiplying all the individual improvement factors of individual system components makes no sense.
By the same token we might say Concorde is 20,000x faster than Wright Brothers' first flight because it is about 40x faster and has 500x as many atoms.
Try 100,000 Mainframes (Score:2)
Read TFA and this guys analysis is confused. First off he only explicitly defined two factors of 100,000, which when multiplied give a factor of 10^10 "more powerful" (not faster) not 10^15. I think he is getting that extra factor of 100,000 by double counting the memory effect. 16 GB is about 100,000 time larger than 144 KB, but then he talks about a "So data transfer, too, was slower by a factor of about 100,000 compared with today’s rate." since it would take 3 days to load 16 GB from a tape drive.
Re: (Score:3)
Actually -- some more data (Score:3)
The first all-transistor computer I am pretty sure was the IBM 1620 [wikipedia.org], first delivered about 1959. Core cycle type was about 20 microseconds.
My friends and I as highschoolers got access to one through a government agency. By then the 1620 was not used for much since by that time CDC 6000/7000 and Univac 1108 mainframes were available for remote job entry.
Those mainframes might seem pretty weak compared to today's hardware, but the CPU cycles weren't wasted on driving a bloated user interface. Using RJE with card decks and line printers, one CDC 6000 series would handle hundreds of jobs per hour, serving the needs of hundreds or thousands of users. Your project would be charged by the second for CPU time and kiloword-second for memory.
A different world, then.
Re: (Score:2)
Possibly slightly earlier was the Philco "TRANSAC" computer line.
https://en.wikipedia.org/wiki/Philco_computers/ [wikipedia.org]
https://thereaderwiki.com/en/Philco_computers/ [thereaderwiki.com]
Imagine their faces if you told (Score:3)
...1960's technicians that in the future all our grand computing power is used to display animated spam, high def cat videos, and scan for malware.
144kbytes (Score:2)
Re: (Score:2)
1980s Compared IBM mainframe and DEC LSI-11 (Score:1)
In an '80s Industrial Technology class using a Computer Numerical Control (CNC) mill, students had a bad habit of busting cutters by hitting clamps as they fat fingered the tape program and ran it. So I wrote a CNC simulator that would read the program and "cut" paths in a 3 dimensional array of bits, each .001 on a side. Since the machine had a raster graphics board they could watch the cutter do its thing "real time". We had gotten one machine for the lab but if the machine was useful would get more for
Waiting for modern computers, at all (Score:2)
I took my CPSC degree in 1982-1985, when the IBM PC had just appeared and most "home computers" were the same 8-bit 6502 chip at 1MHz.
We had that chip in some custom-built computers in the lap where they taught us assembler programming, hands-on. Job 1 was to be able to monitor the keyboard, type upon it and see the same letters come up on-screen. We were handed pre-built memory locations where if you dropped a character and called a subroutine address, it would appear on-screen. Told another address
Re: (Score:2)
Modern tubes start up in under 15 seconds. Ask a guitarist with the money to spend on a 'retro' amp.
internet bandwidth increased 1800 in last 30 years (Score:2)
fahrbot-bot missed something, not me (Score:1)
That's not how the math of speed works. (Score:2)
A computer that's half the speed of another and also has half the memory is not one quarter the speed of the other. It's half the speed for certain tasks, and either can't do other tasks or it's half the speed plus (not multiplied by) the speed of swapping, based on how much swapping needs to be done and how often.
ieee.org should know better.
Re: (Score:2)
>ieee.org should know better.
Maybe they have trouble finding quality authors for Spectrum (the IEEE's primary magazine).
Have you submitted any articles for Spectrum to publish?
The biggest savings is power (Score:2)
Re: (Score:2)
Power usage specs of a 7090 are hard to find, but seeing the photos of a room full of equipment I'd guess 20 kW.
CPU is about a factor 1e+6,
memory 1e+5,
storage bandwidth a mere 1e+2 (100 kB/s vs. 100 MB/s)
storage random access time 1e6 (1e+2 s vs. 1e-4 s)
Power 1e+3 (20 kW vs 20 W)
For a factor 1e+5 in overall performance, one laptop with of 7090s would be equivalent to 2 GW power. About one big electrical power plant.
(As others have picked out, multiplying the individual performance metrics to get 1e+15 makes
Emulation of old systems using SIMH (Score:2)
And if you're nostalgic for blinking lights and toggle switches on PDPs, and have a spare Raspberry Pi sitting around (or want to