IBM doubles its 14nm EDRAM density, adds hundreds of megabytes of cache
fuse.wikichip.org
fuse.wikichip.org
The memory bottleneck is pretty much the only thing in CPU design that didn't see a dramatic improvement over the years. Its elimination is the only obvious improvement pathway still left with expectation of double digit performance gains.
So we need either very big and very fast caches, or extremely wide and low latency memory. Both options are quite costly.
Adding on die DRAM that can work at least as fast as 500mhz will surely require some specialty process with a lot of compromises like the one in the article.
Gluing something like HBM2 to the die for a second option moves the cost from the specialty process to the specialty packaging. Not much better.
This is something AMD is already doing for EPYC, and they've already used HBM2 in their GPUs.
So I'm surprised they haven't released any CPU models with crazy huge L4 caches using a few GB of HBM2.
Then again, Intel made a laptop CPU with a huge 128MB cache and their comment was that it didn't make that big of a difference. I believe the performance boost was less than 5% for going from 64MB to 128MB.
Cache-as-RAM is also a thing, and allows the sort of pinning you described. Pretty specialized use cases though. (https://stackoverflow.com/questions/41775371/what-use-is-the...)
960MiB is prodigiously large for such a microscopic chip, but if it "only" gain 3-5 times latency reduction over external DRAM, it's still very far from a proper L3 implementation, and far behind L2.
Make DRAM work on 1Ghz+, and then you will see miracles. Imagine a fully synchronous on-die DRAM that can sit just behind L1, or even be connected to load registers directly.
The problem is that effective frequencies for memory round-trip haven't got up much since nineties. If you work with 100% cache misses, your mem will still be working at effective frequency of around 100 to 200Mhz
I think you mean 20MHz. Current DRAM is abysmal at random access.
Even after bytes arrive to DRAM controller analog side, a lot of things have to happen before the data gets to the register. This accounts for the further five to tenfold increase in round trip latency
If the effective freq was 100mhz, you being hit by cache misses will indeed be "only" 2-3 times less bad than as if you used memory round trip
In end the DRAM array is bunch of analog magic and the interface works by copying the row you want into SRAM buffer on the chip which you then can access however you want. And the slowest operation in all that are the copies between SRAM row buffer and the actual DRAM array. (what I call SRAM buffer is usually called “column sense amplifiers”, but for the highlevel view it in fact is surprisingly wide array of 6T SRAM flipflops and some analog magic)
I wouldn't count buffer registers inside DRAM chips as a separate cache.
Also eDRAM is difficult to scale
I also wonder if chiplets will be the vehicle by which this comes to pass.
And when there was a clear need for the bandwidth, as in GPUs, circuit designers stepped up and created some amazing wide and deep memory bus architectures.
I would not be surprised to see AMD partner with IBM to utilize some of their EDRAM tech to keep themselves out ahead of Intel in the data center space. The more ways they can distinguish themselves, the more pressure they put on Intel's design teams.
[1] Yes, lookaside buffers and page tables in the Opterons took some of that advantage back, but it was still substantial.
[0] https://www.anandtech.com/show/14750/hot-chips-31-analysis-i...
OpenCAPI seems like it will provide almost as fast (latency) as an on die controller with DDR4 attached RAM at much cheaper prices than contemporary designs.. and opens the door to 3rd party innovation.
The real issue is trading latency versus bandwidth.. IBM's scale up designs have had ridiculously large memory bandwidth forever, but latency suffers to some extent with buffers like these SCs in the article. Whether that matters for your workload really depends.. but people need to break out of lock/latches mindset and use safe memory reclamation techniques like RCU and EBR to avoid common critical sections for lifecycle management, and in general minimize synchronization to make full use of current designs even like the now common AMD Rome.
I firmly believe we've been in a time where better programmers aware of hardware/software interface have been needed for a while, rather than some kind of hardware physics brick wall as the pundits often claim.
(Raises the head from her electric soldering iron:) Maybe "in a world without any 'North- or Southbridge'-bottleneck" ?
Or do you actually have figured out to attach a keyboard directly to your graphics-card (still powered by a PSU), cos... your graphics-board has (plain and simply) CPU-Power, RAM and for sure 'ports' to attach something... ?! (-;
My impression is that RDBMS workloads are generally far more IO-intensive than CPU-intensive.
Looking at my own Azure SQL CPU vs IO vs Log charts right now, even with some CPU-heavy OLAP queries barely passes 25% CPU in the 2 vCore-sized database used in my current main project.
https://en.wikipedia.org/wiki/Thomas_J._Watson#Famous_attrib...
Companies like Robinhood may discover that it's actually cheaper to by reliable and secure hardware and write software into it than try to write fault tolerant and secure software over COTS hardware.
Nice easy shot at Robinhood of course, but they're a very young company. Do the big banks really have a fundamental edge that's not just more invested hours?
Are there any startups doing anything related to the mainframe?
I was always fascinated by the tech around mainframe and am even thinking about moving into that space. I can imagine that a barrier to entry is high... or?
I found this one site with links to books on mainframes: http://www.mainframes.com/Books.html
If IBM is investing in 14nm tech for mainframes, it's not dead tech. A quick search revealed the following:
""" 70% of the world's production data, and 55% of world's enterprise transactions, took place on mainframes (2016) """
Joke aside, how are people actually getting started in this space? And more importantly, is it "worth it" financially? Is the mainframe skill shortage ("dreaded COBOL"?) a real thing?
Depends on your needs. Do you need near-perfect uptime? Most don't; their products aren't so critical, so they settle for a cheaper option. Do want to run a data center? Most don't; it's so much easier to push code to AWS and let them handle the infrastructure demands.
Startups historically survive because of adaptation and speed. The mainframe may not fit those operational principles, though that's up to a given startup (see below for industries which might benefit the most from a mainframe).
> Is it "worth it" financially?
The System Z series excels at transactions and updating records. Industries which deal extensively with these types of computations are banks, airlines, credit card companies, stock brokers, insurance companies, and certainly others. If you're in one of those lines of business, you probably should look into mainframes. More generally, if you need to maintain system state at all costs, mainframes are probably a good option.
I would not recommend mainframes for heavy, laborous computing loads (scientific computing, rendering boxes, etc.)
> Is the mainframe skill shortage ("dreaded COBOL"?) a real thing?
If a company wants to add a new feature to or fix a bug in a 40 year-old COBOL program, they'll likely have a hard time finding a young programmer, sure. Some older COBOL coders are helping fill the game while they can. Don't forget that the System Z mainframes have a level of backwards compatibility that makes x86 blush; your COBOL program will certainly still run.
I wager most new programs (<15 years) have been written with Java or C++, given z/OS supports more languages than COBOL: https://www.ibm.com/support/knowledgecenter/zosbasics/com.ib...
COBOL is dying, as it would be ridiculous to start a new project in COBOL. But many legacy systems still work, so why change them if they aren't broke?
I've made a comment in the past about IBM mainframes which you also might find informative: https://news.ycombinator.com/item?id=20978305
Let's say I want to focus on developing, maintaining and running the software on mainframes. How do I get "in" and are the skills paid well in comparison to a typical Java/.NET/C++ developer position nowadays?
You touched a bit on dying workforce when you mentioned COBOL. Is that dying workforce a real problem making it financially lucrative for the people willing to learn that stuff? Or is it just a myth?
IBM has quite a few training and certification programs available [1][2][3][4]. (Number four is quite interesting: a yearly competition designed to teach mainframe skills.)
From my understanding, Java development on the mainframe isn't significantly different from standard programming. Much of the heavy lifting happens in the background, and the programmer's focus then becomes learning the ins and outs.
As for compensation:
https://www.glassdoor.com/Salaries/mainframe-developer-salar...
https://www.glassdoor.com/Salaries/software-developer-salary...
Mainframe dev: $74.9k. Software dev: $76.5k. Seems fairly equivalent.
> You touched a bit on dying workforce when you mentioned COBOL. Is that dying workforce a real problem making it financially lucrative for the people willing to learn that stuff? Or is it just a myth?
All good myths rely on elements of truth. :)
Will there be COBOL positions? Sure, for at least 10-20 years. But how do you want to set yourself up for additional growth?
If you invest time to learn traditional blacksmithing techniques, you might find a job at an interactive museum or on some specialized YouTube channel. Nothing wrong with that. Can't say there's lots of growth in that industry, though. The time and effort invested is about preserving the methods of the past. So, are you looking to preserve or create? Either option is perfectly fine, but each presents tradeoffs.
----
Sources:
[1] https://www.ibm.com/certify/
[2] https://www.ibm.com/case-studies/ibm-academic-initiative-sys...
A google search showed me this page. https://www.ibm.com/case-studies/ibm-academic-initiative-sys...
If you're interested, there's also the Master the Mainframe initiative. Mainly a competition for those in school, but the 'learning system' offers year-long free access to those of us to whom education is a distant memory...
https://www.ibm.com/it-infrastructure/z/education/master-the...
My interests led me more to the Power architecture, which is weird enough to hold my interest - while still being practical at the individual scale. For example, the z15 comes with the NXU compression accelerator - the p9 has a similar (same?) NX coprocessor. You'll also find market segmentation here, and IBM would do well to knock it off with the weird PowerVM/NV/Opal/ePAR/LPAR stuff. Their performance monitoring and scheduling stuff is really awesome, and it is unfortunate that they use it to segment product offerings. It isn't as ugly as Intel's ECC games, but it still isn't a good look.