6730244
Nemos: a framework for axiomatic and executable specifications of memory consistency models
Summary form only given. Conforming to the underlying memory consistency rules is a fundamental requirement for implementing shared memory systems and developing multiprocessor programs. In order to promote understanding and enable automated verification, it is highly desirable that a memory model specification be both declarative and executable. We present a specification framework called Nemos (Nonoperational yet Executable Memory Ordering Specifications), which supports precise specification and automatic execution in the same framework. We employ a uniform notation based on predicate logic to define shared memory semantics in an axiomatic as well as compositional style. We also apply constraint logic programming and SAT solving to make the axiomatic specifications executable for memory model analysis. To illustrate our approach, we formalize a collection of classical memory models, including sequential consistency, coherence, PRAM, causal consistency, and processor consistency.
61052099
Memory-Model-Sensitive Data Race Analysis
We present a “memory-model-sensitive” approach to validating correctness properties for multithreaded programs. Our key insight is that by specifying both the inter-thread memory consistency model and the intra-thread program semantics as constraints, a program verification task can be reduced to an equivalent constraint solving problem, thus allowing an exhaustive examination of all thread interleavings precisely allowed by a given memory model. To demonstrate, this paper formalizes race conditions according to the new Java memory model, for a simplified but non-trivial source language. We then describe the implementation of a memory-model-sensitive race detector using constraint logic programming (CLP). In comparison with conventional program analysis, our approach does not offer the same kind of performance and scalability due to the complexity involved in exact formal reasoning. However, we show that a formal semantics can serve more than documentation purposes — it can be applied as a sound basis for rigorous property checking, upon which more scalable methods can be derived.
1536411
Specifying Java thread semantics using a uniform memory model
Standardized language level support for threads is one of the most important features of Java. However, defining the Java Memory Model (JMM) has turned out to be a major challenge. Several models produced to date are not as easily comprehensible and comparable as first thought. Given the growing interest in multithreaded Java programming, it is essential to have a sound framework that would allow formal specification and reasoning about the JMM.This paper presents the Uniform Memory Model (UMM), a generic memory model specification framework. Based on guarded commands, UMM can be easily integrated with a model checking utility, providing strong built-in support for formal verification and program analysis. With a flexible and simple architecture, UMM is configurable to capture different memory consistency requirements for both architectural and language level memory models. An alternative formal specification of the JMM, primarily based on the semantics proposed by Manson and Pugh, is implemented in UMM. Systematic analysis has revealed interesting properties of the proposed semantics. Inconsistencies from the original specification have also been uncovered.
1466008
Analyzing the Intel Itanium Memory Ordering Rules Using Logic Programming and SAT
We present a non-operational approach to specifying and analyzing shared memory consistency models. The method uses higher order logic to capture a complete set of ordering constraints on execution traces, in an axiomatic style. A direct encoding of the semantics with a constraint logic programming language provides an interactive and incremental framework for exercising and verifying finite test programs. The framework has also been adapted to generate equivalent boolean satisfiability (SAT) problems. These techniques make a memory model specification executable, a powerful feature lacked in most non-operational methods. As an example, we provide a concise formalization of the Intel Itanium memory model and show how constraint solving and SAT solving can be effectively applied for computer aided analysis. Encouraging initial results demonstrate the scalability for complex industrial designs.
15796925
Combining Multiple Learning Strategies for Effective Cross Validation
Parameter tuning through cross-validation becomes very diicult when the validation set contains no or only a few examples of the classes in the evaluation set. We address this open challenge by using a combination of classiiers with diierent performance characteristics to eeectively reduce the performance variance on average of the overall system across all classes, including those not seen before. This approach allows us to tune the combination system on available but less-representative validation data and obtain smaller performance degradation of this system on the evaluation data than using a single-method classiier alone. We tested this approach by applying k-Nearest Neighbor, Rocchio and Language Modeling classiiers and their combination to the event tracking problem in the Topic Detection and Tracking (TDT) domain, where new classes (events) are created constantly over time, and representative validation sets for new classes are often diicult to obtain on time. When parameters tuned on an early benchmark TDT corpus were evaluated on a later TDT benchmark corpus with no overlapping events, we observed a 38-65% reduction in tracking cost (a weighted combination of errors) by the combined system over the individual methods evaluated under the same conditions, strongly suggesting the robustness of this approach as a solution for improving cross-class performance consistency of statistical classi-ers when standard cross-validation fails due to the lack of representative validation sets.
32691594
On selfish routing in internet-like environments
A recent trend in routing research is to avoid inefficiencies in network-level routing by allowing hosts to either choose routes themselves (e.g., source routing) or use overlay routing networks (e.g., Detour or RON). Such approaches result in selfish routing, because routing decisions are no longer based on system-wide criteria but are instead designed to optimize host-based or overlay-based metrics. A series of theoretical results showing that selfish routing can result in suboptimal system behavior have cast doubts on this approach. In this paper, we use a game-theoretic approach to investigate the performance of selfish routing in Internet-like environments based on realistic topologies and traffic demands in our simulations. We show that in contrast to theoretical worst cases, selfish routing achieves close to optimal average latency in such environments. However, such performance benefits come at the expense of significantly increased congestion on certain links. Moreover, the adaptive nature of selfish overlays can significantly reduce the effectiveness of traffic engineering by making network traffic less predictable.
4914546
Multiple temporal consistency states for dynamical verification of upper bound constraints in grid workflow systems
Conventional upper bound constraint verification in grid workflow systems is based on the key assumption that an upper bound constraint only has two states: consistency and inconsistency. However, due to complexity of grid workflows and dynamic availability of participating grid services, this assumption is too restrictive as there may be some intermediate states. Therefore, in this paper, we introduce four states for an upper bound constraint. Namely, we treat conventional consistency as strong consistency and divide conventional inconsistency into weak consistency, weak inconsistency and strong inconsistency. Correspondingly, we develop their verification methods. For weak consistency, we present some algorithms on how to adjust it to strong consistency without triggering exception handling as in conventional work. For weak inconsistency, we analyse why it can rely on less costly exception handling than conventional work. The final evaluation demonstrates that our four-state approach can achieve better cost-effectiveness than the conventional two-state approach
205225
Ontological Approach Towards E-business Process Automation
This paper discusses the interoperability of e-business processes by using an ontology approach with description logic and agent systems to achieve e-business automation. An innovative e-business process modeling framework is proposed that outlines the building blocks required for Internet-based e-business in order to enable e-business process automation. The framework helps in understanding the role of many proposed standards with respect to the building blocks and in identifying both overlaps and gaps among them. The domain knowledge of e-business processes is conceptualised as an e-business process ontology that enables agents' communication in e-business application sharing and reusing. Several agent-based automation mechanisms are discussed based on the ontology that provides implementation guidelines to e-business process automation
17059698
Towards composing information providing services
Composing Web services is an active field of research and development. Recently, many efforts are devoted to process integration on world changing services, e.g. business process composition. We present a solution to compose information providing services to achieve more powerful capabilities and free the user from trivial work. Our work serves as an important complement to the existing research on process integration.