8 research outputs found

    Threads for Interoperable Parallel Programming

    No full text
    . Many thread packages are freely available on the Internet. Yet, most parallel language design groups seem to have rejected all existing packages and implemented their own. This is unsurprising. Existing thread packages were designed for sequential computers, not parallel machines, and do not fit well in a parallel environment. Also importantly, existing thread packages try to impose a number of design decisions, especially in regard to scheduling and preemption. Designers of parallel languages are simply not willing to have scheduling methods decided for them, nor are they willing to allow the threads package to decide how concurrency control will work. In this paper, we explore the special issues raised when threads packages are used on parallel machines, particularly as parts of new parallel languages and systems. We describe the Converse threads subsystem, whose goals are to support the special needs of parallel programs, and to support interoperability among parallel languages. W..

    Load Balancing in Parallel Molecular Dynamics

    No full text
    Implementing a parallel molecular dynamics as a parallel application presents some unique load balancing challenges. Non-uniform distribution of atoms in space, along with the need to avoid symmetric redundant computations, produces a highly irregular computational load. Scalability and efficiency considerations produce further irregularity. Also, as the simulation evolves, the movement of atoms causes changes in the load distributions. This paper describes the use of an object-based, measurement-based load balancing strategy for a parallel molecular dynamics application, and its impact on performance. 1 Introduction Computational molecular dynamics is aimed at studying the properties of biomolecular systems, and their dynamic interactions. As human understanding of biomolecules progresses, such computational simulations become increasingly important. In addition to their use in understanding basic biological processes, such simulations are used in rational drug design. As rese..

    NAMD: A Case Study in Multilingual Parallel Programming

    No full text
    . Parallel languages are tools for constructing efficient application programs, while reducing the required labor. In this light, using the most appropriate tool for each component of a complex system seems natural, resulting in multi-paradigm multilingual programming. The Converse system developed at Illinois addresses the issues involved in supporting multilingual applications. This paper describes the development of a large parallel application in Computational Biophysics from the point of view of multilingual programming. NAMD, a molecular dynamics program, is implemented using three different "paradigms": Parallel message-driven objects, Message-Passing, and Multithreading. The issues faced in implementing such a system, and the advantages of multilingual approach are discussed. NAMD is already operational on many parallel machines. Some preliminary performance results are presented and the lessons learned from this experience are discussed. 1 Introduction Parallel programming co..

    Education and Research Challenges in Parallel Computing

    No full text
    Over three decades of parallel computing, new computational requirements and systems have steadily evolved, yet parallel software remains notably more difficult relative to its sequential counterpart, especially for fine-grained parallel applications. We discuss the role of education to address challenges posed by applications such as informatics, scientific modeling, enterprise processing, and numerical computation. We outline new curricula both in computational science and in computer science. There appear to be new directions in which graduate education in parallel computing could be directed toward fulfilling needs in science and industry
    corecore