1,912 research outputs found

    A compiler approach to scalable concurrent program design

    Get PDF
    The programmer's most powerful tool for controlling complexity in program design is abstraction. We seek to use abstraction in the design of concurrent programs, so as to separate design decisions concerned with decomposition, communication, synchronization, mapping, granularity, and load balancing. This paper describes programming and compiler techniques intended to facilitate this design strategy. The programming techniques are based on a core programming notation with two important properties: the ability to separate concurrent programming concerns, and extensibility with reusable programmer-defined abstractions. The compiler techniques are based on a simple transformation system together with a set of compilation transformations and portable run-time support. The transformation system allows programmer-defined abstractions to be defined as source-to-source transformations that convert abstractions into the core notation. The same transformation system is used to apply compilation transformations that incrementally transform the core notation toward an abstract concurrent machine. This machine can be implemented on a variety of concurrent architectures using simple run-time support. The transformation, compilation, and run-time system techniques have been implemented and are incorporated in a public-domain program development toolkit. This toolkit operates on a wide variety of networked workstations, multicomputers, and shared-memory multiprocessors. It includes a program transformer, concurrent compiler, syntax checker, debugger, performance analyzer, and execution animator. A variety of substantial applications have been developed using the toolkit, in areas such as climate modeling and fluid dynamics

    Humanizing Architecture: A Polymorphic Space

    Get PDF
    The built environments in which our communities thrive constitute an integral part of human experience and evolution. Yet, many places are detached from the way we experience them due to mass-production, which often produces standardized environments, and due to the tendency of modern architecture to delineate spaces as static objects rather than dynamic interactions. Thus, there is an emerging need to humanize architecture through an interdisciplinary approach that engages nature’s behavioral patterns. The project proposes a transformable polyhedral structure that interacts with human emotion through a three-dimensional morphing space that contracts and expands. This spatial interaction is achieved through a comprehensive process of employing the principles of interactive design and by applying mechanical construction techniques of transformable polyhedrons inspired by Buckminster Fuller’s Jitterbug

    A design methodology for portable software on parallel computers

    Get PDF
    This final report for research that was supported by grant number NAG-1-995 documents our progress in addressing two difficulties in parallel programming. The first difficulty is developing software that will execute quickly on a parallel computer. The second difficulty is transporting software between dissimilar parallel computers. In general, we expect that more hardware-specific information will be included in software designs for parallel computers than in designs for sequential computers. This inclusion is an instance of portability being sacrificed for high performance. New parallel computers are being introduced frequently. Trying to keep one's software on the current high performance hardware, a software developer almost continually faces yet another expensive software transportation. The problem of the proposed research is to create a design methodology that helps designers to more precisely control both portability and hardware-specific programming details. The proposed research emphasizes programming for scientific applications. We completed our study of the parallelizability of a subsystem of the NASA Earth Radiation Budget Experiment (ERBE) data processing system. This work is summarized in section two. A more detailed description is provided in Appendix A ('Programming Practices to Support Eventual Parallelism'). Mr. Chrisman, a graduate student, wrote and successfully defended a Ph.D. dissertation proposal which describes our research associated with the issues of software portability and high performance. The list of research tasks are specified in the proposal. The proposal 'A Design Methodology for Portable Software on Parallel Computers' is summarized in section three and is provided in its entirety in Appendix B. We are currently studying a proposed subsystem of the NASA Clouds and the Earth's Radiant Energy System (CERES) data processing system. This software is the proof-of-concept for the Ph.D. dissertation. We have implemented and measured the performance of a portion of this subsystem on the Intel iPSC/2 parallel computer. These results are provided in section four. Our future work is summarized in section five, our acknowledgements are stated in section six, and references for published papers associated with NAG-1-995 are provided in section seven

    A Review of Platforms for the Development of Agent Systems

    Full text link
    Agent-based computing is an active field of research with the goal of building autonomous software of hardware entities. This task is often facilitated by the use of dedicated, specialized frameworks. For almost thirty years, many such agent platforms have been developed. Meanwhile, some of them have been abandoned, others continue their development and new platforms are released. This paper presents a up-to-date review of the existing agent platforms and also a historical perspective of this domain. It aims to serve as a reference point for people interested in developing agent systems. This work details the main characteristics of the included agent platforms, together with links to specific projects where they have been used. It distinguishes between the active platforms and those no longer under development or with unclear status. It also classifies the agent platforms as general purpose ones, free or commercial, and specialized ones, which can be used for particular types of applications.Comment: 40 pages, 2 figures, 9 tables, 83 reference

    FAUST Domain Specific Audio DSP Language Compiled to WebAssembly

    Get PDF
    International audienceThis paper demonstrates how FAUST, a functional programming language for sound synthesis and audio processing, can be used to develop efficient audio code for the Web. After a brief overview of the language, its compiler and the architecture system allowing to deploy the same program as a variety of targets, the generation of WebAssembly code and the deployment of specialized WebAudio nodes will be explained. Several use cases will be presented. Extensive benchmarks to compare the performance of native and WebAssembly versions of the same set of DSP have be done and will be commente

    Privileged Killers, Privileged Deaths: German Culture and Aviation in the First World War: 1909-1925

    Get PDF
    This dissertation examines aviation’s influence on German cultural and social history between 1908 and 1925. Before the First World War, aviation embodied one of many new features of a rapidly modernizing Germany. In response, Germans viewed flight as either a potentially transformative tool or a possible weapon of war. The outbreak of war in 1914 moved aviation away from its promised potential to its lived reality. In doing so, the airplane became a machine which compressed time and space, reordered the spatial arrangement of the battlefield, and transformed the human relationship with killing. Germany’s fliers initially served as observers, noting troop positions in the war’s opening weeks. As the Western Front transformed into static trench warfare, flight, in concert with photography, became a method of gathering intelligence. The camera also shaped the identity and iconography of the aviator both in public and in private photographs. Aviation created a privileged space for combat pilots to engage with, or ignore, the consequences of killing as aerial violence became commonplace. Killing, death, and superstition in the air were repackaged with older cultural tropes to render new violence knowable. The German general staff too, became increasingly obsessed with killing in the air, and this fascination fed a new system for understanding the air war. Germany’s regional divisions were also reflected in aviation and directly influenced both the composition of its air service and the machines issued to its pilots. Aviators were again privileged in their use of cultural markers to signpost individual, local, and national identities. The end of the war, however, shattered previous perceptions of war time, and left living aviators to struggle to make sense of a new present, while the nation’s lost fliers were repurposed for contradictory social and political ends

    A multi-block infrastructure for three-dimensional time-dependent numerical relativity

    Get PDF
    We describe a generic infrastructure for time evolution simulations in numerical relativity using multiple grid patches. After a motivation of this approach, we discuss the relative advantages of global and patch-local tensor bases. We describe both our multi-patch infrastructure and our time evolution scheme, and comment on adaptive time integrators and parallelisation. We also describe various patch system topologies that provide spherical outer and/or multiple inner boundaries. We employ penalty inter-patch boundary conditions, and we demonstrate the stability and accuracy of our three-dimensional implementation. We solve both a scalar wave equation on a stationary rotating black hole background and the full Einstein equations. For the scalar wave equation, we compare the effects of global and patch-local tensor bases, different finite differencing operators, and the effect of artificial dissipation onto stability and accuracy. We show that multi-patch systems can directly compete with the so-called fixed mesh refinement approach; however, one can also combine both. For the Einstein equations, we show that using multiple grid patches with penalty boundary conditions leads to a robustly stable system. We also show long-term stable and accurate evolutions of a one-dimensional non-linear gauge wave. Finally, we evolve weak gravitational waves in three dimensions and extract accurate waveforms, taking advantage of the spherical shape of our grid lines.Comment: 18 pages. Some clarifications added, figure layout improve

    Development of a Navier-Stokes algorithm for parallel-processing supercomputers

    Get PDF
    An explicit flow solver, applicable to the hierarchy of model equations ranging from Euler to full Navier-Stokes, is combined with several techniques designed to reduce computational expense. The computational domain consists of local grid refinements embedded in a global coarse mesh, where the locations of these refinements are defined by the physics of the flow. Flow characteristics are also used to determine which set of model equations is appropriate for solution in each region, thereby reducing not only the number of grid points at which the solution must be obtained, but also the computational effort required to get that solution. Acceleration to steady-state is achieved by applying multigrid on each of the subgrids, regardless of the particular model equations being solved. Since each of these components is explicit, advantage can readily be taken of the vector- and parallel-processing capabilities of machines such as the Cray X-MP and Cray-2
    • …
    corecore