Unified Parallel C


Unified Parallel C
Unified Parallel C (UPC)
Paradigmen: imperativ, strukturiert, parallel
Erscheinungsjahr: 1999
Entwickler: UPC Consortium
Aktuelle Version: 1.2  (31. Mai 2005)
wichtige Implementierungen: BUPC, GCC-UPC, IBM XL, HP, MuPC, Cray
Einflüsse: C, AC, Split-C, Parallel C Preprocessor
Betriebssystem: plattformübergreifend
http://upc.gwu.edu/

Unified Parallel C (UPC) ist eine parallele Erweiterung der Programmiersprache C für den Einsatz im Hochleistungsrechnern. Das zugrundeliegende Programmiermodell ist single-program multiple-data (SPMD) und als Speichermodell wird ein partitionierter globaler Adressraum (PGAS) verwendet.

Überblick

Die UPC Spracherweiterungen wurden durch das UPC Consortium im Jahr 1999 spezifiziert. Ziel bei der Entwicklung von UPC waren (1) einen effizienten Zugriff auf die Rechenresourcen eines Parallelrechners zu ermöglichen und (2) einen Standard für die explizite parallele Programmierung in C zu etablieren. Ein Hauptvorteil von UPC ist, dass der Anwendungsprogrammierer die Verteilung der Programmdaten direkt kontrollieren kann und somit Datenlokalität auf einer Vielzahl von Systemarchitekturen ausgenutzt werden kann.

Ein UPC Programm wird durch eine Menge von Threads parallel in einem gemeinsamen globalen Adressraum ausgeführt. Die Anzahl der Threads wird entweder beim Compilieren oder bei Start des UPC Programmes festgelegt und kann zur Laufzeit durch die vordefinierte Konstante THREADS abgefragt werden. Jeder Thread besitzt einen eigenen Adressraum, d.h. die Threads von UPC entsprechen nicht denen der Pthreads-Bibliothek.

Die Variablen eines UPC Programmes sind standardmäßig privat, d.h. jeder Thread erhält eine Kopie der Variablen die getrennt von anderen Threads gelesen und geschrieben werden kann. Variablen können jedoch auch als gemeinsam genutzt (shared) deklariert werden, so dass alle Threads gemeinsam auf eine einzige Kopie der Variablen zugreifen können. Gemeinsam genutzte Variablen besitzen immer eine Affinität zu einem bestimmten Thread, in dessen Adressraum sie gespeichert werden. Für gemeinsam genutzte Felder (shared arrays) kann eine Verteilung der Feldelemente auf die Threads spezifiziert werden, so dass unterschiedliche Feldelemente eine Affinität zu verschiedenen Threads besitzen.

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Unified Parallel C — (UPC) is an extension of the C programming language designed for high performance computing on large scale parallel machines, including those with a common global address space (SMP and NUMA) and those with distributed memory (eg. clusters). The… …   Wikipedia

  • Unified Parallel C — (UPC) Класс языка: параллельный, императивный (процедурный), структурный Автор(ы): UPC Consortium Релиз: 2.12.2/2011 5 18 Типизация данных: статическая Основные реализации …   Википедия

  • Unified Parallel C — (UPC) est une extension du langage de programmation C conçue pour les calculs hautes performances sur des supercalculateurs calcul parallèle, y compris les architectures à espace d adressage global (SMP et NUMA) et celles à mémoire distribuée… …   Wikipédia en Français

  • Unified Parallel C — (UPC) es una extensión del lenguaje de programación C diseñado para computación de alto rendimiento en máquinas paralelas, incluyendo tanto aquellas con un espacio de memoria global (SMP y NUMA) como aquellas con un espacio de memoria distribuido …   Wikipedia Español

  • Unified Parrallel C — Saltar a navegación, búsqueda Unified Parallel C (UPC) es una extensión del lenguaje de programación C diseñado para computación de alto rendimiento en máquinas paralelas, incluyendo tanto aquellas con un espacio de memoria global (SMP y NUMA)… …   Wikipedia Español

  • Parallel C — may refer to: * Unified Parallel C, an extension of the C programming language designed for high performance computing on large scale parallel machines * an unimplemented programming language that influenced the design of C* * C for the… …   Wikipedia

  • Parallel adoption — is a method for transferring between an old (IT) system to a target (IT) system in an organization. In order to reduce risk, the old and new system run simultaneously for some period of time after which, if the criteria for the new system are met …   Wikipedia

  • Unified Memory Access — is not a valid term, but is often used mistakenly, when referring to: *Uniform Memory Access, a computer memory architecture used in parallel computers. *Unified Memory Architecture, a technology that allows a Graphics Processing Unit to share… …   Wikipedia

  • Unified Team at the 1992 Summer Olympics — Infobox Country Olympics NOC=EUN flagcaption=The Unified Team used the Olympic flag games=1992 Summer competitors=475 (310 men and 165 women) sports=27 flagbearer=Aleksandr Karelin gold=45 silver=38 bronze=29 total=112 rank=1 summerappearances =… …   Wikipedia

  • Unified Process — Der Rational Unified Process (RUP) ist ein objektorientiertes Vorgehensmodell zur Softwareentwicklung und ein kommerzielles Produkt der Firma Rational Software, die seit 2002 Teil des IBM Konzerns ist. IBM entwickelt den RUP und die zugehörige… …   Deutsch Wikipedia