Multithreaded Program

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 252 Experts worldwide ranked by ideXlab platform

Gürcü Öz - One of the best experts on this subject based on the ideXlab platform.

  • Experimental Study of Pure Flooding Method for Localizing an Anycast Server in Wireless Ad Hoc Networks
    2013 Palestinian International Conference on Information and Communication Technology, 2013
    Co-Authors: Abdul Karim Abed, Gürcü Öz
    Abstract:

    This paper presents performance of a flooding based any cast mechanism for locating the nearest server from a group of contents-equivalent servers in real-world wireless ad hoc networks. Any casting can be considered as an advantageous communication paradigm for ad hoc networks where resource efficiency and robustness is of the first importance. A series of experiments are conducted in an outdoor land and carried out by laptop computers running Windows Vista operating system. An application layer any cast based Multithreaded Program is developed and used for investigations. In experiments, the behavior of some fundamental performance metrics: response ratio, relative network traffic, average response time and duplicate ratio, was investigated with varying number of hops between source and a group of server nodes in the network.

  • Performance evaluation of data dissemination in real-world wireless ad hoc networks
    2011 International Conference on Communications and Information Technology (ICCIT), 2011
    Co-Authors: Reza Azizi, Gürcü Öz
    Abstract:

    This paper presents data dissemination performance of real-world wireless ad hoc networks under different conditions. All real-world experiments are conducted in an outdoor land and carried out by laptop computers running Windows Vista operating system. An application-layer Multithreaded Program is used to investigate network performance. In experiments, the behavior of two fundamental performance metrics - delivery ratio, average round trip time was investigated with varying application data sizes and different combinations of network parameters.

  • Experimental investigation of data transmission in wireless ad hoc networks
    2009 Fifth International Conference on Soft Computing Computing with Words and Perceptions in System Analysis Decision and Control, 2009
    Co-Authors: Gürcü Öz, Yağiz Özen
    Abstract:

    The paper describes implementation of an application-layer Program for experimental investigation of data transmission in wireless ad hoc networks in a real-word environment. The designed Multithreaded Program is executed on the laptops running the Vista operating system. The Program performs routing and data transmission in different ad hoc network configurations. Some important performance metrics in wireless ad hoc networks are studied with this Program.

Charles E Leiserson - One of the best experts on this subject based on the ideXlab platform.

  • can Multithreaded Programming save massively parallel computing
    International Parallel Processing Symposium, 1996
    Co-Authors: Charles E Leiserson
    Abstract:

    Massively parallel computing has taken a turn for the worse. MPP (massively parallel processor) companies have generally been doing poorly in the marketplace. The additional time to design and deliver MPP systems puts them a generation behind the latest small-scale microprocessor and SMP systems. Truly large machines have mean times to failure measured in days, limiting their ability to provide reliable computing platforms for longrunning computations. Software for MPP’s is arcane, and porting a serial code from a conventional workstation to an MPP is a major chore, if not a research project. Is massively parallel computing doomed? Does anybody care? We should care! Massively parallel computing is the only way to solve society’s most computationally intensive problems. In the last ten years, MPP’s have shown scientists and engineers from many disciplines that important problems they had previously considered beyond their reach are, in fact, solvable. The rapid advancement of electronics, automobile, and pharmaceutical designs demands ever-higher performance from simulation and analysis tools. The computational power needed for data mining and decision analysis is increasing at a rapid rate. The burgeoning popularity of the Internet is now making it possible to deliver high-performance computing services to millions, if networks and software can meet the challenge. Algorithmic Multithreaded Programming, such as provided by the Cilk system being developed at MIT and the University of Texas at Austin, offers the hope of allowing massively parallel computing to fulfill its promise, even if conventional MPP’s themselves fall by the technology wayside. Algorithmic Multithreaded languages provide high-level parallel abstractions for system resources-such as processors, memory, and files-thereby allowing the runtime system to map these abstract resources onto available physical resources dynamically, while providing solid guarantees of high performance. As a consequence, a Program can execute adaptively and tolerate faults in a changeable computing environment, such as the clusters of SMP workstations that appear to be the next high-performance fad. Moreover, a Multithreaded Program can “scale down” to run on a single processor with the same performance as serial C code, thereby removing a major barrier between parallel and serial Programming. Significant problems remain before multithreading can replace the existing base of parallel software, however. The most pressing appears to be the problem of duplicating the successes of data parallelism and message passing for problems that require tight and frequent synchronization. In addition, multithreading will demand stronger support from architectures and operating systems for low-latency interrupts and low-latency inter-processor communication. Proceedings of the 10th International Parallel Processing Symposium (IPPS '96) 1063-7133/96 $10.00 © 1996 IEEE

  • IPPS - Can Multithreaded Programming Save Massively Parallel Computing
    1996
    Co-Authors: Charles E Leiserson
    Abstract:

    Massively parallel computing has taken a turn for the worse. MPP (massively parallel processor) companies have generally been doing poorly in the marketplace. The additional time to design and deliver MPP systems puts them a generation behind the latest small-scale microprocessor and SMP systems. Truly large machines have mean times to failure measured in days, limiting their ability to provide reliable computing platforms for longrunning computations. Software for MPP’s is arcane, and porting a serial code from a conventional workstation to an MPP is a major chore, if not a research project. Is massively parallel computing doomed? Does anybody care? We should care! Massively parallel computing is the only way to solve society’s most computationally intensive problems. In the last ten years, MPP’s have shown scientists and engineers from many disciplines that important problems they had previously considered beyond their reach are, in fact, solvable. The rapid advancement of electronics, automobile, and pharmaceutical designs demands ever-higher performance from simulation and analysis tools. The computational power needed for data mining and decision analysis is increasing at a rapid rate. The burgeoning popularity of the Internet is now making it possible to deliver high-performance computing services to millions, if networks and software can meet the challenge. Algorithmic Multithreaded Programming, such as provided by the Cilk system being developed at MIT and the University of Texas at Austin, offers the hope of allowing massively parallel computing to fulfill its promise, even if conventional MPP’s themselves fall by the technology wayside. Algorithmic Multithreaded languages provide high-level parallel abstractions for system resources-such as processors, memory, and files-thereby allowing the runtime system to map these abstract resources onto available physical resources dynamically, while providing solid guarantees of high performance. As a consequence, a Program can execute adaptively and tolerate faults in a changeable computing environment, such as the clusters of SMP workstations that appear to be the next high-performance fad. Moreover, a Multithreaded Program can “scale down” to run on a single processor with the same performance as serial C code, thereby removing a major barrier between parallel and serial Programming. Significant problems remain before multithreading can replace the existing base of parallel software, however. The most pressing appears to be the problem of duplicating the successes of data parallelism and message passing for problems that require tight and frequent synchronization. In addition, multithreading will demand stronger support from architectures and operating systems for low-latency interrupts and low-latency inter-processor communication. Proceedings of the 10th International Parallel Processing Symposium (IPPS '96) 1063-7133/96 $10.00 © 1996 IEEE

Ivaylo Georgiev - One of the best experts on this subject based on the ideXlab platform.

  • Multithreaded parallel sequence alignment based on needleman wunsch algorithm
    Bioinformatics and Bioengineering, 2019
    Co-Authors: Veska Gancheva, Ivaylo Georgiev
    Abstract:

    Biocomputing and molecular biology are areas that change knowledge and skills for acquisition, storing, management, analysis, interpretation and dissemination of biological information. This requires the utilization of high performance computers and innovative software tools for management of the vast information, as well as deployment of innovative algorithmic techniques for analysis, interpretation and prognostication of data in order to get to insight of the design and validation of life-science experiments. Sequence alignment is an important method in DNA and protein analysis. The paper describes the computational challenges in biological sequence processing. The great challenges are to propose parallel computational models and parallel Program implementations based on the algorithms for biological sequence alignment. An investigation of the efficiency of sequence alignment based on parallel Multithreaded Program implementation of Needleman-Wunsch algorithm is presented in this paper. Parallel computational model based on Needleman-Wunsch algorithm is designed. The proposed parallel model is verified by Multithreaded parallel Program implementation utilizing OpenMP. A number of experiments have been carried out for the case of various data sets and a various number of threads. Parallel performance parameters execution time and speedup are estimated experimentally. The performance estimation and scalability analyses show that the suggested model has good scalability both in respect to the workload and machine size.

  • BIBE - Multithreaded Parallel Sequence Alignment Based on Needleman-Wunsch Algorithm
    2019 IEEE 19th International Conference on Bioinformatics and Bioengineering (BIBE), 2019
    Co-Authors: Veska Gancheva, Ivaylo Georgiev
    Abstract:

    Biocomputing and molecular biology are areas that change knowledge and skills for acquisition, storing, management, analysis, interpretation and dissemination of biological information. This requires the utilization of high performance computers and innovative software tools for management of the vast information, as well as deployment of innovative algorithmic techniques for analysis, interpretation and prognostication of data in order to get to insight of the design and validation of life-science experiments. Sequence alignment is an important method in DNA and protein analysis. The paper describes the computational challenges in biological sequence processing. The great challenges are to propose parallel computational models and parallel Program implementations based on the algorithms for biological sequence alignment. An investigation of the efficiency of sequence alignment based on parallel Multithreaded Program implementation of Needleman-Wunsch algorithm is presented in this paper. Parallel computational model based on Needleman-Wunsch algorithm is designed. The proposed parallel model is verified by Multithreaded parallel Program implementation utilizing OpenMP. A number of experiments have been carried out for the case of various data sets and a various number of threads. Parallel performance parameters execution time and speedup are estimated experimentally. The performance estimation and scalability analyses show that the suggested model has good scalability both in respect to the workload and machine size.

Luis Ceze - One of the best experts on this subject based on the ideXlab platform.

  • symbolic execution of Multithreaded Programs from arbitrary Program contexts
    Conference on Object-Oriented Programming Systems Languages and Applications, 2014
    Co-Authors: Tom Bergan, Dan Grossman, Luis Ceze
    Abstract:

    We describe an algorithm to perform symbolic execution of a Multithreaded Program starting from an arbitrary Program context. We argue that this can enable more efficient symbolic exploration of deep code paths in Multithreaded Programs by allowing the symbolic engine to jump directly to Program contexts of interest. The key challenge is modeling the initial context with reasonable precision - an overly approximate model leads to exploration of many infeasible paths during symbolic execution, while a very precise model would be so expensive to compute that computing it would defeat the purpose of jumping directly to the initial context in the first place. We propose a context-specific dataflow analysis that approximates the initial context cheaply, but precisely enough to avoid some common causes of infeasible-path explosion. This model is necessarily approximate - it may leave portions of the memory state unconstrained, leaving our symbolic execution unable to answer simple questions such as "which thread holds lock A?". For such cases, we describe a novel algorithm for evaluating symbolic synchronization during symbolic execution. Our symbolic execution semantics are sound and complete up to the limits of the underlying SMT solver. We describe initial experiments on an implementation in Cloud 9.

  • OOPSLA - Symbolic execution of Multithreaded Programs from arbitrary Program contexts
    Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications - OOPSLA '14, 2014
    Co-Authors: Tom Bergan, Dan Grossman, Luis Ceze
    Abstract:

    We describe an algorithm to perform symbolic execution of a Multithreaded Program starting from an arbitrary Program context. We argue that this can enable more efficient symbolic exploration of deep code paths in Multithreaded Programs by allowing the symbolic engine to jump directly to Program contexts of interest. The key challenge is modeling the initial context with reasonable precision - an overly approximate model leads to exploration of many infeasible paths during symbolic execution, while a very precise model would be so expensive to compute that computing it would defeat the purpose of jumping directly to the initial context in the first place. We propose a context-specific dataflow analysis that approximates the initial context cheaply, but precisely enough to avoid some common causes of infeasible-path explosion. This model is necessarily approximate - it may leave portions of the memory state unconstrained, leaving our symbolic execution unable to answer simple questions such as "which thread holds lock A?". For such cases, we describe a novel algorithm for evaluating symbolic synchronization during symbolic execution. Our symbolic execution semantics are sound and complete up to the limits of the underlying SMT solver. We describe initial experiments on an implementation in Cloud 9.

  • Finding concurrency bugs with context-aware communication graphs
    2009 42nd Annual IEEE ACM International Symposium on Microarchitecture (MICRO), 2009
    Co-Authors: Brandon Lucia, Luis Ceze
    Abstract:

    Incorrect thread synchronization often leads to concurrency bugs that manifest nondeterministically and are difficult to detect and fix. Past work on detecting concurrency bugs has addressed the general problem in an ad-hoc fashion, focusing mostly on data races and atomicity violations. Using graphs to represent a Multithreaded Program execution is very natural, nodes represent static instructions and edges represent communication via shared memory. In this paper we make the fundamental observation that such basic context-oblivious graphs do not encode enough information to enable accurate bug detection. We propose context-aware communication graphs, a new kind of communication graph that encodes global ordering information by embedding communication contexts. We then build Bugaboo, a simple and generic framework that accurately detects complex concurrency bugs. Our framework collects communication graphs from multiple executions and uses invariant-based techniques to detect anomalies in the graphs. We built two versions of Bugaboo: BB-SW, which is fully implemented in software but suffers from significant slowdowns; and BB-HW, which relies on custom architecture support but has negligible performance degradation. BB-HW requires modest extensions to a commodity multicore processor and can be used in deployment settings. We evaluate both versions using applications such as MySQL, Apache, PARSEC, and several others. Our results show that Bugaboo identifies a wide variety of concurrency bugs, including challenging multivariable bugs, with few (often zero) unnecessary code inspections.

Rajiv Gupta - One of the best experts on this subject based on the ideXlab platform.

  • Isolating bugs in Multithreaded Programs using execution suppression
    Software - Practice and Experience, 2011
    Co-Authors: Dennis Jeffrey, Chen Tian, Yan Wang, Rajiv Gupta
    Abstract:

    Memory-related Program failures in Multithreaded Programs can be caused by a variety of bugs. Concurrency bugs can occur due to unexpected or incorrect thread interleavings during execution. Other kinds of memory bugs, such as buffer overflows and uninitialized reads, may also occur in Multithreaded as well as single-threaded Programs. Most prior techniques for isolating these bugs are specialized, addressing only one type of concurrency bug or certain types of other memory bugs. The memory corruption caused by these bugs can also undergo significant propagation during Program execution. When a Program failure finally occurs due to memory corruption, the true root cause of the failure may be effectively concealed as significant portions of memory may have become corrupted. We propose a general framework that can isolate the root cause of any failure in a Multithreaded Program that involves memory corruption and reveals at least a subset of this memory corruption. This includes three important types of concurrency bugs—data races, atomicity violations, and order violations—as well as other kinds of memory bugs. To account for propagation of memory corruption, our approach uses a dynamic technique called ‘execution suppression’ that iteratively reveals memory corruption in a failing execution to isolate the true root cause of the failure. Copyright © 2011 John Wiley & Sons, Ltd.

  • ICSM - Dynamic slicing of Multithreaded Programs for race detection
    2008 IEEE International Conference on Software Maintenance, 2008
    Co-Authors: Sriraman Tallam, Chen Tian, Rajiv Gupta
    Abstract:

    Prior work has shown that computing dynamic slices of erroneous Program values can greatly assist in locating the root cause of erroneous behavior by identifying faulty statements in sequential Programs. These dynamic slices represent backward transitive closure over exercised read-after-write data dependences and control dependences. However, for a Multithreaded Program executing on a processor, data races represent an additional source of errors which are not captured by dynamic slices. We present an extended form of dynamic slice for Multithreaded Programs which can assist in locating faults, including those caused by data races. We demonstrate the effectiveness of our approach via case studies and also describe an efficient algorithm for computing dynamic slices.

  • Dynamic slicing of Multithreaded Programs for race detection
    2008 IEEE International Conference on Software Maintenance, 2008
    Co-Authors: Sriraman Tallam, Chen Tian, Rajiv Gupta
    Abstract:

    Prior work has shown that computing dynamic slices of erroneous Program values can greatly assist in locating the root cause of erroneous behavior by identifying faulty statements in sequential Programs. These dynamic slices represent backward transitive closure over exercised read-after-write data dependences and control dependences. However, for a Multithreaded Program executing on a processor, data races represent an additional source of errors which are not captured by dynamic slices. We present an extended form of dynamic slice for Multithreaded Programs which can assist in locating faults, including those caused by data races. We demonstrate the effectiveness of our approach via case studies and also describe an efficient algorithm for computing dynamic slices.