The Tatami project is building a system to support softwareengineering over the internet, exploiting recent advances in web technology interface design, and specification. Our effort to improve the usability of such ...
详细信息
ISBN:
(纸本)0769509339
The Tatami project is building a system to support softwareengineering over the internet, exploiting recent advances in web technology interface design, and specification. Our effort to improve the usability of such systems led us into algebraic semiotics, while our effort to develop better formal methods for distributed concurrent systems led us into hidden algebra. We discuss the Tatami system design, especially user interface issues, and sketch an extension of algebraic semiotics for interface dynamics.
Testing is a difficult and time-consuming part of the software development cycle. This is because an error may happen in an unexpected way at an unexpected spot. Testing and debugging parallel and distributedsoftware...
详细信息
ISBN:
(纸本)0769511651
Testing is a difficult and time-consuming part of the software development cycle. This is because an error may happen in an unexpected way at an unexpected spot. Testing and debugging parallel and distributedsoftware are much more difficult than testing and debugging sequential software. This is due to the fact that errors are usually reproducible in sequential programs while they may not be reproducible in parallel and distributed programs. In addition, parallel and distributed programs introduce new types of errors and anomalies, race conditions and deadlocks, that do not exist in sequential software. In this paper I present a survey and a taxonomy of existing approaches for detecting race conditions and deadlocks in parallel and distributed programs. These approaches can be classified into two main classes. Static analysis techniques, and dynamic analysis techniques. I have subdivided further the static analysis techniques into three different subgroups: The concurrency analysis methods, The data-flow analysis methods, and the formal proof methods. A brief discussion and highlighting of main problems in most known approaches is given. The paper is concluded with tables summarizing the comparison between the surveyed approaches.
software architecture has emerged as an important topic in softwareengineering. This paper examines what is new about the subject, and what is not, and what research trends we may expect in the future. We discuss the...
详细信息
ISBN:
(纸本)0818680962;0818680970
software architecture has emerged as an important topic in softwareengineering. This paper examines what is new about the subject, and what is not, and what research trends we may expect in the future. We discuss the promise that work in the field holds, and organize the work into five predominant themes selection, representation, evaluation, development, and recovery. Technology for the formal representation of architectures is examined in detail, along with notions of architectural styles and patterns. The paper begins by examining the range of meanings associated with the term in order to provide a context for its treatment.
Gang scheduling is an approach for resource allocation in parallel and distributedsystems that combines time-sharing with space-sharing to ensure a short response time for interactive tasks and high overall system th...
详细信息
Gang scheduling is an approach for resource allocation in parallel and distributedsystems that combines time-sharing with space-sharing to ensure a short response time for interactive tasks and high overall system throughput. In this paper, we present queueing theoretic models for a particular gang scheduling system under a workload representative of large-scale engineering and scientific computing environments. We derive a detailed mathematical analysis of these models, from which we obtain closed-form expressions for different performance measures of interest. Our model and analysis is then used to analyze several fundamental performance tradeoffs associated with gang scheduling.
We examine the task of constructing bounded-time self-stabilizing rule-based systems that take their input from an external environment. Bounded response-time and self-stabilization are essential for rule-based progra...
详细信息
We examine the task of constructing bounded-time self-stabilizing rule-based systems that take their input from an external environment. Bounded response-time and self-stabilization are essential for rule-based programs that must be highly fault-tolerant and perform in a real-time environment. We present an approach for solving this problem using the OPS5 programming language as it is one of the most expressive and widely used rule-based programming languages. Bounded response-time of the program is ensured by constructing the state space graph so that the programmer can visualize the control flow of the program execution. Potential infinite firing sequences, if any, should be detected and the involved rules should be revised to ensure bounded termination. Both the input variables and internal variables are made fault-tolerant from corruption caused by transient faults via the introduction of new self-stabilizing rules in the program. Finally, the timing analysis of the self-stabilizing OPS5 program is shown in terms of the number of rule firings and the comparisons performed in the Rete network.
Data-intensive knowledge discovery requires scientific applications to run concurrently with analytics and visualization codes, executing in situ for timely output inspection and knowledge extraction. Consequently, I/...
详细信息
ISBN:
(纸本)9781538643686
Data-intensive knowledge discovery requires scientific applications to run concurrently with analytics and visualization codes, executing in situ for timely output inspection and knowledge extraction. Consequently, I/O pipelines of scientific workflows can be long and complex because they comprise many "stages" of analytics across different layers of the I/O stack of high-performance computing systems. Performance limitations at any I/O layer or stage can cause an I/O bottleneck resulting in longer than expected end-to-end I/O latency. The causes of such performance issues are missing a performance guarantee (e.g., lower bounds of I/O throughput) across stages of I/O pipelines and across layers of the I/O stacks. In this paper, we present the design and implementation of a novel data management infrastructure called software-defined Storage Resource Enclaves (SIREN) at system levels to enforce end-to-end policies that dictate an I/O pipeline's performance. Our results demonstrate that SIREN provides performance isolation among scientific workflows sharing multiple storage servers across two I/O layers while maintaining high system scalability and resource utilization.
High complexity of building parallel applications is often cited as one of the major impediments to the mainstream adoption of parallel computing, To deal with the complexity of software development, abstractions such...
详细信息
ISBN:
(纸本)0818681187
High complexity of building parallel applications is often cited as one of the major impediments to the mainstream adoption of parallel computing, To deal with the complexity of software development, abstractions such as macros, functions, abstract data types, and objects are commonly employed by sequential as well as parallel programming models. This paper describes the concept of a design pattern for the development of parallel applications. A design pattern in our case describes a recurring parallel programming problem and a reusable solution to that problem. A design pattern is implemented as a reusable code skeleton for quick and reliable development of parallel applications. A parallel programming system, called DPnDP (Design Patterns and distributed Processes), that employs such design patterns is described. In the past, parallel programming systems have allowed fast prototyping of parallel applications based on commonly occurring communication and synchronization structures. The uniqueness of our approach a's in the use of a standard structure and interface for a design pattern. This has several important Implications: First, design patterns can be defined and added to the system's library in an incremental manner without requiring any major modification of the system (Extensibility). Second, customization of a parallel application is possible by mixing design patterns with low level parallel code resulting in a flexible and efficient parallel programming toot (Flexibility). Also, a parallel design pattern can be parameterized to provide some variations in terms of structure and behavior.
software Transactional Memory (STM) may suffer from performance degradation due to excessive conflicts among concurrent transactions. An approach to cope with this issue consists in putting in place smart scheduling p...
详细信息
ISBN:
(纸本)9781509021406
software Transactional Memory (STM) may suffer from performance degradation due to excessive conflicts among concurrent transactions. An approach to cope with this issue consists in putting in place smart scheduling policies which temporarily suspend the execution of some transaction in order to reduce the actual conflict rate. In this paper, we present an adaptive transaction scheduling policy relying on a Markov Chain-based model of STM systems. The policy is adaptive in a twofold sense: (i) it schedules transactions depending on throughput predictions by the model as a function of the current system state;(ii) its underlying Markov Chain-based model is periodically re-instantiated at run-time to adapt it to dynamic variations of the workload. We also present an implementation of our adaptive transaction scheduler which has been integrated within the open source TinySTM package. The accuracy of our performance model in predicting the system throughput and the advantages of the adaptive scheduling policy over state-of-the-art approaches have been assessed via an experimental study based on the STAMP benchmark suite.
We argue that future computing environments will be collaboration oriented, globally distributed, and computation information rich. These environments will be accessed via multiple interface devices. As we move from a...
详细信息
ISBN:
(纸本)0818675829
We argue that future computing environments will be collaboration oriented, globally distributed, and computation information rich. These environments will be accessed via multiple interface devices. As we move from a desktop-centric computing model to a network-centric model, new approaches in the way software and data are handled will need to be developed. In this article we outline the requirements for enabling the technological infrastructure, describe some first steps that we have taken toward building this infrastructure, and sketch directions for future development.
Breakthrough-quality scientific discoveries in the new millennium (such as those expected in computation biology and others), along with optimal engineering designs, have created a demand for High-End Computing (HEC) ...
详细信息
ISBN:
(纸本)0769523129
Breakthrough-quality scientific discoveries in the new millennium (such as those expected in computation biology and others), along with optimal engineering designs, have created a demand for High-End Computing (HEC) systems with sustained performance requirements at a petaflop scale and beyond. Despite the very pessimistic (if not negative) views on parallel computing systems that have prevailed in 1990s, there seems to be no other viable alternatives for such HEC systems. In this talk, we present a fresh look at the problems facing the design of petascale parallel computing systems. We review several fundamental issues that such HEC parallel computing systems must resolve. These issues include: execution models that support dynamic and adaptive multithreading, fine-grain synchronization, and global name-space and memory consistency. Related issues in parallel programming, dynamic compilation models, and system software design will also be discussed. Present solutions and future direction will be discussed based on (1) application demand (e.g. computation biology and others), (2) the recent trend as demonstrated by the HTMT, HPCS, and the Blue-Gene Cyclops (e.g. Cyclops-64) architectures, and (3) a historical perspective on influential models such as dataflow, along with concepts learned from these models.
暂无评论