Parallel Programming With MPI Supplementary material, online drafts, and ordering information for a print book. http://fawlty.cs.usfca.edu/mpi/
Extractions: Peter Pacheco Parallel Programming with MPI is an elementary introduction to programming parallel systems that use the MPI 1.1 library of extensions to C and Fortran. It is intended for use by students and professionals with some knowledge of programming conventional, single-processor systems, but who have little or no experience programming multiprocessor systems. It is an extensive revision and expansion of A User's Guide to MPI Table of Contents Preface Information on obtaining a copy of the book can be obtained from Morgan Kaufmann Publishers Inc You can download source code for all the programs in the book. The code is available in either C (updated 2000/01/23) or Fortran (updated 2000/08/23) . These files were created using the Unix utilities tar and compress. If you're having trouble unpacking them, you can find some help here. Errata (updated 2002/10/16) and Notes (updated 2008/06/01) will be put online as soon as they become available. There are a number of freely available implementations of MPI that run on a variety of platforms: The MPICH implementation runs on a wide range of platforms and operating systems including Unix and Windows.
BSP Worldwide Home Page An informal association of people interested in the development of BSP. Links to research projects, events, and downloads of libraries. http://www.bsp-worldwide.org/
Extractions: BSP Worldwide is an association of people interested in the development of the Bulk Synchronous Parallel (BSP) computing model for parallel programming. It exists to provide a convenient means for the exchange of ideas and experiences about BSP and to stimulate the use of the BSP model. Areas of interest of BSP Worldwide include: The organisation does not have a formal structure. Its activities depend on contributions by volunteers, BSP users, and developers. Have a look at the BSP in the third millenium page for details of current activities. Standard: BSPlib: the BSP Programming Library , by Jonathan Hill, Bill McColl, Dan Stefanescu, Mark Goudreau, Kevin Lang, Satish Rao, Torsten Suel, Thanasis Tsantilas, and Rob Bisseling, version with C examples or with Fortran 77 examples . Published in Parallel Computing (1998) pp. 1947-1980.
BSPlab Home Page An environment for experimenting with BSP programs on different parallel architectures. Source code and documentation. http://www.idi.ntnu.no/~lasse/BSPlab/
Extractions: BSP lab BSPlab is an environment for experimenting with BSP programs on different computer architectures. Parallel applications are written in Visual C++ using the BSPlib standard for communication and synchronisation. The BSPlib is the result of the standardisation effort within BSP programming made by BSP World Wide . The user may select among various predefined parallel computer architectures. Currently, these are shared memory, distributed shared memory, network of workstations, or multiprocessors with message passing organised in various network topologies. The user may also develop user-defined architectures. The BSP programs are debugged and executed in BSPlab to achieve (simulated) performance measures and hopefully a better understanding of the interplay between hardware (i.e. architecture) and software (i.e. BSP-programs). BSPlab is primarily an environment for studying BSP computations with focus on the impact of algorithms and architectures on BSP program performance. However, BSPlab can also be used as a programming environment for BSP applications developed for real parallel computers running BSPlib.
Home Page - Torsten Suel Research papers available in Postscript describing performance of BSP on multiple platforms. http://cis.poly.edu/suel/
Extractions: Polytechnic Institute of NYU I am a faculty member in the Department of Computer Science and Engineering at the Polytechnic Institute of NYU (formely called Polytechnic University) in Brooklyn, NY. I received a Diplom degree from the Technical University of Braunschweig in Germany, and a Ph.D. from the University of Texas at Austin. Before joining Poly in the Fall of 1998, I held postdoctoral positions at the NEC Research Institute and Bell Labs. I was on leave from Poly during 2008, working at Yahoo! Research in Santa Clara, CA. COURSE OFFERING IN Fall 2009: CS6093 - Advanced Database Systems course syllabus (PDF) RESEARCH: My main research areas are web search technology, algorithms, databases, data compression, and distributed computation. I currently spend most of my time working with my graduate and undergraduate students in the Web Exploration and Search Technology Lab , who are building web search engines and other search tools and experimenting with new techniques and architectures. In addition, I still do some work in the algorithms and database areas, and I am also interested in peer-to-peer systems, data compression, networking, and distributed systems. For more information, visit the homepage of my research group or look at my complete list of papers Student Research Opportunities: I usually have a few research topics available for highly motivated students who want to do research under my supervision, e.g., as part of a senior project or MS thesis. But please read
Extractions: Click here to see the number of accesses to this library. PVM is particularly effective for heterogeneous applications that exploit specific strengths of individual machines on a network. As a loosely coupled concurrent supercomputer environment, PVM is a viable scientific computing platform. The PVM system has been used for applications such as molecular dynamics simulations, superconductivity studies, distributed fractal computations, matrix algorithms, and in the classroom as the basis for teaching concurrent computing. PVM Home Page PVM: A Users' Guide and Tutorial for Networked Parallel Computing Network Computing Working Notes: Reports about our activities. PVM Frequently Asked Questions # PVM Version 3 # ============= # This directory contains a number of items relating to PVM version 3. # # To obtain a short (1 page) writeup on the projects send mail to # netlib@ornl.gov, in the mail message type: # send writeup.ps from pvm3 # lib for Win32 Zip and InstallShield versions of PVM file writeup.ps
Pvm3/contrib/pvmfs Provides a common file server to PVM processes. Source code available. http://www.netlib.org/pvm3/contrib/pvmfs/
Extractions: Click here to see the number of accesses to this library. file pvm334fs.patch # Diffs to add pvmfs to PVM version 3.3.4 (raw patches). # Last updated 9/7/93 (580875 bytes). file pvm325fs.tgz # Diffs to add pvmfs to PVM version 3.2.5 # Last updated 12/17/93 (589045 bytes). file 324fs.to.325fs.tgz # Diffs to update PVM version 3.2.4+pvmfs # to PVM version 3.2.5+pvmfs (shar file). # Last updated 12/17/93 (109510 bytes). file pvm324fs.tgz # Diffs to add pvmfs to PVM version 3.2.4 # Last updated 11/12/93 (612512 bytes).
Extractions: PIOUS is a complete Parallel I/O System for the PVM 3 distributed computing environment. Just as PVM implements a virtual multicomputer on top of a heterogeneous network of computing resources, PIOUS implements a fully functional parallel file system on top of PVM. PVM applications obtain transparent access to shared permanent storage via PIOUS library functions. PIOUS is intended to serve both as a platform for supporting high-performance parallel applications, and as a vehicle for parallel file system research. PIOUS implements the traditional functionality found in most parallel computer file systems, as well as a number of unique features, including: PIOUS should work on most systems that support PVM 3. To date, PIOUS has been tested on the following: Sun4/SunOS 4.1.3/5.3-4, SGI/IRIX 4.0.5/5.3, Dec Alpha/OSF1 2.1, HP 9000/HP-UX, and IBM RS6000/AIX. Versions of PIOUS are installed at hundreds of sites, and the software appears to be stable. The PIOUS project is supported in part by U. S. DoE, MICS grant DE-FG05-91ER25105, and NSF awards ASC-9527186, and CCR-9523544.
Extractions: What is PVMTB?: PC Linux users with several MATLAB licenses can use PVMTB in order to call PVM library routines from within the MATLAB interpreter. Processes can be spawned, MATLAB variables can be sent/recvd, etc. Due to MATLAB's "eval" facility, commands for remote execution may be passed as strings to the desired MATLAB "computing instance", and the result may be sent back to the MATLAB "host instance". You can have a look at the PVMTB papers
Extractions: Cluster Computing has become a viable solutions for compute intensive applications. It's not only a matter of multiple core systems but also the interconnection network plays a key role to achieve efficiency and speedup the time to obtain a result. Find your solution with HPC Cluster Solutions, Innovation for your mission Research Reviewer Cluster 2008 - Tokyo, Japan more CeBIT iX 2008 Conference Speaker more HPC Consulting Moving applications from single nodes to cluster systems is a complex task. more Publications Referreed Articles and other papers more While individual solutions are not of general use, there are basic software packages which are a vehicle for multiple HPC applications. PVM is a popular message passing environment which has the support for heterogeneous environments and dynamic process management as its key features. While fine grain applications benefit from its successor MPI, PVM is still an enabling technology. Advances in traditional networks also bring more bandwidth to PVM when using 10Gbps Ethernet for example. A Remote Execution Facility for Windows Operating Systems. This software allows processes to run on a remote machine in a secure manner. Applications so far have been remote image processing using Desktop machines which otherwise would have been idle. Rendering of movies is another field of application. Additional uses are Excel spread processing, Gene Sequencing, Backup and mathmetical simulations. Contact us to see if you can also make use of idle Windows machines in your office.
The TPVM Home Page Threads-oriented PVM. Source code, documentation, and papers. http://www.cs.virginia.edu/~ajf2j/tpvm.html
Extractions: Threads-oriented PVM (TPVM) is an experimental subsystem for PVM which supports the use of light-weight processes or "threads" as the basic unit of scheduling and parallelism. The system has been ported to the SunOS 4.x and Solaris 2.x environments. The latest version also has ports that work on SGI workstations running IRIX 5.x, and IBM RS/6000's running AIX. All of these versions have been tested for interoperability - i.e. threads running on one of the above platforms can cooperate with threads running on other platforms transparently. The system is designed for ease of portability, so if your favorite platform, OS, or threads implementation isn't represented in the version available here, the required changes are few and are localized to a single module (the architecture independent threads module).
The JPVM Home Page A message-passing library for Java similar to PVM. Source code and papers. http://www.cs.virginia.edu/~ajf2j/jpvm/
Extractions: The Java Parallel Virtual Machine NOTE: If you are currently using JPVM, please download the latest version below (v0.2.1, released Feb.2, 1999). It contains an important bug fix to pvm_recv. JPVM is a PVM-like library of object classes implemented in and for use with the Java Programming language. PVM is a popular message passing interface used in numerous heterogeneous hardware environments ranging from distributed memory parallel machines to networks of workstations. Java is the popular object oriented programming language from Sun Microsystems that has become a hot-spot of development on the Web. JPVM, thus, is the combination of both - ease of programming inherited from Java, high performance through parallelism inherited from PVM. The reasons against are obvious - Java programs suffer from poor performance, running more than 10 times slower than C and Fortran counterparts in a number of tests I ran on simple numerical kernels. Why then would anyone want to do parallel programming in Java? The answer for me lies in a combination of issues including the difficulty of programming - parallel programming in particular, the increasing gap between CPU and communications performance, and the increasing availability of idle workstations. Developing PVM programs is typically not an easy undertaking for non-toy problems. The available language bindings for PVM (i.e., Fortran, C, and even C++) don't make matters any easier. Java has been found to be easy to learn and scalable to complex programming problems, and thus might help avoid some of the incidental complexity in PVM programming, and allow the programmer to concentrate on the inherent complexity - there's enough of that to go around.
Extractions: is an enhancement package for PVM 3.3 that produces trace files for use with standard ParaGraph. PGPVM2 attempts to give an accurate portrayal of applications by minimizing the perturbation inherent with this type of monitoring. PGPVM2 does not utilize standard PVM tracing but instead its own buffered tracing techniques to provide more accurate monitoring information. Further, PGPVM2 provides a shellscript that performs some postprocessing and produces a pgfile.trf , i.e. a standard ParaGraph trace event file. Tachyon removal and clock synchronization are performed during postprocessing when necessary. , including a brief documentation and examples, is available as a gzip ed tar file pgpvm2.tar.gz from ftp://phalanstere.univ-mlv.fr ParaGraph may be obtained from netlib or by anonymous Ftp from netlib2.cs.utk.edu Y ou may prefer simply to get the postscript documentation A s computers are getting more and more connected via world-wide networks, a new chance of gaining computing power from the net arises. Thus, a collection of heterogeneous even small computers can now clusters computing power to exceed that of the sequential computers. However, it seems clear that the full potential of such distributed systems cannot be realized without similar advances in parallel software, just because parallel computation in a distributed environment is not so easy whereas it seems quite common to run large sequential scientific calculations on a single huge processor.
Extractions: We pronounce PADE like the family name of the French mathematician, Purpose: To facilitate development of parallel applications for heterogeneous networked computers. Strategy: Provides a single graphical user interface that incorporates all essential tools for development of parallel applications. The model is an extension of that of standard Unix-based development for a single processor. Implementation: PADE can employ any standard message-passing library for interprocessor communications. Its main purpose is to facilitate development on a heterogeneous network, so the current version utilizes the Parallel Virtual Machine (PVM) message passing library, a public domain application available for most Unix systems. It provides a graphical user interface that runs on the user's development host, which provides all utilities for development and maintenance of programs that run on nodes of the user's virtual machine. PADE incorporates: a program organizer a parallel make utility other NIST utilities for running PVM programs access to standard editors, debuggers, and performance monitors
PVM WIN32 PORT Source code and papers. http://www.csm.ornl.gov/pvm/NTport.html
Extractions: The PVM Team has developed a port of PVM 3.4 to WIN32 platforms. Win32 includes Windows95, Windows 98, and Windows NT Server/Workstation 4.0. The software allows clustering computers running Win32 or Win NT 4.0 with Unix workstations and/even MPP's together into one parallel virtual machine. After several beta releases compliant to pvm3.3.x, the PVM port to Win32 is now integrated into PVM 3.4 ! You will find it on netlib as well as in Markus Fischer's download area. People are encouraged to use the InstallShield version but the source is also available if they wish to recompile. A binary distribution for Alpha's running NT is also available. The package has been tested even on Quad Boards with 4 Pentium Pro's running Windows NT 4.0 Server. The PVM 3.4 beta 6 and beta 7 versions come with an InstallShield version where a wizard lets you decide where to install the package, which compilers you would like being supported and where some temporary files are ALLOWED to be stored ! (this was causing major problems on restricted NT boxes for example)