Abstract. This paper presents a programming model, a language (P-COM 2 ) and a compiler that composes parallel and distributed programs from independently written components. P-COM 2 is an interface definition language which incorporates information on behaviors and implementations of components to enable qualification of components for effectiveness in specific application instances and execution environments. The programming model targets development of families of related programs. One objective is to be able to compose programs which are near-optimal for given application instances and execution environments. Component-oriented development is motivated for parallel and distributed computations. The programming model is defined and described and illustrated with a simple example. The compilation process is briefly defined and described. Experience with one more complex application, a generalized fast multipole solver is sketched including performance data, some of which was surprising.
SUMMARYThis paper is a case study of the effectiveness of component-oriented development for enhancing both productivity and performance for parallel programs. A process for converting monolithic applications into semantically composable components is described. The supporting software, the P-COM 2 compositional compiler, is briefly described. The componentized version of Sweep3D is described. Productivity is illustrated by composing different instances of the Sweep3D code through automated composition of components using P-COM 2 . These instances, each of which targets improving performance for some execution environment or problem case, are examples of a family of instances which are composable from a modest set of components. It is found that customization of componentized codes by componentlevel adaptation may yield substantial performance improvement for specific execution environments. We identify and explain some of the benefits of component-oriented development for high-performance parallel systems.
This paper describes a method for evolutionary component-based development of families of parallel programs to attain performance goals on multiple execution environments for multiple family instances and an implementation of the method. It is based upon combining component-oriented development with integration of parallel/distributed execution and parallel/distributed simulation. Each component may have multiple representations at multiple levels of realization from analytical timing models to production code. Each component is encapsulated with an associative interface specifying its properties and behaviors which enables distinguishing among different implementations (or abstractions) of the same functional behavior which may have different performance behavior. Evolutionary development evolves a program from an abstract performance model to a complete program and may continue evolution during runtime. Performance can be estimated at any stage of realization. The implementation is a compiler which composes parallel/distributed programs from components encapsulated with associative interfaces and a runtime system which supports integrated execution/simulation of parallel programs composed from components at different levels of abstraction and program evolution at runtime by component replacement. Case studies in the application of the evolutionary development method including performance results are given.
This paper reports a case study in automated composition of application families from components. The case study composes multiple instances of an h-p adaptive finite element code. An application family is represented as a structure of components. Each component is encapsulated with an interface giving a semantic specification of the properties and behavior of the component. Instances of the application family can be automatically assembled from a library of components by a compiler and the application instance can be optimized by component replacement during runtime through runtime component selection and binding. The case study demonstrates the benefits of the component composition approach to application family development and shows that execution efficiency is maintained or improved by the componentized development process.
Conclusion Although there are small numbers of patients on Berotralstat we have found that it has reduced attack frequency and severity in all patients. It also reduces the overall medication burden of patients, both in number of different medications and the need for intravenous or subcutaneous injections for breakthrough attacks and we have not had any treatment discontinuations due to adverse events.In response to this audit we developed a form that could be edited and stored on the electronic notes system that would be completed for each patient with HAE, which offers a scoring assessment of the burden of HAE on the lives of patients and carers. We have also developed an electronic care plan that improves information sharing about prophylaxis and rescue treatment for acute attacks. REFERENCE 1. National Institute for Health and Care Excellence (2021) Berotralstat for preventing recurrent attacks of hereditary angioedema (TA738) NICE.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.