An Object-Oriented Library for Shared-Memory Parallel Simulations

نویسنده

  • Philip Machanick
چکیده

Programming shared-memory multiprocessor systems is becoming increasingly difficult as the gap between memory speed and processor speed increases. At the same time, this class of computer—based on standard microprocessors—is becoming increasingly common as an alternative to traditional mainframes and supercomputers. Programs that are not sympathetic to caches can perform poorly on such systems. Problems include false sharing (unrelated data in a cache block, resulting in coherence misses), inadequate blocking (processing data as often as possible before it moves out of the cache) and poor exploitation of prefetch (fetching data before it is needed). This research addresses the problem of accommodating changes in memory hierarchy cost and cache characteristics through an object-oriented C++ library called OOSH (Object-Oriented Library for Shared Memory). OOSH includes low-level allocators which pad and align objects to cache block boundaries, and primitives for launching processes, locking and synchronization. OOSH also provides support for object blocking—an object-oriented version of blocking, a technique traditionally used in matrix operations. Blocking divides an algorithm’s data into blocks or tiles, which are processed as far as possible before moving on to other data, with the objective of reducing cache misses. Performance of OOSH is evaluated by running selected applications from the Stanford SPLASH benchmarks on the Mint MIPS architecture simulator. Simulations are run both with parameters similar to current multiprocessor architectures, and with higher memory hierarchy costs, to investigate the impact of technology trends. OOSH versions of the applications are compared with the SPLASH implementations, based on Argonne National Laboratories Parmacs macros. The applications are MP3D (particle-based wind tunnel simulation), Barnes-Hut (nbody gravitation simulation) and Water (water molecule simulation). MP3D only needs local synchronization, and uses distributed synchronization: barriers are replaced by

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Smart Messages: An Object-Oriented Communication Mechanism for Parallel Systems

ABC++ is a portable object-oriented type-safe class library for parallel programming in C++. It supports active objects, synchronous and asyn-chronous object interactions, and object-based shared regions on both shared-and distributed-memory parallel computers. ABC++ is written in, and compatible with, standard C++: no language extensions or pre-processors are used. This paper focuses on its us...

متن کامل

Smart Messages: An Object-Oriented Communication Mechanism

ABC++ is a portable object-oriented type-safe class library for concurrent programming. It supports active objects, synchronous and asyn-chronous object interactions, and object-based shared regions on both shared-and distributed-memory parallel computers. ABC++ is written in, and compatible with, standard C++: no language extensions or pre-processors are used. This paper focuses on the use of ...

متن کامل

An Object-oriented Bsp Library for Multicore Programming

We show that the Bulk Synchronous Parallel (BSP) model, originally designed for distributed-memory systems, is also applicable for shared-memory multicore systems and, furthermore, that BSP libraries are useful in scientific computing on these systems. A proofof-concept MulticoreBSP library has been implemented in Java, and is used to show that BSP algorithms can attain proper speedups on multi...

متن کامل

Object-oriented Abstractions for Communication in Parallel Programs

Object-Oriented Abstractions for Communication in Parallel Programs. (May 2003) Steven Mack Saunders, B.S., Texas A&M University Chair of Advisory Committee: Dr. Lawrence Rauchwerger This thesis details ARMI, a parallel communication library that provides an advanced implementation of the remote method invocation protocol (RMI), which is well suited to object-oriented programs. ARMI is a framew...

متن کامل

Efficient Shared Memory Multiprocessing and Object-Oriented Programming

Object-oriented techniques are shown to hold promise for addressing the growing speed gap between memory and processors on shared-memory multiprocessors. However, reducing cache misses can be at the expense of more misses from the translation lookaside buffer (TLB—a cache of recent page translations). This paper presents simulation results from use of a library called OOSH (Object-Oriented Libr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996