Results 1 - 10
of
35
The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System
- In Proceedings of the 11th ACM Symposium on Operating Systems Principles
, 1987
"... Mach is a multiprocessor operating system being implemented at Carnegie-Mellon University. An important component of the Mach design is the use of memory objects which can be managed either by the kernel or by user programs through a message interface. This feature allows applications such as transa ..."
Abstract
-
Cited by 139 (7 self)
- Add to MetaCart
Mach is a multiprocessor operating system being implemented at Carnegie-Mellon University. An important component of the Mach design is the use of memory objects which can be managed either by the kernel or by user programs through a message interface. This feature allows applications such as transaction management systems to participate in decisions regarding secondary storage management and page replacement. This paper explores the goals, design and implementation of Mach and its external memory management facility. The relationship between memory and communication in Mach is examined as it relates to overall performance, applicability of Mach to new multiprocessor architectures, and the structure of application programs. This research was sponsored by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4864, monitored by the Space and Naval Warfare Systems Command under contract N00039-85-C-1034. The views expressed are those of the authors alone. Permission to copy...
An Overview of Production Rules in Database Systems
- The Knowledge Engineering Review
, 1992
"... Database researchers have recognized that integrating a production rules facility into a database system provides a uniform mechanism for a number of advanced database features including integrity constraint enforcement, derived data maintenance, triggers, protection, version control, and others. In ..."
Abstract
-
Cited by 53 (8 self)
- Add to MetaCart
Database researchers have recognized that integrating a production rules facility into a database system provides a uniform mechanism for a number of advanced database features including integrity constraint enforcement, derived data maintenance, triggers, protection, version control, and others. In addition, a database system with rule processing capabilities provides a useful platform for large and efficient knowledge-base and expert systems. Database systems with production rules are referred to as active database systems, and the field of active database systems has indeed been active. This paper summarizes current work in active database systems and suggests future research directions. Topics covered include database rule languages, rule processing semantics, and implementation issues. 1 Introduction Database systems provide persistent storage for massive amounts of data and powerful interfaces for querying and modifying this data. Even so, most database systems are passive, si...
The Evolution of the Soar Cognitive Architecture
- In
, 1994
"... The origins of the Soar architecture can be traced back to the seminal research of Allen Newell and Herbert Simon on symbol systems, heuristic search, goals, problem spaces, and production systems. Since its official inception in 1982, Soar has evolved through six major releases, as both an AI archi ..."
Abstract
-
Cited by 36 (3 self)
- Add to MetaCart
The origins of the Soar architecture can be traced back to the seminal research of Allen Newell and Herbert Simon on symbol systems, heuristic search, goals, problem spaces, and production systems. Since its official inception in 1982, Soar has evolved through six major releases, as both an AI architecture and as the basis for a unified theory of cognition. This paper traces this evolutionary path, starting with Soar's intellectual roots, and then proceeding through the stages defined by the six major system releases. Each stage is characterized with respect to a hierarchy of four levels of analysis: the knowledge level, the problem space level, the symbolic architecture level, and the implementation level.
Production Rules in Parallel and Distributed Database Environments
- Proceedings of the 18th VLDB Conference
, 1992
"... . In most database systems with production rule facilities, rules respond to operations on centralized data and rule processing is performed in a centralized, sequential fashion. In parallel and distributed database environments, for maximum autonomy it is desirable for rule processing to occur sepa ..."
Abstract
-
Cited by 20 (4 self)
- Add to MetaCart
. In most database systems with production rule facilities, rules respond to operations on centralized data and rule processing is performed in a centralized, sequential fashion. In parallel and distributed database environments, for maximum autonomy it is desirable for rule processing to occur separately at each site (or node), responding to operations on data at that site. However, since rules at one site may read or modify data and interact with rules at other sites, independent rule processing at each site may be impossible or incorrect. We describe mechanisms that allow rule processing to occur separately at each site and guarantee correctness: parallel or distributed rule processing is provably equivalent to rule processing in the corresponding centralized environment. Our mechanisms include locking schemes, communication protocols, and rule restrictions. Based on a given parallel or distributed environment and desired level of transparency, the mechanisms may be combined or may ...
Comparison of the Rete and Treat Production Matchers for Soar (A Summary)
- In Proceedings of National Conference on Artificial Intelligence
, 1988
"... RETE and TREAT are two well known algorithms used for performing match in production systems (rule-based systems). In this paper, we compare the performance of these two algorithms in the context of Soar programs. Using the number of tokens processed by each algorithm as the performance metric, we s ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
RETE and TREAT are two well known algorithms used for performing match in production systems (rule-based systems). In this paper, we compare the performance of these two algorithms in the context of Soar programs. Using the number of tokens processed by each algorithm as the performance metric, we show that the RETE algorithm performs better than the TREAT algorithm in most cases. Our results are different than the ones shown by Miranker for OPS5. The main reasons for this difference are related to the following: (i) fraction of times no joins need to be done; (ii) the long chain effect; (iii) matching of static structures; and (iv) handling of combinatorial joins. These reasons go beyond Soar in their applicability, and are relevant to other OPS5-based production systems that share some of Soar's properties. We also discuss several implementation issues for the two algorithms. 1 Introduction Soar is a cognitive architecture that provides the foundations for building systems that exh...
PARULEL: Parallel Rule Processing Using Meta-rules for Redaction
, 1991
"... Although the problem of increasing the speed of rule-based programs has been studied for a long while, so far the level of parallelism achieved under various parallel processing schemes fails to meet expectations of high performance gains. Most of the work has focused on manipulating existing rule p ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
Although the problem of increasing the speed of rule-based programs has been studied for a long while, so far the level of parallelism achieved under various parallel processing schemes fails to meet expectations of high performance gains. Most of the work has focused on manipulating existing rule programs to accommodate parallel architectures. However, without changing the inherently sequential algorithms encoded in rule form and without using intrinsic parallel rule languages to exploit parallelism, speedup is severely limited. In this paper we demonstrate that to maximize parallelism, manipulations must take place at the algorithmic level in addition to the program level. However, traditional rule languages are not equipped to easily express parallel algorithms. Thus, an inherently parallel rule language must be devised to enable maximum parallelism. We present our initial specification of such a language, named PARULEL. Preliminary performance results are detailed for one test case...
Issues in the Design and Control of Parallel Rule-Firing Production Systems
, 1993
"... The parallel execution of rules in a production system provides the potential for faster execution, but increases the complexity of control and design issues. We address two issues: controlling the execution of productions without introducing serial bottlenecks and maintaining correctness during ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
The parallel execution of rules in a production system provides the potential for faster execution, but increases the complexity of control and design issues. We address two issues: controlling the execution of productions without introducing serial bottlenecks and maintaining correctness during the course of simultaneous rule executions. Two novel rule-firing policies are described: an asynchronous rule-firing policy that causes rules to be executed as soon as they become enabled, and a task-based scheduler that allows multiple independent tasks to run asynchronously with respect to each other while allowing rules to execute either synchronously or asynchronously within the context of each task. Previous research in parallel rule-firing systems has indicated that a serializable result cannot be guaranteed without a run-time mechanism for detecting potentially harmful rule interactions. Our analysis of such mechanisms indicates that their overhead is prohibitive for asynchro...
Combining Left and Right Unlinking for Matching a Large Number of Learned Rules
- In Proceedings of the Twelfth National Conference on Artificial Intelligence (AAAI-94
, 1994
"... In systems which learn a large number of rules (productions), it is important to match the rules efficiently, in order to avoid the machine learning utility problem --- if the learned rules slow down the matcher, the "learning" can slow the whole system down to a crawl. So we need match algorithms t ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
In systems which learn a large number of rules (productions), it is important to match the rules efficiently, in order to avoid the machine learning utility problem --- if the learned rules slow down the matcher, the "learning" can slow the whole system down to a crawl. So we need match algorithms that scale well with the number of productions in the system. (Doorenbos, 1993) introduced right unlinking as a way to improve the scalability of the Rete match algorithm. In this paper we build on this idea, introducing a symmetric optimization, left unlinking, and demonstrating that it makes Rete scale well on an even larger class of systems. Unfortunately, when left and right unlinking are combined in the same system, they can interfere with each other. We give a particular way to combine them which we prove minimizes this interference, and analyze the worst-case remaining interference. Finally, we present empirical results showing that the interference is very small in practice, and that...
A Source-to-Source Transformation for Increasing Rule-Based System Parallelism
- IEEE Trans. on Knowledge and Data Engineering
, 1992
"... Rule-based systems have been hypothesized to contain only minimal parallelism. However, techniques to extract more parallelism from existing systems are being investigated. Among these methods, it is desirable to find those which balance the work being performed in parallel evenly among the rules, w ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Rule-based systems have been hypothesized to contain only minimal parallelism. However, techniques to extract more parallelism from existing systems are being investigated. Among these methods, it is desirable to find those which balance the work being performed in parallel evenly among the rules, while decreasing the amount of work being performed sequentially in each cycle. The automatic transformation of creating constrained copies of culprit rules accomplishes both of the above goals.
The ALEXSYS Mortgage Pool Allocation Expert System: A Case Study of Speeding Up Rule-based Programs
- In AI and Business Workshop, AAAI-90
, 1990
"... this report in detail. ..."

