Gary Smith EDA Gary Smith EDA (GSEDA) is the leading provider of market intelligence and advisory services for the global Electronic Design Automation (EDA), Electronic System Level (ESL) design, and related technology markets.

    "Concurrent Memory - A Call To Action"


      This century brought on the greatest change in the computer field since the first electronic computers that were developed during the late 1940s. At that time the computer science community settled on the Von Neumann compute model as the mainstream Model of Computation. This was the sequential single processor architecture found in most computers today.

      At the beginning of this century the semiconductor vendors, who produce the microprocessors that run today’s computers, ran into a power problem. As we began reaching processor frequencies of over a gigahertz not only were power budgets being exceeded but the processors themselves were literally burning up. Now the beauty of the Von Neumann model was that performance was directly proportional to frequency and the semiconductor vendors had been providing faster processors every two years since the early 1970s. Since we could no longer do that the semiconductor vendors moved to a multi-core architecture. In doing so they solved their increased performance problem but abandoned the Von Neumann architecture. What that does is put into jeopardy all the companies that have made a living based on the Von Neumann compute model; Microsoft, Intel and all of the computer manufacturers.

      Actually building the computer is not a problem. Semiconductor vendors can place thousands of processors on an IC today. The problem is, “Can you program it?” In the hay-day of the Mainstream computer Gene Amdahl discovered that communications problems with algorithms that contained sequential code limited the number of processors you could use to roughly four. That became known as Amdahl’s Law. Now there are companies that have found tricks that allow them to use sixteen processors but that’s as far as we been able to go. Of course algorithms that are basically parallel, the so called Embarrassingly Parallel Problems, can use hundreds of processors but so far we haven’t found very many Embarrassingly Parallel Problems.

      Actually pretty much everything; the software development infrastructure needs a complete over hall. That being said we need four different areas developed.

      1. The first is obvious: we need a new set of debuggers, profilers, and software virtual prototypes, etc. Some of these are being worked on by the Embedded Software Development Tools companies and some by the EDA vendors. In fact it wouldn’t be a surprise if those two markets merged.

      2. The second gets into languages and compilers. We’ve pretty much given up hope for the magic concurrent software compiler. Now the question is, do we throw away C? Keep in mind that if we stick to C it will be a much different language then the C we use today. It is possible though, Fortran took this route and by the 1995 release
      became one of the better concurrent languages out there.

      3. The next problem is what to do with the OS? Especially in a many core system it makes sense to use a kernel on the actual cores and then have a master OS that manages the scheduling. In addition it has a new task, handling the power management system. This sounds like Virtualization; however to be efficient Virtualization has to be a fairly thin layer of software. A lot of research is still needed.
      4. That brings us to the topic of this paper, the Concurrent Memory.

    • Concurrent Memory

      The Concurrent Memory is a memory that can handle multiple parallel programs. There is a lot more to it than that but to keep it simple we won’t get into the details. We thought we had the answer with the Transactional Memory. Its only drawback was lack of speed. Last year researchers found ways to increase the speed. Unfortunately they found that it was a power hog; so back to the drawing board.

      The problem we are facing is the same one that Intel and AMD are facing in the microprocessor market. The main demand for Concurrent Memory will be as an IP embedded into a SoC, not a standalone memory you put on a PC Board. In fact the view many researchers have is a stacked die (Concurrent Memory on top of a SoC) that is optimized for each SoC design. This does not fit into the mass market, standard product business model followed by the Memory Vendors. Just like Intel or AMD do not have a business model that fits into the embedded processor as IP business model that ARM has perfected. That means that the major Memory Vendors have no interest in developing the Concurrent Memory.

    • That’s why we need the call to action. The Concurrent Memory is an integral part of the answer for parallel computing. Without it everything grinds to a halt, including Moore’s Law. It’s a big problem and it must be solved.

      Gary Smith

      To view entire note download the PDF Here

join mailing list join joke list