By Topic

Parallel and Distributed Methods in Verification, 2010 Ninth International Workshop on, and High Performance Computational Systems Biology, Second International Workshop on

Date Sept. 30 2010-Oct. 1 2010

Filter Results

Displaying Results 1 - 25 of 27
  • [Front cover]

    Page(s): C1
    Save to Project icon | Request Permissions | PDF file iconPDF (7499 KB)  
    Freely Available from IEEE
  • [Title page i]

    Page(s): i
    Save to Project icon | Request Permissions | PDF file iconPDF (38 KB)  
    Freely Available from IEEE
  • [Title page iii]

    Page(s): iii
    Save to Project icon | Request Permissions | PDF file iconPDF (71 KB)  
    Freely Available from IEEE
  • [Copyright notice]

    Page(s): iv
    Save to Project icon | Request Permissions | PDF file iconPDF (109 KB)  
    Freely Available from IEEE
  • Table of contents

    Page(s): v - vi
    Save to Project icon | Request Permissions | PDF file iconPDF (200 KB)  
    Freely Available from IEEE
  • Preface

    Page(s): vii - viii
    Save to Project icon | Request Permissions | PDF file iconPDF (109 KB)  
    Freely Available from IEEE
  • PDMC 2010 Workshop Organization

    Page(s): ix
    Save to Project icon | Request Permissions | PDF file iconPDF (130 KB)  
    Freely Available from IEEE
  • HiBi 2010 Workshop Organization

    Page(s): x
    Save to Project icon | Request Permissions | PDF file iconPDF (87 KB)  
    Freely Available from IEEE
  • Parallel SAT solving [Invited paper abstract]

    Page(s): 3
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (119 KB) |  | HTML iconHTML  

    This talk will present an overview of parallelism in SAT. It will start with a presentation of classical divide and conquer techniques, discuss their ancient origin and compare them to more recent portfolio-based algorithms. It will then present the impact of clause-sharing on their performances and discuss various strategies used to control the communication overhead. A particular technique used to tune the classical diversification/intensification tradeoff will also be presented. Finally, perspectives will be given which will relate the current parallel SAT technologies to the expected evolution of computational platforms, leading to distributed SAT solving scenarios. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • DiVinE: Parallel Distributed Model Checker

    Page(s): 4 - 7
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (830 KB) |  | HTML iconHTML  

    DiVinE is a tool for LTL model checking and reachability analysis of discrete distributed systems. The tool is able to efficiently exploit the aggregate computing power of multiple network-interconnected multi-cored workstations in order to deal with extremely large verification tasks. As such it allows to analyse systems whose size is far beyond the size of systems that can be handled with regular sequential tools. While the main focus of the tool is on high-performance explicit state model checking, an emphasis is also put on ease of deployment and usage. Additionally, the component architecture and publicly available source code of DiVinE allow for its usage as a platform for research on parallel and distributed-memory model checking techniques. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A General Lock-Free Algorithm for Parallel State Space Construction

    Page(s): 8 - 16
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (823 KB) |  | HTML iconHTML  

    Verification via model-checking is a very demanding activity in terms of computational resources. While there are still gains to be expected from algorithmic improvements, it is necessary to take advantage of the advances in computer hardware to tackle bigger models. Recent improvements in his area take the form of multiprocessor and multicore architectures with access to large memory space. We address the problem of generating the state space of finite-state transition systems, often a preliminary step for model-checking. We propose a novel algorithm for enumerative state space construction targeted at shared memory systems. Our approach relies on the use of two data structures: a shared Bloom filter to coordinate the state space exploration distributed among several processors and local dictionaries to store the states. The goal is to limit synchronization overheads and to increase the locality of memory access without having to make constant use of locks to ensure data integrity. Bloom filters have already been applied for the probabilistic verification of systems, they are compact data structures used to encode sets, but in a way that false positives are possible, while false negatives are not. We circumvent this limitation and propose an original multiphase algorithm to perform exhaustive, deterministic, state space generations. We assess the performance of our algorithm on different benchmarks and compare our results with the solution proposed by Inggs and Barringer. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • GPU-PRISM: An Extension of PRISM for General Purpose Graphics Processing Units

    Page(s): 17 - 19
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (615 KB) |  | HTML iconHTML  

    We present an extension of the model checker PRISM for (general purpose) graphics processing units (GPUs). The extension is based on parallel algorithms for probabilistic model checking which are tuned for GPUs. In particular, we parallelize the parts of the algorithms that boil down to linear algebraic operations, like solving systems of linear equations and matrix vector multiplication. These computations are performed very efficiently on GPGPUs which results inconsiderable runtime improvements compared to the standard versions of PRISM. We evaluated the extension of PRISM on several case studies in which we observed significant speedup over the standard CPU implementation of the tool. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Three High Performance Architectures in the Parallel APMC Boat

    Page(s): 20 - 27
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (846 KB) |  | HTML iconHTML  

    Approximate probabilistic model checking, and more generally sampling based model checking methods, proceed by drawing independent executions of a given model and by checking a temporal formula on these executions. In theory, these methods can be easily massively parallelized, but in practice one has to consider, for this purpose, important aspects such as the communication paradigm, the physical architecture of the machine, etc. Moreover, being able to develop multiple implementations of this algorithm on architectures as different as a cluster or many-cores requires various levels of expertise that may be problematic to gather. In this paper we propose to investigate the runtime behavior of approximate probabilistic model checking on various state of the art parallel machines - clusters, SMP, hybrid SMP clusters and the Cell processor - using a high-level parallel programming tool based on the Bulk Synchronous Parallelism paradigm to quickly instantiate model checking problems over a large variety of parallel architectures. Our conclusion assesses the relative efficiency of these architectures with respect to the algorithm classes and promotes guidelines for further work on parallel APMC implementation. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Industrial Strength Distributed Explicit State Model Checking

    Page(s): 28 - 36
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1667 KB) |  | HTML iconHTML  

    We present PREACH, an industrial strength distributed explicit state model checker based on Murphi. The goal of this project was to develop a reliable, easy to maintain, scalable model checker that was compatible with the Murphi specification language. PREACH is implemented in the concurrent functional language Erlang, chosen for its parallel programming elegance. We use the original Murphi front-end to parse the model description, a layer written in Erlang to handle the communication aspects of the algorithm, and also use Murphias a back-end for state expansion and to store the hash table. This allowed a clean and simple implementation, with the core parallel algorithms written in under 1000 lines of code. This paper describes the Preach implementation including the various features that are necessary for the large models we target. We have used PREACH to model check an industrial cache coherence protocol with approximately 30 billion states. To our knowledge, this is the largest number published for a distributed explicit state model checker. Preach has been released to the public under an open source BSD license. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A BSP Algorithm for the State Space Construction of Security Protocols

    Page(s): 37 - 44
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (772 KB) |  | HTML iconHTML  

    This paper presents a Bulk-Synchronous Parallel (BSP) algorithm to compute the discrete state space of structured models of security protocols. The BSP model of parallelism avoids concurrency related problems (mainly deadlocks and non-determinism) and allows us to design an efficient algorithm that is at the same time simple to express. A prototype implementation has been developed, allowing to run benchmarks showing the benefits of our algorithm. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Problem solving by inverse methods in systems biology [Invited paper abstract]

    Page(s): 47
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (97 KB) |  | HTML iconHTML  

    Systems biology is heading for the ambitious goal to model cells and organisms as integral entities by the methods of chemistry and physics. A hierarchy of levels of description is required ranging from chemical kinetics at the molecular level up to the interaction of cell organelles within the cell or organs within the organism. A true wealth of data is produced by the various 'omics' approaches from genome sequencing to protein interactions and signaling and eventually to functional genomics dealing with the role of molecules and supra-molecular complexes in the well-organized concerted actions of parts within higher unities. Data are available and models have been conceived, but the relation of data and model parameters is still not very well understood. The application of inverse methods might be very helpful: Two different levels of inverse methods techniques are conceivable: (i) parameter estimation for data and (ii) reverse engineering of model behavior from known parameters. Examples of both approaches will be discussed in the lecture. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Implementation of Smith-Waterman Algorithm in OpenCL for GPUs

    Page(s): 48 - 56
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1453 KB) |  | HTML iconHTML  

    In this paper we present an implementation of the Smith-Waterman algorithm. The implementation is done in OpenCL and targets high-end GPUs. This implementation is capable of computing similarity indexes between reference and query sequences. The implementation is designed for the sequence alignment paths calculation. In addition, it is capable of handling very long reference sequences (in the order of millions of nucleotides), a requirement for the target application in cancer research. Performance compares favorably against CPU, being on the order of 9 - 130 times faster, 3 times faster than the CUDA-enabled CUDASW++v2.0 for medium sequences or larger. Additionally, it is on par with Farrar's performance, but with less constraints in sequence length. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Enhancing the Scalability of Simulations by Embracing Multiple Levels of Parallelization

    Page(s): 57 - 66
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (847 KB) |  | HTML iconHTML  

    Current and upcoming architectures of desktop and high performance computers offer increasing means for parallel execution. Since the computational demands induced by ever more realistic models increase steadily, this trend is of growing importance for systems biology. Simulations of these models may involve the consideration of multiple parameter combinations, their replications, data collection, and data analysis - all of which offer different opportunities for parallelization. We present a brief theoretical analysis of these opportunities in order to show their potential impact on the overall computation time. The benefits of using more than one opportunity for parallelization are illustrated by a set of benchmark experiments, which furthermore show that parallelizability should be exploited in a flexible manner to achieve speedup. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Parallel Particle-Based Reaction Diffusion: A GPU Implementation

    Page(s): 67 - 77
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1333 KB) |  | HTML iconHTML  

    Space is a very important aspect in the simulation of biochemical models, recently, the need for simulation algorithms able to cope with space is becoming more and more compelling. Complex and large models of biochemical systems need to deal with the movement of single molecules and particles, taking into consideration localised fluctuations, transportation phenomena and diffusion. A common drawback of spatial models lies in their complexity: models could become very large, and their simulation could be time consuming, especially if we want to capture the systems behaviour in a reliable way using stochastic methods in conjunction with a high spatial resolution. In order to deliver the promise done by systems biology to be able to understand a system as whole, we need to move from sequential to parallel simulation algorithms. In this paper we analyse Smoldyn, a widely diffused algorithm for stochastic simulation of chemical reactions with spatial resolution and single molecule detail, and we propose an alternative, innovative implementation that exploits the parallelism of GPUs. The implementation offers good speedups (up to 130×) and real time, high quality graphics output at almost no performance penalties. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using the GPU and Multi-core CPU to Generate a 3D Oviduct through Feature Extraction from Histology Slides

    Page(s): 78 - 87
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (5700 KB) |  | HTML iconHTML  

    Extracting information about the structure of biological tissue from static image data is a complex task which requires a series of computationally intensive operations. Here we present how the power of multi-core CPUs and massively parallel GPUs have been utilised to extract information about the shape, size and path followed by the mammalian oviduct, called the fallopian tube in humans, from histology images, to create a realistic 3D virtual organ for use in predictive computational models. Histology images from a mouse oviduct were processed, using a combination of GPU and multi-core CPU techniques, to identify the individual cross-sections and determine the 3D path that the tube follows through the tissue. This information was then related back to the histology images, linking the 2D cross-sections with their corresponding 3D position along the oviduct. Measurements were then taken from the images and used to computationally generate a series of linear 2D spline cross-sections for the length of the oviduct, which were bound to the 3D path of the tube using a novel particle system based technique that provides smooth resolution of self intersections and crossovers from adjacent sections. This results in a unique 3D model of the oviduct, which is based on measurements of histology slides and therefore grounded in reality. The GPU is used for the processor intensive operations of image processing and particle physics based simulations, significantly reducing the time required to generate a complete model. A set of models created using this technique is being used to investigate the influence that the 3D structure of the oviductal environment has on sperm transport and navigation. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Parallel Computing Algorithms for Reverse-Engineering and Analysis of Genome-Wide Gene Regulatory Networks from Gene Expression Profiles

    Page(s): 88 - 94
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1010 KB) |  | HTML iconHTML  

    A Gene Regulatory Network links pairs of genes through an edge if they physically or functionally interact. "Reverse engineering" a gene regulatory network means to infer the edges between genes from the available experimental data. Transcriptional responses (i.e. gene expression profiles obtained through microarray experiments) are often used to reverse-engineer a network of genes. Reverse-engineering consists in analyzing transcriptional responses to a set of treatments and adding an edge between genes if their expressions show a coordinated behavior on a subset of the treatments, according to some underlying model of gene regulation. Mammalian cells contain tens of thousands of genes, and it is necessary to analyze hundreds of transcriptional responses in order to have acceptable statistical evidence of interactions between genes. There currently exist several ready-to-use software packages able to infer gene networks, but few can be used to infer large-size networks from thousands of transcriptional responses as the dimension of the problem leads to high computational costs and memory requirements. We propose to exploit parallel computing techniques to overcome this problem. In this work, we designed and developed a parallel computing algorithm to reverse engineer large-scale gene regulatory networks from tens of thousands of gene expression profiles. The algorithm is based on computing pair-wise Mutual Information between each gene-pair. We successfully tested it to infer the Mus Musculus (mouse) gene regulatory network in liver from 312 expression profiles collected from a public Internet repository. Each profile measures the expression of 45,101 genes (more specifically, transcripts). We analyzed all of the possible gene-pairs for a total amount of about 109 identifying about 6 · 107 edges. We used a hierarchical clustering algorithm to discover communities within the gene network, and found a modular structure that highlights ge- - nes involved in the same biological functions. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Parameter Scanning by Parallel Model Checking with Applications in Systems Biology

    Page(s): 95 - 104
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (760 KB) |  | HTML iconHTML  

    In this paper, a novel scalable method for scanning of kinetic parameter values in continuous (ODE) models of biological networks is provided. The presented method is property-driven, in particular, parameter values are scanned in order to satisfy a given dynamic property. The key result - the parameter scanning method - is based on an innovative adaptation of parallel LTL model checking for the framework of parameterized Kripke structures (PKS). First, we introduce the notion of PKS and we identify the parameter scanning and robustness analysis problems in this framework. Second, we present the algorithms for parallel LTL model checking on PKSs. Finally, the evaluation is provided on case studies of mammalian cell-cycle genetic regulatory network model and E. Coli ammonium transport model. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Predicting the Effects of Parameters Changes in Stochastic Models through Parallel Synthetic Experiments and Multivariate Analysis

    Page(s): 105 - 115
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1983 KB) |  | HTML iconHTML  

    Usually researchers require many experiments to verify how biological systems respond to stimuli. However, the high cost of reagents and facilities as well as the time required to carry out experiments are sometimes the main cause of failure. In this regards, Information Technology offers a valuable help: modeling and simulation are mathematical tools to execute virtual experiments on computing devices. Through synthetic experimentation, researchers can sample the parameters space of a biological system and obtain hundreds of potential results, ready to be reused to design and conduct more targeted wet-lab experiments. A non negligible achievement of this is the enormous saving of resources and time. In this paper, we present a plug-in-based software prototype that combines high performance computing and statistics. Our framework relies on parallel computing to run large numbers of synthetic experiments. Multivariate analysis is then used to interpret and validate results. The software is tested on two well-known oscillatory models: Predator-Prey (Lotka-Volterra) and Repressilator. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Fast Parallel Markov Clustering in Bioinformatics Using Massively Parallel Graphics Processing Unit Computing

    Page(s): 116 - 125
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (912 KB) |  | HTML iconHTML  

    Markov clustering is becoming a key algorithm with in bioinformatics for determining clusters in networks. For instance, clustering protein interaction networks is helping find genes implicated in diseases such as cancer. However, with fast sequencing and other technologies generating vast amounts of data on biological networks, performance and scalability issues are becoming a critical limiting factorin applications. Meanwhile, Graphics Processing (GPU)computing, which uses a massively parallel computing environment in the GPU card, is becoming a very powerful, efficient and low cost option to achieve substantial performance gains over CPU approaches. This paper introduces a very fast Markov clustering algorithm (MCL) based on massive parallel computing in GPU. We use the Compute Unified Device Architecture (CUDA) to allow the GPU to perform parallel sparse matrix-matrix computations and parallel sparse Markov matrix normalizations, which are at the heart of the clustering algorithm. The key to optimizing our CUDA Markov Clustering (CUDAMCL) was utilizing ELLACK-R sparse data format to allow the effective and fine-grain massively parallel processing to cope with the sparse nature of interaction networks datasets in bioinformatics applications. CUDA also allows us to use on-chip memory on the GPU efficiently, to lower the latency time thus circumventing a major issue in other parallel computing environments, such as Message Passing Interface (MPI). Here we describe the GPU algorithm and its application to several real world problems as well as to artificial datasets. We find that the principle factor causing variation in performance of the GPU approach is the relative sparseness of networks. Comparing GPU computation times against a modern quad-core CPU on the published(relatively sparse) standard BIOGRID protein interaction networks with 5156 and 23175 nodes, speed factors of 4 times and 9 were obtained, respectively. On the Human Protein Reference Database, the sp- - eed of clustering of 19599 proteins was improved by a factor of 7 by the GPU algorithm. However, on artificially generated densely connected networks with 1600 to 4800 nodes, speedups by a factor in the range 40 to 120 times were readily obtained. As the results show, in all cases the GPU implementation is significantly faster than the original MCL running on CPU. Such approaches are allowing large-scale parallel computation on off-the-shelf desktop machines that were previously only possible on super-computing architectures, and have the potential to significantly change the way bioinformaticians and biologists compute and interact with their data. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • HMMlib: A C++ Library for General Hidden Markov Models Exploiting Modern CPUs

    Page(s): 126 - 134
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1299 KB) |  | HTML iconHTML  

    We present a C++ library for constructing and analyzing general hidden Markov models. The library consists of a number of template classes and generic functions, parameterized with the precision of floating point types and different types of hardware acceleration. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.