PM2 (project Management Methodology)
   HOME

TheInfoList



OR:

Parallel Multithreaded Machine (PM2) is a
software Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications. The history of software is closely tied to the development of digital comput ...
for parallel networking of computers. PM2 is an open-source distributed multithreaded programming environment designed to support efficiently distributed programs with a highly irregular behavior (e.g.
branch and bound Branch and bound (BB, B&B, or BnB) is a method for solving optimization problems by breaking them down into smaller sub-problems and using a bounding function to eliminate sub-problems that cannot contain the optimal solution. It is an algorithm ...
search, computation on
sparse matrices In numerical analysis and scientific computing, a sparse matrix or sparse array is a matrix (mathematics), matrix in which most of the elements are zero. There is no strict definition regarding the proportion of zero-value elements for a matrix ...
, etc.) on distributed architectures. It is distributed under the
GPL The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first c ...
. PM2 adheres to the SPMD (''Single Program Multiple Data'') programming model, in a way very similar to the PVM and MPI communication libraries. The user writes a single program text, a copy of which is launched by a specific ''load'' command on each ''processing node'' of the current configuration. It is up to the programmer to include branching so as to differentiate between the processing nodes. This way it allows a network of heterogeneous machines to be used as a single distributed parallel processor. It is primarily designed for medium-size clusters of commodity processing nodes interconnected by high-performance networks, but nothing prevents the use on massively parallel
MIMD In computing, multiple instruction, multiple data (MIMD) is a technique employed to achieve parallelism. Machines using MIMD have a number of processor cores that function asynchronously and independently. At any time, different processors may b ...
machines at one end of the spectrum, or as a support for metacomputing over the Internet on the other end. It supports heterogeneous networking configurations, such as sets of interconnected clusters. Distinguishing features of PM2 include its priority driven scheduling policy, its thread migration mechanisms and its ability to ease the development of various load balancing policies. It can manage several hundreds of threads on each available physical processor. The PM2 interface provides functionalities for the management of this high degree of parallelism and for dynamic load balancing. The thread management subsystem of PM2 is called Marcel (named after
Marcel Proust Valentin Louis Georges Eugène Marcel Proust ( ; ; 10 July 1871 – 18 November 1922) was a French novelist, literary critic, and essayist who wrote the novel (in French – translated in English as ''Remembrance of Things Past'' and more r ...
) and its communication subsystem Madeleine, a French sweet that supposedly played a central role in the life of
Marcel Proust Valentin Louis Georges Eugène Marcel Proust ( ; ; 10 July 1871 – 18 November 1922) was a French novelist, literary critic, and essayist who wrote the novel (in French – translated in English as ''Remembrance of Things Past'' and more r ...
. PM2 features an additional functionality to provide threads with a uniform access to data, whatever their physical location. It is called DSM-PM2. PM2 runs on most
Unix Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
platforms.


Development history

PM2 is developed at LaBRI (Laboratoire Bordelais de Recherche en Informatique), a research laboratory located in Bordeaux, France, jointly supported by the INRIA, the CNRS, and the University of Bordeaux. Before that, PM2 was developed at LIP (Laboratoire de l'Informatique du Parallélisme), a research laboratory located at the ENS Lyon (Ecole Normale Supérieure de Lyon), France, jointly supported by the INRIA, the CNRS and the University Claude Bernard Lyon. PM2 was originally designed by Raymond Namyst and Jean-François Méhaut at LIFL, University of Lille, France.


See also

* PVM *
Distributed Computing Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers. The components of a distributed system commu ...
*
Parallel Computing Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...


References

*This article was originally based on material from th
Getting Started with PM2
article, Copyright © March 2006 Team Runtime
The Way the Cookie Crumbles/How much did Proust know about madeleines?
By Edmund Levin, May 11, 2005 {{Refend Free computer programming tools