A European’s Take On ISC2007

By Christopher Lazou

July 6, 2007

“The slow one will later be fast and the present now will soon be the past, the order is rapidly fading. The first one now will later be last, for the times, they are a changing…” sang by Bob Dylan, 1964.

Over 1200 participants from 44 countries attended the 22nd International Supercomputer Conference (ISC) from June 26-29, and 85 exhibitors took part in the associated exhibition in the city of Dresden.

This ISC annual event enables many Europeans to appraise the new technology from Japanese and U.S. vendors and to also be updated by our American colleagues about where they are in addressing the issue of leadership in large-scale scientific technical computing. The presentations at the conference were broad-based and some were at the cutting edge of developments. ISC2007 provided an opportunity for vendors to peddle their wares and share with us their plans for future products.

As usual, Professor Dr. Hans Meuer and his team from the University of Mannheim put on a fine vendor exhibition, a collection of stimulating presentations and a seamless conference in the beautiful historical city of Dresden. The main sponsor this year was Microsoft, a vendor with an aspiration to capture a big share of the parallel and HPC software market. The Microsoft-sponsored Saxon night at the Albrechtsberg Palace was exquisite.

Burton Smith from Microsoft has been quoted extensively from this conference, and the next two paragraphs highlight Burton’s main ideas for the new parallel languages needed in the multicore world.

In parallel languages there are (at least) two promising approaches: functional programming and atomic memory transactions. Neither is completely satisfactory by itself. Functional programs don’t allow mutable state, and transactional programs implement dependence awkwardly. Database applications show the synergy of the two ideas. SQL is a “mostly functional” language, while transactions allow updates with atomicity and isolation. Many people think functional languages are inefficient. Sisal and NESL are excellent counterexamples of that view as both competed strongly with Fortran on Cray systems. Others believe the same is true of memory transactions, but this remains to be seen as we have only begun to optimise.

We need to support multiple programming styles, functional and transactional, data parallel and task parallel, message passing and shared memory, declarative and imperative, implicit and explicit. We may need several languages to accomplish this, similar to the use of multiple languages today with a helpful language interoperability bridge (e.g. .NET). It is essential that parallelism be exposed to the compiler so that the compiler can adapt it to the target system. It is also essential that locality be exposed to the compiler and for the same reason.

The only other thing I can say is that with the advent of multicore and future manycore chips, Microsoft is aware that producing parallel software has become core for their future business. This means that their entry is for real.

Several hardware vendors highlighted how they intend to deliver the productivity promise and a sustained one petaflop by 2010 and beyond. These included Cray with their Cascade, IBM with their precursor Power6 and the Blue Gene/P product lines leading to upgraded versions for petaflops systems at a later date, as well as other vendors NEC, Fujitsu, Bull and Sun Microsystems with the 32 threads Niagara Chip, and so on. These companies have roadmaps heading for the petaflops milestone.

The conference provided a broad range of talks. The “geeks” embraced the multicore revolution and relished the idea of having manycores and, as Thomas Sterling (LSU) expounded, myriad-cores. Sterling found ample support from John Shalf (LBNL) who betrayed his enthusiasm with an audacious presentation title: “Overturning the Conventional Wisdom for the Multicore Era: Everything you know is wrong.” I am wondering whether John reflected on the semantics of such a sweeping assertion. I leave it to the reader to decide, but as for myself, some of what I know about multicore could probably be wrong, but not everything.

John went on to say that power efficiency motivates manycore design and made the case for using manycores with a simplified instruction set and shorter pipelines. As John observed: “In the old computer world, innovation trickles down from high end computing to the PC and consumer electronics. In the new world, innovation trickles up from the PC and consumer electronics to HPC.”

If only the world were that simple. The real issue is not about old and new, but rather of “good” ideas being adopted and then transferred to a different application domain. For example, in the 1980s PC innovations related to human-machine interfaces were transferred to the high end computers. At that time, the emphasis of high end computers, such as the Cray-1, was on using its scarce resources for numerical calculations, neglecting the human-machine interface. As soon as PCs arrived with easy-to-use interfaces, the high end user community demanded, and soon got, a better deal. Another example is in storage devices, where the developments were powered by the music industry, and the technology was then taken up by the computer industry and HPC.

To be fair, John recognized that latency tolerance and lack of software to exploit multicore are key limiting factors. For me this talk effervesced with enthusiasm (always a good thing) about manycores, but provided sparse practical solutions on how to overcome the difficulties. The multicore era can become a reality, but the pain of this transition needs to be eased for the long suffering application user. In the words of the Bard: “Between the ideal and reality stands the shadow….”

At this point a reality check is in order. The increasing demand for higher performance can no longer be achieved through Moore’s law processor improvements and a one-size-fits-all system mentality. HPC users are no longer getting the performance advances they need from microprocessors. Commercial response to Moore’s law slowdown has been to provide multicore and promise manycore chips. These are general-purpose architectures, optimised for the most widely used applications. But, as it is widely recognized, when scientific computing migrated to commodity platforms, interconnect speed, both in terms of bandwidth and latency, became the limiting factor on application performance and remains a bottleneck to this day.

The new mantra is that although multicore commodity processors will deliver some improvement, exploiting parallelism through a variety of processor technologies using scalar, vector, multithreading and hardware accelerators, e.g., FPGAs, GPUs, etc., creates the greatest opportunity for application acceleration.

Near future supercomputing systems combine multiple processing architectures into a single scalable system. Looking at it from the user point of view, one has the application program, followed by a transparent interface, using libraries, tools, compilers, scheduling system management and a runtime system. The intention is to adapt the system to the application — not the application to the system.

As readers of this publication are aware, there are many challenges to be overcome, not least in memory and network subsystem capabilities as well as in managing software complexity, on the way to the petaflops productivity promise. In current architectures, processors are separated from memory, from which they fetch operand data to feed the arithmetic functional units. This is accentuated by the network latency, when servicing the many thousands of processors required for a petaflops system. Thus, delays tend to accumulate.

In practice, scaling an SMP or cluster to the large numbers of processors required to achieve petaflops is very difficult. Efficiency degrades sharply because of requirements for cache coherence and also from operating system jitters. The key task for system software in heterogeneous systems lies in scheduling strategies and other system functions that maximize the performance extracted from scarce system resources, notably the heterogeneous system’s limited global system bandwidth – in other words, how one minimises and hides latency.

Thomas Sterling gave two talks: one on the HPC achievements and impact since last year and the other on multicore – the next Moore’s Law. He used as an exemplar the IBM Blue Gene/L and its successor the Blue Gene/P, illustrating the emergence of multicore processors on one die used to stem the power consumption explosion. For new systems, the flops/watt metric is expected to become as important as the flops/dollar metric became in the 1990s.

Thomas pointed out that multicore exploits the extra real estate due to increased circuit density and increases functional units per chip (spatial efficiency), which in turn limits energy consumption per operation. Multicore would improve on Moore’s Law in respect to peak performance, but the number of pins would grow much slower. An example is the IBM Cell processor, a 0.25 teraflops chip (9 cores). To address the multicore challenge, one needs more than an SMP on a chip. One needs parcels for latency hiding, destination locale split phase and message driven transaction computing. Latency hiding with parcels will deliver one to two orders of magnitude performance benefits.

Thomas then described work at LSU where his team is currently exploring key challenges of a new class of computer architecture to confront efficiency, scalability, power and reliability. This requires a paradigm shift of execution and programming models. There is a desperate need for intrinsic latency hiding mechanisms to be incorporated in the infrastructure of programming and runtime resource management.

He went on to say: “We are developing a new model for computing called “ParalleX,” extending our earlier work in processor in memory (PIM), and combining these with new work in static dataflow to provide a new class of architecture that adaptively responds to variations in temporal locality. The short-term impact is that the execution model has a spin off of a programming methodology that can operate on conventional architecture. It should improve latency hiding and scalability.”

Jose Duato, from the Technical University of Valencia, gave an excellent keynote presentation describing the pros and cons of systems based on commodity chips, current trends and synergies, feasible future system architectures and identified interconnect as the key subsystem.

He started by explaining that research in academia usually focuses on narrow topics, e.g. processor micro-architecture, memory hierarchy, cache coherence protocols, interconnection networks, and so on. Even when radically new solutions are proposed, e.g. a cost-effective fully adaptive routing algorithm, those solutions only improve a subset of the system and do not eliminate the inefficiencies that are a direct consequence of the system architecture, which may not be globally optimal. This means too many resources (or too much of a power budget) are devoted to improve a component that is not the system bottleneck. A global system view is required even when addressing problems in a particular subsystem.

When looking at computer systems from a global perspective, researchers start (or should start) by looking at application requirements, but there is a fundamental flaw in this approach: Existing applications were designed for existing computer systems and new computer systems are designed to run existing benchmarks faster. In this global optimisation process, practitioners neglect the opportunity to replace the existing programming model and style and may end up proposing techniques to recover parallelism that has been lost due to previous optimisations.

In some proposed solutions, applications are written in such a way that most parallelism is lost, having to use speculation techniques to recover it. The proposed techniques tend to increase power consumption. A more efficient approach is to redesign the inner program loops, transmitting each value after computing it by specifying it in the program and letting an optimised implementation of MPI to decide whether each value should be immediately transmitted or should be packed together with other values into a single message to reduce the communication start-up overhead. The correct solution is a truly global view.

The heat dissipation wall forced microprocessor manufacturers to move to multicore chips needing much less power consumption for the same peak computing power. Manufacturers are increasing the number of cores per chip but at a slower frequency rate. At least one core should be as fast as the fastest core in the previous generation chip. Many users do not know what to do with additional cores (beyond running anti-virus and firewall). The current trend will soon face the memory bandwidth wall problem on how to feed the cores. This is further aggravated when running applications that do not share data (e.g. multiple virtual servers) and/or when including the graphics accelerator on the same chip.

Necessity is the mother of invention. Accelerators, which can execute repetitive compute-intensive functions much faster than host processors, are being utilised. Different flavours — GPU-based accelerators, FPGA-based accelerators, DSP-based accelerators — are available, but these are not good for code fragments with high memory bandwidth requirements unless the accelerator implements a large and fast local memory (e.g., graphics cards). They are nevertheless becoming popular due to the availability of compilers and programming tools.

With multicore chips, it is no longer possible to exploit parallelism in an automatic mode. Applications need to be multithreaded. It has been quite easy to convince desktop and laptop users that a second core is beneficial even for running single-threaded applications. Perhaps one can run anti-virus and firewall on the second core, but what does one do with four cores?

Simpler programming models are likely to become much more widespread than more sophisticated ones (e.g., shared memory versus message passing). Not hiding architectural details from application developers may make it more difficult to accept a given architecture. Observe the XBox 360 versus PlayStation 3 battle.

Looking at synergies, mass-market applications that require more computing power (e.g., video games) are forcing application developers toward parallel programming. The number of programmers able to develop multithreaded applications is likely to increase at a fast pace during the next few years. Most of these application developers will become familiar with shared-memory models, but not so much with message passing. This trend is likely to make parallel programming more popular, but shared-memory machines are likely to be preferred over current clusters.

Multicore processors have become commodity components, while chip architecture and system architecture have become much more relevant. Many system characteristics need to be scrutinized: core count; chip interconnect type; core type (homogeneous versus heterogeneous); cache hierarchy and design; pin bandwidth; and memory organization (local versus shared, hardware coherence versus software coherence versus coherence domains versus non-coherent). There’s also the issue of network interfaces and where we attach them. As for storage, we now need to choose from traditional hard disks, solid-state disks and non-volatile memory (i.e., FLASH).

As for memory subsystems, large-scale cache coherent NUMA architectures are based on the idea of using physically distributed, logically shared memory. Caches are mandatory to deliver good performance and keeping them coherent in large systems is a nightmare. Cache coherent NUMA architectures are very expensive and not very scalable. Non-coherent shared-memory architectures as well as shared-memory architectures with multiple coherence domains are feasible. Accelerators can play a vital role in increasing computing power and reducing power consumption. A feasible, scalable, flexible and cost-effective approach for future systems is a global address space, not necessarily coherent, where each page has configurable semantics (coherent, non-coherent, transactional).

The most difficult task when developing multithreaded applications using transactional memory is making sure that the program works (e.g., deadlocks may occur when combining correct code fragments). Transactional memory is a concurrency control mechanism for controlling access to shared memory. A transaction is a piece of code that executes a series of reads and writes to shared memory, which logically occur at a single instant in time, and are typically implemented in a lock-free way.

Transactional memory is optimistic: every thread completes its modifications to shared memory without regard for what other threads might be doing, recording every read and write, which are validated in the commit stage. Implementing part of the system memory as transactional memory could be the solution for storing shared data in parallel applications while simplifying programming.

To recap. The use of commodity components has been the key to delivering tremendous affordable computing power. Architectures based on current commodity components have intrinsic limitations that prevent efficient exploitation of parallelism. Current multicore trends will force the rapid expansion of shared-memory parallel programming. The computer industry should use this unique opportunity to design scalable, cost-effective shared-memory architectures.

Low-latency, high-bandwidth interconnects are the key subsystem to enable the design of scalable shared-memory architectures. Several efficient solutions exist for different subsystems including interconnects. What remains to be done is finding the right combination of components that will enable those high performance architectures to be implemented at low cost.

As Martin Luther King said: “I have a dream.” In my vision of the future, architectures will be a comprised of a series of standard modules, such as compute cores, defining coarse system functions, and memories, including transactional memory, along with their respective interconnects and inter-chip networks. The compute cores will be heterogeneous, including blank pieces of silicon, field programmable and populated by processor designs taken from a library on demand, verified to optimally match the user application. The system will have globally addressable memory, but not necessarily globally coherent. A new standard parallel programming paradigm, functional and transactional but at a higher abstraction, will be universally adopted. The age of the “soft computer” will then be upon us.

I leave you with an Albert Einstein maxim on simplification: “All should be as simple as possible, but not simpler.”

—–

Brands and names are the property of their respective owners. Copyright (c) Christopher Lazou, HiPerCom Consultants, Ltd., UK. July 2007.

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industry updates delivered to you every week!

2024 Winter Classic: The Return of Team Fayetteville

April 18, 2024

Hailing from Fayetteville, NC, Fayetteville State University stayed under the radar in their first Winter Classic competition in 2022. Solid students for sure, but not a lot of HPC experience. All good. They didn’t Read more…

Software Specialist Horizon Quantum to Build First-of-a-Kind Hardware Testbed

April 18, 2024

Horizon Quantum Computing, a Singapore-based quantum software start-up, announced today it would build its own testbed of quantum computers, starting with use of Rigetti’s Novera 9-qubit QPU. The approach by a quantum Read more…

2024 Winter Classic: Meet Team Morehouse

April 17, 2024

Morehouse College? The university is well-known for their long list of illustrious graduates, the rigor of their academics, and the quality of the instruction. They were one of the first schools to sign up for the Winter Read more…

MLCommons Launches New AI Safety Benchmark Initiative

April 16, 2024

MLCommons, organizer of the popular MLPerf benchmarking exercises (training and inference), is starting a new effort to benchmark AI Safety, one of the most pressing needs and hurdles to widespread AI adoption. The sudde Read more…

Quantinuum Reports 99.9% 2-Qubit Gate Fidelity, Caps Eventful 2 Months

April 16, 2024

March and April have been good months for Quantinuum, which today released a blog announcing the ion trap quantum computer specialist has achieved a 99.9% (three nines) two-qubit gate fidelity on its H1 system. The lates Read more…

Mystery Solved: Intel’s Former HPC Chief Now Running Software Engineering Group 

April 15, 2024

Last year, Jeff McVeigh, Intel's readily available leader of the high-performance computing group, suddenly went silent, with no interviews granted or appearances at press conferences.  It led to questions -- what's Read more…

Software Specialist Horizon Quantum to Build First-of-a-Kind Hardware Testbed

April 18, 2024

Horizon Quantum Computing, a Singapore-based quantum software start-up, announced today it would build its own testbed of quantum computers, starting with use o Read more…

MLCommons Launches New AI Safety Benchmark Initiative

April 16, 2024

MLCommons, organizer of the popular MLPerf benchmarking exercises (training and inference), is starting a new effort to benchmark AI Safety, one of the most pre Read more…

Exciting Updates From Stanford HAI’s Seventh Annual AI Index Report

April 15, 2024

As the AI revolution marches on, it is vital to continually reassess how this technology is reshaping our world. To that end, researchers at Stanford’s Instit Read more…

Intel’s Vision Advantage: Chips Are Available Off-the-Shelf

April 11, 2024

The chip market is facing a crisis: chip development is now concentrated in the hands of the few. A confluence of events this week reminded us how few chips Read more…

The VC View: Quantonation’s Deep Dive into Funding Quantum Start-ups

April 11, 2024

Yesterday Quantonation — which promotes itself as a one-of-a-kind venture capital (VC) company specializing in quantum science and deep physics  — announce Read more…

Nvidia’s GTC Is the New Intel IDF

April 9, 2024

After many years, Nvidia's GPU Technology Conference (GTC) was back in person and has become the conference for those who care about semiconductors and AI. I Read more…

Google Announces Homegrown ARM-based CPUs 

April 9, 2024

Google sprang a surprise at the ongoing Google Next Cloud conference by introducing its own ARM-based CPU called Axion, which will be offered to customers in it Read more…

Computational Chemistry Needs To Be Sustainable, Too

April 8, 2024

A diverse group of computational chemists is encouraging the research community to embrace a sustainable software ecosystem. That's the message behind a recent Read more…

Nvidia H100: Are 550,000 GPUs Enough for This Year?

August 17, 2023

The GPU Squeeze continues to place a premium on Nvidia H100 GPUs. In a recent Financial Times article, Nvidia reports that it expects to ship 550,000 of its lat Read more…

Synopsys Eats Ansys: Does HPC Get Indigestion?

February 8, 2024

Recently, it was announced that Synopsys is buying HPC tool developer Ansys. Started in Pittsburgh, Pa., in 1970 as Swanson Analysis Systems, Inc. (SASI) by John Swanson (and eventually renamed), Ansys serves the CAE (Computer Aided Engineering)/multiphysics engineering simulation market. Read more…

Intel’s Server and PC Chip Development Will Blur After 2025

January 15, 2024

Intel's dealing with much more than chip rivals breathing down its neck; it is simultaneously integrating a bevy of new technologies such as chiplets, artificia Read more…

Choosing the Right GPU for LLM Inference and Training

December 11, 2023

Accelerating the training and inference processes of deep learning models is crucial for unleashing their true potential and NVIDIA GPUs have emerged as a game- Read more…

Baidu Exits Quantum, Closely Following Alibaba’s Earlier Move

January 5, 2024

Reuters reported this week that Baidu, China’s giant e-commerce and services provider, is exiting the quantum computing development arena. Reuters reported � Read more…

Comparing NVIDIA A100 and NVIDIA L40S: Which GPU is Ideal for AI and Graphics-Intensive Workloads?

October 30, 2023

With long lead times for the NVIDIA H100 and A100 GPUs, many organizations are looking at the new NVIDIA L40S GPU, which it’s a new GPU optimized for AI and g Read more…

Shutterstock 1179408610

Google Addresses the Mysteries of Its Hypercomputer 

December 28, 2023

When Google launched its Hypercomputer earlier this month (December 2023), the first reaction was, "Say what?" It turns out that the Hypercomputer is Google's t Read more…

AMD MI3000A

How AMD May Get Across the CUDA Moat

October 5, 2023

When discussing GenAI, the term "GPU" almost always enters the conversation and the topic often moves toward performance and access. Interestingly, the word "GPU" is assumed to mean "Nvidia" products. (As an aside, the popular Nvidia hardware used in GenAI are not technically... Read more…

Leading Solution Providers

Contributors

Shutterstock 1606064203

Meta’s Zuckerberg Puts Its AI Future in the Hands of 600,000 GPUs

January 25, 2024

In under two minutes, Meta's CEO, Mark Zuckerberg, laid out the company's AI plans, which included a plan to build an artificial intelligence system with the eq Read more…

DoD Takes a Long View of Quantum Computing

December 19, 2023

Given the large sums tied to expensive weapon systems – think $100-million-plus per F-35 fighter – it’s easy to forget the U.S. Department of Defense is a Read more…

China Is All In on a RISC-V Future

January 8, 2024

The state of RISC-V in China was discussed in a recent report released by the Jamestown Foundation, a Washington, D.C.-based think tank. The report, entitled "E Read more…

Shutterstock 1285747942

AMD’s Horsepower-packed MI300X GPU Beats Nvidia’s Upcoming H200

December 7, 2023

AMD and Nvidia are locked in an AI performance battle – much like the gaming GPU performance clash the companies have waged for decades. AMD has claimed it Read more…

Nvidia’s New Blackwell GPU Can Train AI Models with Trillions of Parameters

March 18, 2024

Nvidia's latest and fastest GPU, codenamed Blackwell, is here and will underpin the company's AI plans this year. The chip offers performance improvements from Read more…

Eyes on the Quantum Prize – D-Wave Says its Time is Now

January 30, 2024

Early quantum computing pioneer D-Wave again asserted – that at least for D-Wave – the commercial quantum era has begun. Speaking at its first in-person Ana Read more…

GenAI Having Major Impact on Data Culture, Survey Says

February 21, 2024

While 2023 was the year of GenAI, the adoption rates for GenAI did not match expectations. Most organizations are continuing to invest in GenAI but are yet to Read more…

Intel’s Xeon General Manager Talks about Server Chips 

January 2, 2024

Intel is talking data-center growth and is done digging graves for its dead enterprise products, including GPUs, storage, and networking products, which fell to Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire