Modern architectures become more susceptible to transient errors with the scale down of circuits. This makes reliability an increasingly critical concern in computer systems. In general, there is a tradeoff between system reliability and performance of multithreaded applications running on multicore architectures. In this paper, we conduct a performance-reliability analysis for different parallel versions of three data-intensive applications including FFT, Jacobi Kernel, and Water Simulation. We measure the performance of these programs by counting execution clock cycles, while the system reliability is measured by Thread Vulnerability Factor (TVF) which is a recently-proposed metric. TVF measures the vulnerability of a thread to hardware faults at a high level. We carry out experiments by executing parallel implementations on multicore architectures and collect data about the performance and vulnerability. Our experimental evaluation indicates that the choice is clear for FFT application and Jacobi Kernel. Transpose algorithm for FFT application results in less than 5% performance loss while the vulnerability increases by 20% compared to binary-exchange algorithm. Unrolled Jacobi code reduces execution time up to 50% with no significant change on vulnerability values. However, the tradeoff is more interesting for Water Simulation where nsquared version reduces the vulnerability values significantly by worsening the performance with similar rates compared to faster but more vulnerable spatial version.
A wireless multimedia sensor network (WMSN) is a network of wirelessly interconnected sensors that can gather multimedia information, such as sound and vision. One of the most important design issues of a WMSN is to maximize the coverage, while preserving the network connectivity. Although there are many studies about coverage for WMSNs, most of them are based on two-dimensional terrain assumptions. However, particularly for outdoor applications, three-dimensional (3-D) terrain structure affects the performance of the WMSN remarkably. In this paper, a novel 3-D WMSN simulation environment for connected coverage issues is presented. There are four main modules of our simulation environment. The terrain generator ( TerGen) generates a synthetic 3-D landscape with different weather conditions (snow, rain, and fog), object occlusions (artificial or natural objects), and toughness levels of terrain (smooth or rough). The scenario editor ( SenEd) is used to define various sensor types that have various behavioral and locational attributes. The outputs of TerGen and SenEd are the inputs of the simulator engine ( SimEn), which simulates the WMSN and gives the performance results. The Optimization Module ( OptMod), which is optional, can be used to determine the location of the sensors optimally, while satisfying a set of predefined constraints. Different scenarios are simulated to show the capabilities of the simulation environment. The performance results show that the 3-D terrain structure affects the coverage performance of the WMSN directly. The object occlusions and weather conditions are also very important for WMSN coverage.
Locality analysis of an application helps us extract data access patterns and predict runtime cache behavior. In this paper, we propose a locality-aware dynamic mapping algorithm for multithreaded applications, which assigns computations with similar data access patterns to same cores. We collect the amounts of shared and distinct data used by all computations, called chunks and calculate sharing among those chunks. Then, chunks with the similar data access patterns are grouped into bins, which are subsequently assigned to threads for improving cache reuse and program performance. Our algorithm is illustrated with sparse matrix-vector multiply (SpMV), which is one of the most widely used kernel in engineering and scientific computing and suffers from irregular and indirect memory access patterns. Five inputs with different shapes and characteristics are considered for testing the performance of our algorithm. Based on the results of experimental study, our algorithm outperforms Linux scheduler with an average of 12.5% performance improvement for various scenarios considered.
This paper introduces evaluations and communication framework for molecular orbital calculations. The total execution time of molecular orbital calculations is almost construction time of Fock matrix. In order to reduce the total execution time on the ...
Genetic Algorithms have widely been used for solving optimization problems in stationary environments. In recent years, there has been a growing interest for investigating and improving the performance of these algorithms in dynamic environments where the fitness landscape changes. In this study, we present an extensive comparison of several algorithms with different characteristics on a common platform by using the moving peaks benchmark and by varying problem parameters.
Hub location problems are widely studied in the area of location theory, where they involve locating the hub facilities and designing the hub networks. In this paper, we present a new and robust solution based on a genetic search framework for the uncapacitated single allocation hub location problem (USAHLP). To present its effectiveness, we compare the solutions of our GA-based method with the best solutions presented in the literature by considering various problem sizes of the CAB data set and the AP data set. The experimental work demonstrates that even for larger problems the results of our method significantly surpass those of the related work with respect to both solution quality and the CPU time to obtain a solution. Specifically, the results from our method match the optimal solutions found in the literature for all test cases generated from the CAB data set with significantly less running time than the related work. For the AP data set, our solutions match the best solutions of the reference study with an average of 8 times less running time than the reference study. Its performance, robustness and substantially low computational effort justify the potential of our method for solving larger problem sizes.
This study presents parallel implementation of a vector quantization (VQ) based text-independent speaker identification system that uses Melfrequency cepstrum coefficients (MFCC) for feature extraction, Linde-Buzo-Gray (LBG) VQ algorithm for pattern matching and Euclidean distance for match score calculation. Comparing meaningful characteristics of voice samples and matching them with similar ones requires large amount of transformations and comparisons, which result in large memory usage and disk access. When the cost of computations is considered, it states the main motivation for a parallel speaker identification implementation, where the parallelism is achieved using domain decomposition. In this paper, we present a set of experiments using the YOHO speaker corpus and observe the effects of several parameters as VQ size, number of MFCC filter banks and threshold value. First we focus on the serial algorithm and improve the algorithm to give the best success rates and provide a strong base for parallel implementation, where a clear performance improvement on speedup is obtained.
The task scheduling problem for parallel and distributed systems was extensively studied in the literature. The outcome is a large set of heuristics, each of which generate an output schedule of the given application graph by preserving the task dependency constraints with the objective of minimizing the schedule length. We extend the general task scheduling model with multiple objectives of minimizing the schedule length (for task utilization) and minimizing the number of processors used (for resource utilization). These two objectives are both conflicting and complementary, which are combined into a single objective of cost minimization in our study. In this paper, the task scheduling problem for heterogeneous systems with the unified objective is formulated by a genetic search framework.
Middleware systems have received significant attention for supporting distributed heterogeneous information systems. A few research groups study both the deployment of application specific functionality into middleware systems and query optimization based on reduction of data movement. Such extensions relieve system administrators and developers from tedious tasks on manual installation, consistency and maintenance of user specific codes. In this paper, we present the design and implementation details of a middleware system, which aims to enhance query optimization based on data movement by involving the data flow from the system to the client side. It is also aimed to provide an efficient code-shipping model for automatic code deployment by using a simple data type model. In order to support portability and efficient dynamic loading capability, the project was implemented using Java and XML.
Efficient application scheduling is critical for achieving high performance in heterogeneous computing environments. The application scheduling problem has been shown to be NP-complete in general cases as well as in several restricted cases. Because of its key importance, this problem has been extensively studied and various algorithms have been proposed in the literature which are mainly for systems with homogeneous processors. Although there are a few algorithms in the literature for heterogeneous processors, they usually require significantly high scheduling costs and they may not deliver good quality schedules with lower costs. In this paper, we present two novel scheduling algorithms for a bounded number of heterogeneous processors with an objective to simultaneously meet high performance and fast scheduling time, which are called the Heterogeneous Earliest-Finish-Time (HEFT) algorithm and the Critical-Path-on-a-Processor (CPOP) algorithm. The HEFT algorithm selects the task with the highest upward rank value at each step and assigns the selected task to the processor, which minimizes its earliest finish time with an insertion-based approach. On the other hand, the CPOP algorithm uses the summation of upward and downward rank values for prioritizing tasks. Another difference is in the processor selection phase, which schedules the critical tasks onto the processor that minimizes the total execution time of the critical tasks. In order to provide a robust and unbiased comparison with the related work, a parametric graph generator was designed to generate weighted directed acyclic graphs with various characteristics. The comparison study, based on both randomly generated graphs and the graphs of some real applications, shows that our scheduling algorithms significantly surpass previous approaches in terms of both quality and cost of schedules, which are mainly presented with schedule length ratio, speedup, frequency of best results, and average scheduling time metrics.
The current advances in high-speed networks and WWW technologies have made networkcomputing a cost-effective high performance computing environment. New software developmentmodels and problem solving environments must be developed to utilize the networkcomputing environment efficiently. In this paper we present Virtual Distributed ComputingEnvironment (VDCE), which provides a problem solving environment for high-performancedistributed computing over wide-area networks. VDCE enables...
Current advances in high-speed networks and WWW technologies have made network computing a cost-effective, high-performance computing alternative. New software tools are being developed to utilize efficiently the network computing environment. Our project, called Virtual Distributed Computing Environment (VDCE), is a high-performance computing environment that allows users to write and evaluate networked applications for different hardware and software configurations using a web interface. In this paper we present the software architecture of VDCE by emphasizing application development and specification, scheduling, and execution/runtime aspects.
The requirements of grand challenge problems and the deployment of gigabit networks makes the network computing framework an attractive and cost effective computing environment with which to interconnect geographically distributed processing and storage resources. Our project, Virtual Distributed Computing Environment (VDCE), provides a problem-solving environment for high-performance distributed computing over wide area networks. VDCE delivers well-defined library functions that relieve end-users of tedious task implementations and also support reusability. In this paper we present the conceptual design of VDCE software architecture, which is defined in three modules: (a) the Application Editor, a user-friendly application development environment that generates the Application Flow Graph (AFG) of an application; (b) the Application Scheduler, which provides an efficient task-to-resource mapping of AFG; and (c) the VDCE Runtime System, which is responsible for running and managing application execution and monitoring the VDCE resources.
Min-You Wu合作论文数Department of Computer Science and Engineering, Shanghai Jiao Tong University2