HPCwire

The Leading Source for Global News and Information Covering the Ecosystem of High Productivity Computing

HPCwire >> Features

Facing the Multi-Core Fear Factor


The continuing opportunity presented by semiconductor technology trends characterized by Moore's Law also imposes significant challenges to processor, system, and software designers. The point of diminishing returns has been reached in the exploitation of logic complexity in processor design, and this, combined with severe problems related to power consumption, has forced the industry to embrace the strategy of integrated multiple processor cores on a single die. This "multi-core" methodology is a dramatic shift from prior conventional practices. For the first time it demands that the mainstream software community engage in parallel processing, which until now was reserved for the rarefied field of supercomputing. The scientific and technical computing arena, which has for a long time relied on commodity components as a mainstay of their very large systems, must also address the new challenges of the multi-core era. With the aggravation of the memory wall and the increased dependency on application parallelism, effective use of multi-core technology for high performance computing is threatened by the complacency of backwards looking conventional practices. After more than a decade, a new paradigm for systems designers and application programmers may be required if further advances in HPC capability is to be sustained through the end of Moore's Law and the realization of nanoscale technology.

Historically, every major technology advance, when applied to high-end computing, and sometimes to mainstream commercial grade computing as well, has invoked a corresponding and complementary innovation in computer architecture and the underlying model of computation that it supports. These mutually synergistic changes were motivated by the need to exploit the opportunities afforded by the technologies, while mitigating their intrinsic limitations. Examples include vector computing in the 70's and array processing in the 80's, both of which use the SIMD model, and microprocessor-based MPP and cluster computing in the 90's, using message-passing. Since that last transition, technology has advanced by two orders of magnitude, according to at least one metric, now culminating in this leap to multi-core. The difficulties being faced by system designers and applications programmers have increased measurably, yet the old methods have continued to be employed, if stretched to the limit and beyond.

Is it time for the HPC community to embrace a new model of computation, one that addresses the challenges of the new technology while harnessing its opportunities? There are strong reasons why the vendor producers and the government consumers would prefer to avoid such a move. Often cited are investment in legacy codes, the need to leverage mainstream COTS technologies, and the costs of training those transitioning to a new paradigm. Also identified as objections are the host of failed (not adopted) models and architectures of the past. But this is different. The challenge does not belong uniquely to a fringe domain of HPC geeks, but rather to the entire industry. Parallelism is here. The memory wall is a barrier to everyone, and the future will be shared by scientist and commercial user alike.

What might such a model look like, even if we as a community were prepared to take such a bold step to recover the one to three orders of magnitude improvement potential of the raw technology? Like the previous process that brought us such models as MPI and OpenMP, now both widely used, it would have to address the critical challenges that motivate the move in the first place, and probably benefit from long-term experience by the research community in alternate techniques not yet embodied in mainstream practice. The critical problems faced now and in the past for effective parallel computing, including the use of multi-core are:

  • Latency - the number of cycles to a remote resource like local main memory (hundreds of cycles) or distributed nodes (thousands of cycles),
  • Overhead - the amount of work (again measured in cycles) to manage the parallelism and (through an Amdahl argument) determine the granularity and therefore the amount of parallelism that can be effectively exploited,
  • Contention - the delay time due to insufficient throughput such as chip pin or memory bandwidth, and
  • Starvation - the lack of useful work to be performed by the multiple cores either because there is not enough user parallelism due to poor load balancing.

One possible model that addresses these and synthesizes a number of complementing techniques developed by researchers over a decade or more -- in some cases more than two decades -- is being considered by researchers at Louisiana State University, the University of Delaware, and other institutions and is based on replacing the dominant Communicating Sequential Processes technique (message passing) with message-driven, split-phase, multi-threaded transaction processing, incorporating local synchronization primitives (e.g., the futures construct) and employing memory accelerator co-processor support. That's a lot of buzzwords but it amounts to a strategy that hides latency, exposes more parallelism and attacks the memory wall. For the sake of a name and in order to avoid such awkward phrases as above, we refer to this strategy as "ParalleX", which is under development by the collaborating universities. ParalleX is not the simple solution that everyone would like (i.e. "the silver bullet") just requiring a few changes to software to make everything alright. But ParalleX does suggest a comprehensive conceptual framework to consider the space of choices including some software techniques that could improve the use of large-scale distributed systems; techniques that have been pursued before, such as the UC Berkeley work in Active Messages a decade ago. More likely, ParalleX, if proven useful through future simulation studies, will provide a set of governing principles for a new generation of hardware and software systems that would enable effective use of future multi-core based computing.

The key concepts upon which ParalleX is based includes the following:

    1.  Multi granularity multithreading
    2.  Split-phase transactions
    3.  Prestaging
    4.  Global but hierarchical name spaces
    5.  Fine-grain event driven synchronization
    6.  Message-driven computing
    7.  In-memory synchronization

It is beyond the scope of these brief comments to describe ParalleX in any detail. It should be noted that every one of the above ideas is represented in some form in prior art. ParalleX as a synthesis of these may be original, but the basic semantics taken individually are not. Nonetheless, with respect to conventional practices, these techniques, if applied, would provide a new execution model permitting a new generation of hardware architecture, compilation methods, and runtime services for substantially greater efficiency across a broader range of application classes, while effectively exploiting the basic concept of multi-core component structures.

The impact on architecture may be significant but need not be disruptive. Augmenting the multi-core components with co-processors to facilitate both the message-driven computing event handling and multithreading scheduling, as well as the task data prestaging, could go along way in reducing the overhead for split-phase transaction processing, thus hiding the system-wide latency and local main memory latency. Adding processing in memory, perhaps in the external L3 cache, which is often DRAM technology or in the main memory itself, would greatly reduce the average access time to data for low temporal locality computation, the kind that is particularly ill-suited to conventional cache hierarchies. The use of in-memory fine-grain synchronization eliminates the need for global barriers and the inefficiencies that they impose, while exposing massive data parallelism for sparse irregular and time varying data structures. And global name space that doesn't assume cache coherency, and the costs (time and power) that that implies, but permits a copy semantics where specifically required (location consistency), may yield the best compromise between the two extremes.

ParalleX may not be the right model, but as a focus for discussion it exemplifies the strategic question of if and when the community once again moves forward to adapt system architecture structures to make best use of technology advances through the powerful conceptual medium of a new model of computation. It also identifies many of the critical challenges that any such model must address and suggests a number of promising techniques that could be employed to meet these challenges. While there is much resistance to change, and for good reasons, historically we have already done so. Perhaps, with the advent of widespread multi-core commercial components, it is time for the community to address the multi-core fear factors and begin the process towards the next paradigm of parallel computing and application programming.

-----

Thomas Sterling is a Professor of Computer Science at Louisiana State University, a Faculty Associate at California Institute of Technology, and a Visiting Distinguished Scientist at Oak Ridge National Laboratory. He received his Ph.D as a Hertz Fellow from MIT in 1984. Thomas is probably best known as the "father" of Beowulf clusters and for his research on Petaflops computing architecture. He was one of several researchers to receive the Gordon Bell Prize for this work on Beowulf 1997. In 1996, he started the inter-disciplinary HTMT project to conduct a detailed point design study of an innovative Petaflops architecture. He currently leads the MIND memory accelerator architecture project for scalable data-intensive computing and is an investigator on the DOE sponsored Fast-OS Project to develop a new generation of configurable light-weight parallel runtime software system. Thomas is co-author of five books and holds six patents.


HPCwire on Twitter

Article Tools

  • Print This Page
  • Bookmark This Article

Share Options

(Digg, Technorati, more)


Subscribe

Discussion

There are 0 discussion items posted.  

HPC in the Cloud Part 2
People to Watch 2010


Top Headlines

Australia Commissions Cray Supercomputer

Mar 19 | OfficialWire | New super to support intelligence work Down Under. Read more...

Intel Partners See 'Easy' Upgrade Path With Xeon 5600 Chips

Mar 18 | ChannelWeb | Westmere parts already showing up in HPC machines. Read more...

AMD: OEMs primed for Opteron 6100s

Mar 17 | The Register | But what about the tier ones? Read more...

Arrival of the Desktop Supercomputer

Mar 17 | Cadalyst Magazine | A new generation of workstations is changing the nature of technical computing. Read more...

Scheduling HPC In The Cloud

Mar 17 | Linux Magazine | Latest iteration of Sun Grid Engine able to tap into Cloud. Read more...

Featured Whitepapers

Virtualization for Aggregation And The vSMP Architecture™

Jan 12 | | In-depth look at vSMP Foundation server virtualization technology, technical implementation, use cases and capabilities. The technical whitepaper provides an architectural overview and details on the three vSMP Foundation products: vSMP Foundation for SMP, vSMP Foundation for Cluster and vSMP Foundation for Cloud.

Copper Cable Technologies for High Performance Computing

Jan 18 | | This white paper discusses Gore’s copper cable assemblies, and how they continue to exceed the standards for providing reliable, cost-effective solutions for high-performance computer applications.

Multimedia

Webcast: Virtualized Data Center Roundtable

Join this online panel discussion for live Q&A with leading industry experts, analysts, and end-users to discuss the latest innovations, best practices, barriers to implementation, and measurable benefits of server virtualization with a particular focus on today's real world solutions.

Webcast: Watch SC09 Birds of a Feather Video: Scalable Fault-Tolerant HPC Supercomputers

Learn about scalable fault-tolerant architectures and examples of energy efficient and scalable supercomputing clusters using dual QDR InfiniBand to combine capacity computing with network failover capabilities with the help of programming languages such as MPI and a robust Linux cluster management package.

Webcast: High Performance Computing for a Smarter Planet

LIVE@SCO9: The IBM team discusses new innovations in hardware, software and services that help clients better understand their workloads and get insight from their R&D efforts. Technology demonstrations include the soon-to-be-released Power7 HPC processor, the DCS990 system with 2.4 petabytes of storage, the xCAT management tool, secure HPC cloud computing and more. Winners of two HPCwire Readers' and Editors’ Choice Awards! Take the IBM virtual tour at SC09 or more information go online to: http://www-03.ibm.com/systems/deepcomputing/sc09.html

SC09 HPC in the Cloud

Newsletters

Stay informed! Subscribe to HPCwire email Newsletters.






HPC Job Bank


Featured Events

HPC User Forum DICE
2010 High Performance Computing Linux Financial Markets
Cloud Computing Expo
Cloud Lab
ESC
DEISA PRACE Symposium