10,398 research outputs found
The Parallel Persistent Memory Model
We consider a parallel computational model that consists of processors,
each with a fast local ephemeral memory of limited size, and sharing a large
persistent memory. The model allows for each processor to fault with bounded
probability, and possibly restart. On faulting all processor state and local
ephemeral memory are lost, but the persistent memory remains. This model is
motivated by upcoming non-volatile memories that are as fast as existing random
access memory, are accessible at the granularity of cache lines, and have the
capability of surviving power outages. It is further motivated by the
observation that in large parallel systems, failure of processors and their
caches is not unusual.
Within the model we develop a framework for developing locality efficient
parallel algorithms that are resilient to failures. There are several
challenges, including the need to recover from failures, the desire to do this
in an asynchronous setting (i.e., not blocking other processors when one
fails), and the need for synchronization primitives that are robust to
failures. We describe approaches to solve these challenges based on breaking
computations into what we call capsules, which have certain properties, and
developing a work-stealing scheduler that functions properly within the context
of failures. The scheduler guarantees a time bound of in expectation, where and are the work and
depth of the computation (in the absence of failures), is the average
number of processors available during the computation, and is the
probability that a capsule fails. Within the model and using the proposed
methods, we develop efficient algorithms for parallel sorting and other
primitives.Comment: This paper is the full version of a paper at SPAA 2018 with the same
nam
Theorem proving support in programming language semantics
We describe several views of the semantics of a simple programming language
as formal documents in the calculus of inductive constructions that can be
verified by the Coq proof system. Covered aspects are natural semantics,
denotational semantics, axiomatic semantics, and abstract interpretation.
Descriptions as recursive functions are also provided whenever suitable, thus
yielding a a verification condition generator and a static analyser that can be
run inside the theorem prover for use in reflective proofs. Extraction of an
interpreter from the denotational semantics is also described. All different
aspects are formally proved sound with respect to the natural semantics
specification.Comment: Propos\'e pour publication dans l'ouvrage \`a la m\'emoire de Gilles
Kah
Universality and programmability of quantum computers
Manin, Feynman, and Deutsch have viewed quantum computing as a kind of
universal physical simulation procedure. Much of the writing about quantum
logic circuits and quantum Turing machines has shown how these machines can
simulate an arbitrary unitary transformation on a finite number of qubits. The
problem of universality has been addressed most famously in a paper by Deutsch,
and later by Bernstein and Vazirani as well as Kitaev and Solovay. The quantum
logic circuit model, developed by Feynman and Deutsch, has been more prominent
in the research literature than Deutsch's quantum Turing machines. Quantum
Turing machines form a class closely related to deterministic and probabilistic
Turing machines and one might hope to find a universal machine in this class. A
universal machine is the basis of a notion of programmability. The extent to
which universality has in fact been established by the pioneers in the field is
examined and this key notion in theoretical computer science is scrutinised in
quantum computing by distinguishing various connotations and concomitant
results and problems.Comment: 17 pages, expands on arXiv:0705.3077v1 [quant-ph
Classical computing, quantum computing, and Shor's factoring algorithm
This is an expository talk written for the Bourbaki Seminar. After a brief
introduction, Section 1 discusses in the categorical language the structure of
the classical deterministic computations. Basic notions of complexity icluding
the P/NP problem are reviewed. Section 2 introduces the notion of quantum
parallelism and explains the main issues of quantum computing. Section 3 is
devoted to four quantum subroutines: initialization, quantum computing of
classical Boolean functions, quantum Fourier transform, and Grover's search
algorithm. The central Section 4 explains Shor's factoring algorithm. Section 5
relates Kolmogorov's complexity to the spectral properties of computable
function. Appendix contributes to the prehistory of quantum computing.Comment: 27 pp., no figures, amste
COMPUTER SIMULATION AND COMPUTABILITY OF BIOLOGICAL SYSTEMS
The ability to simulate a biological organism by employing a computer is related to the
ability of the computer to calculate the behavior of such a dynamical system, or the "computability" of the system.* However, the two questions of computability and simulation are not equivalent. Since the question of computability can be given a precise answer in terms of recursive functions, automata theory and dynamical systems, it will be appropriate to consider it first. The more elusive question of adequate simulation of biological systems by a computer will be then addressed and a possible connection between the two answers given will be considered. A conjecture is formulated that suggests the possibility of employing an algebraic-topological, "quantum" computer (Baianu, 1971b)
for analogous and symbolic simulations of biological systems that may include chaotic processes that are not, in genral, either recursively or digitally computable. Depending on the biological network being modelled, such as the Human Genome/Cell Interactome or a trillion-cell Cognitive Neural Network system, the appropriate logical structure for such simulations might be either the Quantum MV-Logic (QMV) discussed in recent publications (Chiara, 2004, and references cited therein)or Lukasiewicz Logic Algebras that were shown to be isomorphic to MV-logic algebras (Georgescu et al, 2001)
Parallel Construction of Wavelet Trees on Multicore Architectures
The wavelet tree has become a very useful data structure to efficiently
represent and query large volumes of data in many different domains, from
bioinformatics to geographic information systems. One problem with wavelet
trees is their construction time. In this paper, we introduce two algorithms
that reduce the time complexity of a wavelet tree's construction by taking
advantage of nowadays ubiquitous multicore machines.
Our first algorithm constructs all the levels of the wavelet in parallel in
time and bits of working space, where
is the size of the input sequence and is the size of the alphabet. Our
second algorithm constructs the wavelet tree in a domain-decomposition fashion,
using our first algorithm in each segment, reaching time and
bits of extra space, where is the
number of available cores. Both algorithms are practical and report good
speedup for large real datasets.Comment: This research has received funding from the European Union's Horizon
2020 research and innovation programme under the Marie Sk{\l}odowska-Curie
Actions H2020-MSCA-RISE-2015 BIRDS GA No. 69094
- …