A program's architecture-how it organizes the invocation of application-specific logic-influences important program characteristics including its scalability and security. Architecture details are usually expresse...
详细信息
ISBN:
(纸本)9798350311990
A program's architecture-how it organizes the invocation of application-specific logic-influences important program characteristics including its scalability and security. Architecture details are usually expressed in the same programming language as the rest of a program, and can be difficult to distinguish from non-architecture code. And once defined, architecture is difficult and risky to change because it couples tightly with application logic over time. We introduce C-Saw: an approach to express a software's architecture using a new embedded domain-specific language (EDSL) designed for that purpose. It decouples application-specific logic from architecture, making it easier to identify architectural details of software. C-Saw leverages three ideas: (i) introducing a new, formally-specified EDSL to separate an application's architecture description from its programming language;(ii) reducing architecture implementation to the definition and management of distributed key-value tables, and (iii) introducing an expressive state-management abstraction for distributed applications. We describe a prototype implementation of C-Saw for C programs and use it to build end-to-end examples of expressing and changing the architecture of widely-used, third-party software. We evaluate this on Redis, cURL, and Suricata and find that C-Saw provides expressiveness and reusability, requires fewer lines of code when compared to directly using C to express architectural patterns, and imposes low performance overhead on typical workloads.
We describe a dynamic load-balancing algorithm for ray-tracing by progressive refinement on a distributed-memory parallel computer. parallelization of progressive ray-tracing for single images is difficult because of ...
详细信息
ISBN:
(纸本)1581130104
We describe a dynamic load-balancing algorithm for ray-tracing by progressive refinement on a distributed-memory parallel computer. parallelization of progressive ray-tracing for single images is difficult because of the inherent sequential nature of the sample location generation process, which is optimized (and different) for any given image. parallelization of progressive ray-tracing when generating image sequences at a fixed interactive rate is even more difficult, because of the time and synchronization constraints imposed on the system. We show how to overcome these problems, which, to the best of our knowledge, have not been treated before. Exploiting the temporal coherence between frames enables us to both accelerate rendering and improve the load-balance throughout the sequence. Our dynamic load-balance algorithm, a blend of local and global methods, accounting not only for rendering performance, but also communication overheads and synchronization issues, is shown to be robust to the harsh environment imposed by a time-critical application, such as the one we consider.
This paper presents a fault-tolerant resource allocation algorithm in a dynamic distributed message passing system, where concurrent processes sharing system resources can be created or terminated dynamically. The deg...
详细信息
This paper presents a fault-tolerant resource allocation algorithm in a dynamic distributed message passing system, where concurrent processes sharing system resources can be created or terminated dynamically. The degree of fault-tolerance is measured by the failure locality that is the maximum number of processes whose liveness conditions (e.g., starvation freedom) cannot be satisfied because of a single process failure. The algorithm guarantees the optimal failure locality.
Blocking locks are commonly used in parallel programs to improve application performance and system throughput. However, most implementations of such locks suffer from two major problems - latency and scalability. In ...
详细信息
ISBN:
(纸本)0818672552
Blocking locks are commonly used in parallel programs to improve application performance and system throughput. However, most implementations of such locks suffer from two major problems - latency and scalability. In this paper, we propose an implementation of blocking locks using scheduler adaptation which exploits the interaction between thread schedulers and locks. By experimentation using well-known multiprocessor applications on a KSR2 multiprocessor, we demonstrate how such an implementation considerably reduces the latency and improves the scalability of blocking locks.
We describe a software environment for high performance distributed computing on a network of multiprocessor workstations. In designing this environment, we have used a problem-oriented approach as opposed to the trad...
详细信息
ISBN:
(纸本)0818675829
We describe a software environment for high performance distributed computing on a network of multiprocessor workstations. In designing this environment, we have used a problem-oriented approach as opposed to the traditional algorithm-oriented approach. This paradigm shift enables us to generate efficient programs automatically for a well-defined class of problems. Thus, our system frees the users from the esoteric tasks of algorithm design and implementation. An important feature of our system is its ability to handle the large variation in granularity - we call this dual level parallelism - in a hybrid processing environment. This feature is the key to the superior efficiency delivered by the system. We give preliminary results from a case study in which our system is used to generate programs automatically for a scientific application, with a network of multiprocessors as the target platform.
This symposiumproceedings contains 21 papers. Among the subjects covered are: Recovery Issues in distributed Systems, Design Issues in distributed Database Systems, Recent Advances in distributedprocessing and Relia...
详细信息
ISBN:
(纸本)0818605014
This symposiumproceedings contains 21 papers. Among the subjects covered are: Recovery Issues in distributed Systems, Design Issues in distributed Database Systems, Recent Advances in distributedprocessing and Reliable Computing, Design and Analysis of distributed Operating Systems, Implementation of Reliable distributed Systems and Fault Tolerant Algorithms in distributed Systems.
Much has been said about processing efficiently data in parallel database servers, and some data warehouse applications must process in the order of tens to hundreds of Gigabytes efficiently. Yet, there is no effectiv...
详细信息
ISBN:
(纸本)9780769534718
Much has been said about processing efficiently data in parallel database servers, and some data warehouse applications must process in the order of tens to hundreds of Gigabytes efficiently. Yet, there is no effective approach targeted at using non-dedicated low-cost plaforms efficiently in this context. Imagine taking together 10 or 1000 commodity PCs and setting-up a data crunching platform for large database-resident data with acceptable performance. There are significant inter-related data layout and processing challenges when the computational, storage and network hardware are heterogeneous and slow. We propose how to place, replicate and load-balance the data efficiently in this context. This work innovates in several respects: being practically as fast as full-mirroring without its overhead, exploring schema, chunk-wise placement, replication and load-balanced processing to be faster and more flexible than previous efforts. Our findings are complemented by an evaluation using TPC-H performance benchmark queries.
As parallel computers are increasingly used to run scientific applications with large data sets, and as processor speeds continue to increase, it becomes more important to provide fast, effective parallel file systems...
详细信息
As parallel computers are increasingly used to run scientific applications with large data sets, and as processor speeds continue to increase, it becomes more important to provide fast, effective parallel file systems for data storage and for temporary files. In an earlier work we demonstrated that a technique we call disk-directed I/O has the potential to provide consistent high performance for large, collective, structured I/O requests. In this paper we expand on this potential by demonstrating the ability of a disk-directed I/O system to read irregular subsets of data from a file, and to filter and distribute incoming data according to data-dependent functions.
Computing the configuration space obstacles is an important problem in spatial planning for robotics applications. In this paper, we present parallel algorithm for computing the configuration space obstacles by using ...
详细信息
Computing the configuration space obstacles is an important problem in spatial planning for robotics applications. In this paper, we present parallel algorithm for computing the configuration space obstacles by using hypercube multiprocessors. The digitized images of the obstacles and the robot are stored in an N × N image plane. An algorithm for handling robots whose shapes are arbitrary convex polygons was presented. Our algorithms take O(logN) time and O(1) space which is asymptotically optimal for hypercube computers.
The inter-processor communication time is a major bottleneck for the distributed memory systems (DMSs) and can be reduced by having an efficient task partitioning and scheduling strategy. This paper deals with the sch...
详细信息
The inter-processor communication time is a major bottleneck for the distributed memory systems (DMSs) and can be reduced by having an efficient task partitioning and scheduling strategy. This paper deals with the scheduling issues and presents an algorithm to schedule tasks onto DMSs. The complexity of this algorithm is O(V2), where V is the number of nodes of the directed acyclic graph (DAG). This algorithm has been applied to some practical DAGs and the results obtained using this algorithm are very promising.
暂无评论