15192522
A layered design methodology of cluster system stack
The application range of cluster has expanded beyond scientific computing, but the present cluster system software fails to provide a flexible architecture to promote code reuse and facilitate building cluster system software for different computing contexts, most of which are developed from scratch case by case, or integrated or packaged with ldquothe best practicerdquo. In this paper, we have proposed a layered design methodology to build cluster system stack with different layers concentrating on different functions, and developed common sets of core service as reusing framework for different computing context. Following this methodology, we have built Phoenix-a complete cluster system stack for both scientific and business computing, which is verified and deployed on Dawning 4000 A super computer for scientific computing and other cluster systems for business computing. The qualitative evaluation and our practices show the design methodology of Phoenix has advantages over other methodologies.
11038275
Exploiting idle register classes for fast spill destination
On today's microprocessors, there often exist several different types of registers, e.g. general purpose registers and floating point registers. A given program may use one type of registers much more frequently than other types. This creates an opportunity to employ the infrequently used registers as spill destinations for the more frequently used register types. In this paper, we present a code optimization method named idle register exploitation (IRE) to exploit such opportunities. We developed a model, called the IRE model, or IREM, to determine the static performance gains of IRE versus spilling to the stack. On a microprocessor with fast data paths between different types of registers, we find that IRE method speeds up the execution of the SPECint benchmark suite from 1.7% to 10%. In contrast, on microprocessors with less efficient data transfer paths, the performance gain is limited. In some cases, performance may even suffer degradation. This result argues strongly for the adoption of fast data paths between different types of registers for the purpose of reducing register spills, which is important in view of the increased significance of memory bottlenecks on future microprocessors.
10848491
Detecting and Eliminating Potential Violations of Sequential Consistency for Concurrent C/C++ Programs
When a concurrent shared-memory program written with a sequential consistency (SC) model is run on a machine implemented with a relaxed consistency (RC) model, it could cause SC violations that are very hard to debug. To avoid such violations, programmers need to provide explicit synchronizations or insert fence instructions. In this paper, we propose a scheme to detect and eliminate potential SC violations by combining Shasha/Snir's conflict graph and delay set theory with existing data race detection techniques. For each execution, we generate a race graph, which contains the improperly synchronized conflict accesses, called race accesses, and race cycles formed with those accesses. As a race cycle would probably lead to a non-sequential-consistent execution, we call it a potential violation of sequential consistency (PVSC) bug. We then compute the race delays of race cycles, and suggest programmers to insert fences into source code to eliminate PVSC bugs. We further convert a race graph into a PC race graph, and improves cycle detection and race delay computation to O(n^2), where n is the number of race access instructions. We evaluate our approach with the SPLASH-2 benchmarks, two large real-world applications (MySQL and Apache), and several multi-threaded Cilk programs. The results show that (1) the proposed approach could effec-tively detect PVSC bugs in real-world applications with good scalability; (2) it retains most of the performance of the concurrent program after inserting required fence instructions, with less than 6.3% performance loss; and (3) the additional cost of our approach over traditional race detection techniques is quite low, with 3.3% on average.
12523556
Design Patterns of Scalable Cluster System Software
The design pattern of cluster system software has an important influence on scalability of massive cluster system. The paper presents design patterns of scalable cluster system software, including scalable software topologies and optimized communication modes. These design patterns have been widely applied in Dawning series of supercomputers and some results of performance evaluation show their good scalability
2643198
Easy and reliable cluster management: the self-management experience of Fire Phoenix
High-Performance clusters are rapidly becoming an important computing platform for both scientific and business applications. To fulfil the new demands and challenges, cluster system software is inevitably complex. Even for experienced administrators, the management of a cluster system is an exhausting job. This paper introduces Fire Phoenix, a scalable and self-managing cluster system software that supports both scientific and commercial applications. With the self-configuring and self-healing features, much of the machine configuration and error recovery can be done automatically. Our design has been proven effective in the operations of the Dawning 4000A supercomputer, which is the biggest cluster system in China
14795008
The design methodology of Phoenix cluster system software stack
Though many research groups have explored the design methodology of cluster system software stack, few works discuss what constitutes a good one. In this paper, we choose four criteria throughout the lifecycle of cluster system software stack to evaluate its design methodology, including code reusability, evolveability, adaptability and manageability. According to the four criteria, we have proposed a management service-based layered design methodology and built a complete cluster system software stack for both scientific and business computing. Our practices and evaluations show our design methodology has advantages over others in terms of the proposed criteria.
2862393
Online Constrained Pattern Detection over Streams
Online pattern detection poses a challenge in many data-intensive applications, including network traffic management, trend analysis, intrusion detection, and various intelligent sensor networks. These applications have to be time and space efficient while providing high quality answers. Meanwhile, far less attention has been paid for detecting constrained patterns, that cannot be simply matched because there is no available pattern for prediction. This paper presents our research effort in efficient pattern detection with constraint. We propose a new method named Online Pattern Detection with Constraint (OPDC) to detect constrained patterns over evolving data stream, taking into account various user-defined constraints. To ensure that the constrained patterns are representative, we extend regular expression in a simple but powerful way. Our experimental results on real data sets demonstrate the feasibility and effectiveness of the proposed scheme.
33314662
Design of error-tolerant cache memory for multithreaded computing
With the trend towards nanometer billion-transistor integration, reliable computing becomes increasingly challenged by semiconductor process variations and low-level physical effects. This is particularly a problem for on-chip memory circuits. In this paper, we propose an error-tolerant memory design technique based on a unique phenomenon referred to as the inter-thread transient redundancy in multithreaded computing. A new memory microarchitecture is developed that exploits dynamic mapping strategies for compensation of unpredictable performance variations and soft errors. Trace driven simulations on the SPEC CPU2000 benchmarks show the advantages of the proposed technique for improving error tolerance in multithreaded microprocessors.
14183415
Context-aware application programming for mobile devices
This research aims at facilitating the development of context-aware application software for mobile devices by providing a programming model, an implementation framework and a development environment. The programming model provides a multi-layered software architecture for context-aware application programming. The model supports developers to define contexts, behaviors and context-behavior binding rules through specifications and automates generation of context-aware application code based on the specifications. The implementation framework is a backbone program that implements the programming model. It facilitates the development in reducing the effort on the common tasks of context-awareness and help developers focus on the application-specific components. The development environment provides a series of tools to support the development of context-aware applications. These tools simplify the development process and provide the developed applications with robustness and testability.
34094601
DNA-Based Algorithm for 0-1 Planning Problem
Biochemical reaction theory based DNA computation is of much better performance in solving a class of intractable computational problems such as NP-complete problems, it is important to study the DNA computation. A novel algorithm based on DNA computation is proposed, which solves a special category of 0-1 planning problem by using the surface-based fluorescence labeling technique. The analysis show that our new algorithm is of significant advantages such as simple encoding, low cost and short operating time, etc.
38516500
A New Approach of Network Intrusion Detection Using HVDM-Based SOM
The research of applying Self-organizing Maps for intrusion detection is investigated in this paper. A novel approach is presented for enhancing SOM's abilities of identifying temporal network attacks, which combine with FIR filter. Meanwhile, we reconsider the heterogeneous dataset that composed of network connection's features, and select HVDM as the distance function determining the winning neuron during SOM's training and testing. In the end, KDD benchmark dataset is employed to validate the efficiency of our approach, and the results is detection rates of 96.5%, false positive rates of 6.2%, which accounts for good performance of our new approach in intrusion detection fields.