Results 11 - 20
of
22
Experiences on Implementing PARMACS Macros to Run the SPLASH-2 Suite on Multiprocessors
- In Proceedings of the 6th Euromicro Workshop on Parallel and Distributed Processing
, 1998
"... In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave. The SPLASH-2 applications provide us with a realistic workload for such systems. So, we have made different implementations of the PARMACS macros used by SPLASH-2 applications, based on sever ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave. The SPLASH-2 applications provide us with a realistic workload for such systems. So, we have made different implementations of the PARMACS macros used by SPLASH-2 applications, based on several execution and synchronization models, from classical Unix processes to multithreaded systems. Results have been tested in two different multiprocessor systems (Digital and Silicon Graphics). As parallel constructs in the SPLASH-2 applications are limited to those provided by PARMACS, we can easily study the overhead introduced by synchronization and parallelism management. 1. Introduction In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave when running on such systems. Evaluation cannot rely on very simple and unrealistic test codes. It is desirable to test the real, complete programs which will eventually run on such kind of system...
Transaction Routing for Distributed OLTP Systems: Survey and Recent Results
, 1996
"... Workloads in distributed database applications consist of queries and transactions. In order to address performance requirements, distributed transaction processing systems have to deal with two related issues: transaction routing and scheduling. Due to the distribution of data objects among nodes a ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Workloads in distributed database applications consist of queries and transactions. In order to address performance requirements, distributed transaction processing systems have to deal with two related issues: transaction routing and scheduling. Due to the distribution of data objects among nodes and the access cost incurred by remote accesses, efficient transaction routing is an important consideration for overall system performance. Another important consideration is workflow scheduling and routing. Workflows are complex units of work consisting of multiple, possibly interdependent, transactions. In this survey, we discuss a number of different transaction routing mechanisms and their performance. 1. Introduction In database applications, typical workloads that need processing are database queries and transactions that may be issued in different sites of the distributed system. Database queries may be lengthy and resource consuming and result in read-only accesses to the database. ...
Evaluation of NUMA Memory Management Through Modeling and Measurements
- IEEE Transactions on Parallel and Distributed Systems
, 1991
"... The class of NUMA (nonuniform memory access time) shared memory architectures is becoming increasingly important with the desire for larger scale multiprocessors. In such machines, the placement and movement of code and data are crucial to performance. The operating system can play a role in managin ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
The class of NUMA (nonuniform memory access time) shared memory architectures is becoming increasingly important with the desire for larger scale multiprocessors. In such machines, the placement and movement of code and data are crucial to performance. The operating system can play a role in managing placement through the policies and mechanisms of the virtual memory subsystem. In this paper, we explore dynamic page placement policies using two approaches that complement each other in important ways. On one hand, we measure the performance of parallel programs running on the experimental DUnX operating system kernel for the BBN GP1000 which supports a highly parameterized dynamic page placement policy. We also develop and apply an analytic model of memory system performance of a Local/Remote NUMA architecture based on approximate mean-value analysis techniques. The model assumes that a simple workload model based on a few parameters can often provide insight into the general behavior o...
An Analysis of Dynamic Page Placement on a NUMA Multiprocessor
- In Sigmetrics Conference on Measurement and Modeling of Computer Systems
, 1992
"... The class of NUMA (nonuniform memory access time) shared memory architectures is becoming increasingly important with the desire for larger scale multiprocessors. In such machines, the placement and movement of code and data are crucial to performance. The operating system can play a role in mana ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
The class of NUMA (nonuniform memory access time) shared memory architectures is becoming increasingly important with the desire for larger scale multiprocessors. In such machines, the placement and movement of code and data are crucial to performance. The operating system can play a role in managing placement through the policies and mechanisms of the virtual memory subsystem. In this paper, we develop an analytical model of memory system performance of a Local/Remote NUMA architecture based on approximate mean-value analysis techniques. The model assumes that a simple workload model based on a few parameters can often provide insight into the general behavior of real applications. The model is validated against experimental data obtained with the DUnX operating system kernel for the BBN GP1000 while running a synthetic workload. The results of this validation show that in general, model predictions are quite good, though in some cases the model fails to include the effect o...
Thread Optimizations in Concurrent Object Oriented Languages
, 1998
"... Thread Optimizations in Concurrent Object Oriented Languages by Jing Wang With the current growth of the networks, distributed systems are becoming more and more popular. It is desirable to integrate heterogeneous machines into a coherent distributed system and to share resources among them. Scalabl ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Thread Optimizations in Concurrent Object Oriented Languages by Jing Wang With the current growth of the networks, distributed systems are becoming more and more popular. It is desirable to integrate heterogeneous machines into a coherent distributed system and to share resources among them. Scalable network computing also requires reliability, portability, and suitable programming abstractions. The Kan system was developed to meet these requirements. It supports fine-grained concurrency for the programmers, but hides the object distribution and concurrency control. This thesis introduces the concepts and implementations of asynchronous methods, nested atomic actions, guards, and some related concurrency issues. Concurrency involves extra time and space overheads of creating and scheduling threads. We want to achieve efficient multi-threaded without sacrificing good sequential performance. Some cost-effective implementations, thread inlining and an adaptive thread pool, are applied in ...
Experiences on the Implementation of PARMACS Macros Using Different Multiprocessor Operating System Interfaces
, 1997
"... In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave. The SPLASH-2 applications provide us with a realistic workload for such systems. So, we have made different implementations of the PARMACS macros used by SPLASH-2 applications, based on sever ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave. The SPLASH-2 applications provide us with a realistic workload for such systems. So, we have made different implementations of the PARMACS macros used by SPLASH-2 applications, based on several execution and synchronization models, from classical Unix processes to multithreaded systems. Results have been tested in two different multiprocessor systems (Digital and Silicon Graphics). As parallel constructs in the SPLASH-2 applications are limited to those provided by PARMACS, we can easily study the overhead introduced by synchronization and parallelism management. KEYWORDS: Microkernel, multithreaded, multiprocessor, ANL macros, PARMACS, SPLASH-2, parallel applications, Mach, CThreads, Irix, Sprocs. 1. Introduction In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave when running on such systems. Evaluation cannot rely on v...
Speculative Execution in Real-Time Systems
, 1995
"... ion and Its Implementation : : : : : : : : : : : : : : : : : : : : 96 5.2.1 Abstraction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96 5.2.2 Implementation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 97 5.2.2.1 Reads : : : : : : : : : : : : : : : : : : : : : : : : ..."
Abstract
- Add to MetaCart
ion and Its Implementation : : : : : : : : : : : : : : : : : : : : 96 5.2.1 Abstraction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96 5.2.2 Implementation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 97 5.2.2.1 Reads : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98 5.2.2.2 Writes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98 5.2.2.3 Postprocessing of Events : : : : : : : : : : : : : : : : : : : 99 5.2.2.4 Rollbacks : : : : : : : : : : : : : : : : : : : : : : : : : : : : 100 5.2.3 Other comments on the protocol : : : : : : : : : : : : : : : : : : : : 100 5.3 Correctness of protocol : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101 5.3.1 The pseudo-code : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101 vii 5.3.2 Correctness : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 104 5.3.2.1 The protocol is deadlock free : : : : : : : : : : : : : : : : 104 5.3.2.2 A committed event gets ...
Microkernel Operating Systems In Parallel Architectures
, 1994
"... MICROKERNEL OPERATING SYSTEMS IN PARALLEL ARCHITECTURES by JOACHIM BLUM In the past few years operating systems' complexity has increased substantially because of the growing number of required services which it has to provide. Many users desire an operating system which supports several different ..."
Abstract
- Add to MetaCart
MICROKERNEL OPERATING SYSTEMS IN PARALLEL ARCHITECTURES by JOACHIM BLUM In the past few years operating systems' complexity has increased substantially because of the growing number of required services which it has to provide. Many users desire an operating system which supports several different interfaces. Companies desire to use workstations for real--time applications, and everyone needs a programming and working environment which is easy to use even in a distributed memory configuration. These demands can not be met by the `old' monolithic operating system architecture. Therefore several groups of researchers developed more structured way of designing an operating system. They structured the services into modules and removed non--critical code out of the kernel into servers. As a result they achieved a minimized kernel along with a separate collection of cohesive operating system services. In addition, it has been demonstrated in this thesis that requirements of a contemporary ...
Locking and Reference Counting in the Mach Kernel
- In Proc. 1991 ICPP, volume II, Software
, 1991
"... Coordination of independently executing threads of control within the operating system kernel is an important problem that must be addressed in the design of a multiprocessor operating system. The efficient coordination of operations is vital for avoiding performance bottlenecks without compromising ..."
Abstract
- Add to MetaCart
Coordination of independently executing threads of control within the operating system kernel is an important problem that must be addressed in the design of a multiprocessor operating system. The efficient coordination of operations is vital for avoiding performance bottlenecks without compromising system correctness. The Mach operating system achieves this coordinationvia carefully designed locking and reference counting techniques. This paper describes the design rationale for these techniques, and their use in the Mach operating system based on the experience of its implementors. 1 Introduction An important problem that must be faced in the design of a multiprocessor operating system is the coordination of independently executing threads of control within the operating system kernel. Efficient and effective coordination facilities are necessary to preserve the integrity of kernel data structures without introducing performance bottlenecks. The required coordination can be subdivi...
Characterizing the Parallel Execution Behavior of some SPLASH-2 Applications on Multiprocessors
, 1999
"... : In order to evaluate the benefits of parallel systems, it is necessary to know how real parallel programs behave. The SPLASH-2 applications provide us with a realistic workload for such systems. We have instrumented the PARMACS macros used by SPLASH-2 applications in order to study their parall ..."
Abstract
- Add to MetaCart
: In order to evaluate the benefits of parallel systems, it is necessary to know how real parallel programs behave. The SPLASH-2 applications provide us with a realistic workload for such systems. We have instrumented the PARMACS macros used by SPLASH-2 applications in order to study their parallel behavior, focusing on the overhead introduced by synchronization and parallelism management. The information obtained can be used to take the proper scheduling decisions, both at user-level and system-level. We have studied techniques to increase the multiprocessor usage in order to increase the performance of parallel systems. KEYWORDS: Microkernel, multithreaded, shared-memory multiprocessor, scheduling, synchronization, parallel applications. 1 Introduction In order to evaluate the benefits of parallel systems, it is necessary to know how parallel programs behave when running on such systems. Evaluation cannot rely on very simple and unrealistic test codes. It is desirable to t...

