HPCwire

Leading HPC
Solution Providers





















HPCwire >> Features

OpenMP on Clusters


Page:  1  of  4
1 | 2 | 3 | 4   All  »  

Abstract

OpenMP* was designed to unify the directive languages of shared memory multiprocessors across the industry to make it easier to write portable parallel programs.  OpenMP represents a high-level language of parallelism compared to programming with Posix threads or Windows threads.  It also represents a much easier programming model than does MPI.  This effort has been successful and OpenMP has gained many users around the world.  Yet, thus far OpenMP has only been useful for programming systems with hardware shared memories.  Now, Intel is offering Cluster OpenMP*, which extends the OpenMP programming model to clusters.  This article describes the extension to OpenMP that makes this possible, how the system manages to simulate a shared memory across a cluster, how the user ports an OpenMP program to Cluster OpenMP, and ends with a discussion of the amount of effort required to port a code.

Introduction

In the 1980s and 90s, multiprocessor computer manufacturers tried to address the difficulties of programming their computers by supplying directives that could be placed in serial programs that would instruct the compiler to produce parallel code.  Each manufacturer produced its own unique set of directives.  As programmers moved their programs from machine to machine, they found that they had to recode the directives.  To remedy this situation, major players in the industry formed a working group in the mid-90s to unify the directives.  The result was the 1997 OpenMP specification for Fortran and the 1998 specification for C/C++.  This effort has been successful, and the OpenMP directive language has been adopted across the industry.

The OpenMP paradigm for parallel programming differs significantly from the earlier message passing solutions (such as PVM and MPI), and from explicit threading (Posix* threads or Windows* threads).  The first difference that people notice is that OpenMP consists mostly of directives, whereas PVM, MPI and the threading methods consist solely of library routines.  The effect of this is that OpenMP's effects can be switched off by a compiler switch, removing the OpenMP parallelism, whereas programs using library-based parallelism are permanently changed into parallel programs.

Another obvious difference versus message passing is that data movement for message passing programs must be explicitly programmed by the programmer, while data movement in OpenMP programs happens automatically when threads read and write variables.  This means that in addition to the code for the problem being solved, the message passing programmer must write a program layer to move the data between processors.

Both of these differences translate directly into lower programming costs and lower maintenance costs for OpenMP programs.  With OpenMP, you program "what" to do, while with message passing and explicit threading you program "how" to do it.

In this sense, OpenMP could be said to be a high-level language of parallel programming, while explicit threading and message-passing programming is more akin to an "assembly language" of parallel programming. 

A drawback to OpenMP is that it requires a shared memory, so up-to-now this has limited its use to a single multiprocessor machine.  Now, Intel's Cluster OpenMP removes that limitation.  Cluster OpenMP makes it possible to run an OpenMP program across a cluster of multiprocessors.  The shared memory is simulated by a software layer implementing a distributed shared memory (DSM).

Cluster OpenMP Extension to OpenMP

Page:  1  of  4
1 | 2 | 3 | 4   All  »  

Article Tools

  • Print This Page
  • Bookmark This Article

Share Options

(Digg, Technorati, more)


Subscribe

Discussion

There are 0 discussion items posted.  

Sponsored Links

White Paper: HPC in a Green and Modular Solution Building Block
Learn how the Appro GreenBlade™ System helps consolidate server, storage, network, power and simplified management capabilities in a single package while providing the performance-density, energy-efficiency and best ROI for your business.



Top Headlines

Cloudy With a Chance of HPC

Jul 01 | GenomeWeb Daily News | The popularity of cloud computing in the life sciences community was on full display at April's Bio-IT World conference. Read more...

HPC From the Beach

Jul 01 | Linux Magazine | How can getting to the ocean help with HPC computing? Read more...

DARPA Investigates Extreme Supercomputing

Jun 29 | GCN.com | Agency issues RFI for "Ubiquitous High Performance Computing" systems. Read more...

Supercomputers Go From Biggest to Cheapest

Jun 29 | Computerworld | The bottom of the TOP500 reveals the coming revolution in truly accessible high-end computing. Read more...

CPUs Gear Up For -- and Some Avoid -- Hot Chips

Jun 18 | EE Times | Parallel software also takes spotlight at Stanford confab. Read more...

Featured Whitepapers

Building High Performance Computing in a Green and Modular Solution Building Block

Apr 14 | | Many HPC IT departments are feeling the rising pressure to deliver more capacity computing and performance while trying to reduce the total cost of ownership. This white paper discusses how an environmentally-friendly and open-standards HPC building block based computing system using flexible interconnect options helps address capacity computing needs.

Multimedia

Webcast: Dell Expands HPC Access and Adoption with Intel Cluster Ready Program


Source: Addison Snell, GM/VP, Tabor Research; sponsored by Dell

Many organizations that could benefit from the use of HPC clusters find that it is complicated to get the systems up and running because of limited IT resources or the complexities of the clusters themselves. Learn how the Intel Cluster Ready program, for which Dell was an original partner, seeks to address this challenge for entry level and mid-range HPC users.

Video White Paper: Architecting a Better Network Storage Solution

BlueArc's Titan architecture represents an evolutionary step in file servers by creating a hardware-based file system that can scale bandwidth, IOPS, and overall data capacity well beyond conventional software-based devices. With its ability to virtualize a massive storage pool of up to four usable petabytes of tiered storage, Titan can scale with growing data requirements, offering a competitive advantage for businesses, researchers, or other enterprises seeking to better manage data growth while still ensuring optimal performance.

Webcast: HPC Development Solutions: Sun Studio & Sun HPC ClusterTools


Sun Studio Compilers and Tools and Sun HPC ClusterTools allow you to create high performance parallel applications for OpenSolaris, Solaris and Linux. Sun Studio Express 11/08 includes MPI performance analysis capabilities and full OpenMP 3.0 compiler support. Learn about all this and the latest in Sun HPC ClusterTools 8.1.

Special Feature: ISC'09

Newsletters

Stay informed! Subscribe to HPCwire email Newsletters.






HPC Job Bank


Featured Events


WORLDCOMP 2009
Data Mining Courses