English
Related papers

Related papers: Automated Synthesis of Divide and Conquer Parallel…

200 papers

Developing secure distributed systems is difficult, and even harder when advanced cryptography must be used to achieve security goals. Following prior work, we advocate using secure program partitioning to synthesize cryptographic…

Cryptography and Security · Computer Science 2024-01-10 Coşku Acay , Joshua Gancher , Rolph Recto , Andrew C. Myers

Concurrent data structures are the data sharing side of parallel programming. Data structures give the means to the program to store data, but also provide operations to the program to access and manipulate these data. These operations are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-02-13 Daniel Cederman , Anders Gidenstam , Phuong Ha , Håkan Sundell , Marina Papatriantafilou , Philippas Tsigas

Program synthesis is the task of automatically generating a program consistent with a given specification. A natural way to specify programs is to provide examples of desired input-output behavior, and many current program synthesis…

Machine Learning · Computer Science 2020-07-28 Alexander Suh , Yuval Timen

We propose new sequential sorting operations by adapting techniques and methods used for designing parallel sorting algorithms. Although the norm is to parallelize a sequential algorithm to improve performance, we adapt a contrarian…

Data Structures and Algorithms · Computer Science 2016-09-01 Alexandros V Gerbessiotis

Parallel computing is a standard approach to achieving high-performance computing (HPC). Three commonly used methods to implement parallel computing include: 1) applying multithreading technology on single-core or multi-core CPUs; 2)…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Xinyao Yi

A parallel computer system is a collection of processing elements that communicate and cooperate to solve large computational problems efficiently. To achieve this, at first the large computational problem is partitioned into several tasks…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-09-09 Ardhendu Mandal , Subhas Chandra Pal

The manual implementation of distributed systems is an error-prone task because of the asynchronous interplay of components and the environment. Bounded synthesis automatically generates an implementation for the specification of the…

Logic in Computer Science · Computer Science 2020-04-27 Jesko Hecking-Harbusch , Niklas O. Metzger

Program verification is a resource-hungry task. This paper looks at the problem of parallelizing SMT-based automated program verification, specifically bounded model-checking, so that it can be distributed and executed on a cluster of…

Programming Languages · Computer Science 2020-05-19 Prantik Chatterjee , Subhajit Roy , Bui Phi Diep , Akash Lal

In practice, standard scheduling of parallel computing jobs almost always leaves significant portions of the available hardware unused, even with many jobs still waiting in the queue. The simple reason is that the resource requests of these…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-02-04 Florian Spenke , Karsten Balzer , Sascha Frick , Bernd Hartke , Johannes M. Dieterich

As multicore computing is now standard, it seems irresponsible for constraints researchers to ignore the implications of it. Researchers need to address a number of issues to exploit parallelism, such as: investigating which constraint…

Artificial Intelligence · Computer Science 2018-03-30 Ian P. Gent , Ciaran McCreesh , Ian Miguel , Neil C. A. Moore , Peter Nightingale , Patrick Prosser , Chris Unsworth

In this paper, we consider a control synthesis problem for a class of polynomial dynamical systems subject to bounded disturbances and with input constraints. More precisely, we aim at synthesizing at the same time a controller and an…

Optimization and Control · Mathematics 2011-07-11 Mohamed Amin Ben Sassi , Antoine Girard

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to…

Artificial Intelligence · Computer Science 2018-06-05 Evan Hernandez , Ara Vartanian , Xiaojin Zhu

Manual parallelization of code remains a significant challenge due to the complexities of modern software systems and the widespread adoption of multi-core architectures. This paper introduces OMPar, an AI-driven tool designed to automate…

Computation and Language · Computer Science 2024-09-24 Tal Kadosh , Niranjan Hasabnis , Prema Soundararajan , Vy A. Vo , Mihai Capota , Nesreen Ahmed , Yuval Pinter , Gal Oren

This paper describes a way to improve the scalability of program synthesis by exploiting modularity: larger programs are synthesized from smaller programs. The key issue is to make each "larger-created-from-smaller" synthesis sub-problem be…

Programming Languages · Computer Science 2023-08-15 Kanghee Park , Keith J. C. Johnson , Loris D'Antoni , Thomas Reps

In this paper, we focus on the need for two approaches to optimize producer and consumer synchronization for auto-parallelizing compiler. Emphasis is placed on the construction of a criterion model by which the compiler reduce the number of…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-03-04 Gang Liao , Zhi-hui Qin , Long-fei Ma , Qi Sun

The purpose of this paper is to show how existing scientific software can be parallelized using a separate thin layer of Python code where all parallel communication is implemented. We provide specific examples on such layers of code, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-05-18 Jon K. Nilsen , Xing Cai , Bjorn Hoyland , Hans Petter Langtangen

The increasing use of cloud computing and remote execution have made program security especially important. Code obfuscation has been proposed to make the understanding of programs more complicated to attackers. In this paper, we exploit…

Cryptography and Security · Computer Science 2013-11-04 Rasha Salah Omar , Ahmed El-Mahdy , Erven Rohou

Automata play important roles in wide area of computing and the growth of multicores calls for their efficient parallel implementation. Though it is known in theory that we can perform the computation of a finite automaton in parallel by…

Formal Languages and Automata Theory · Computer Science 2014-05-06 Ryoma Sin'ya , Kiminori Matsuzaki , Masataka Sassa

Constraint Handling Rules (CHR) is a declarative rule-based formalism and language. Concurrency is inherent as rules can be applied to subsets of constraints in parallel. Parallel implementations of CHR, be it in software, be it in…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-08-24 Thom Frühwirth , Daniel Gall

The ability to express a program as a hierarchical composition of parts is an essential tool in managing the complexity of software and a key abstraction this provides is to separate the representation of data from the computation. Many…

Programming Languages · Computer Science 2012-10-04 James Hanlon , Simon J. Hollis , David May