English
Related papers

Related papers: Separation of concerning things: a simpler basis f…

200 papers

Disaggregated memory architectures provide benefits to applications beyond traditional scale out environments, such as independent scaling of compute and memory resources. They also provide an independent failure model, where computations…

Many interpretable AI approaches have been proposed to provide plausible explanations for a model's decision-making. However, configuring an explainable model that effectively communicates among computational modules has received less…

Machine Learning · Computer Science 2023-11-09 Jinyung Hong , Keun Hee Park , Theodore P. Pavlic

This paper presents the design of an associative memory with feedback that is capable of on-line temporal sequence learning. A framework for on-line sequence learning has been proposed, and different sequence learning models have been…

Neural and Evolutionary Computing · Computer Science 2007-05-23 J. Bose , S. B. Furber , J. L. Shapiro

The evolution of sequence modeling architectures, from recurrent neural networks and convolutional models to Transformers and structured state-space models, reflects ongoing efforts to address the diverse temporal dependencies inherent in…

Machine Learning · Computer Science 2025-06-10 Haotian Jiang , Zeyu Bao , Shida Wang , Qianxiao Li

We introduce a novel approach to endowing neural networks with emergent, long-term, large-scale memory. Distinct from strategies that connect neural networks to external memory banks via intricately crafted controllers and hand-designed…

Machine Learning · Computer Science 2020-08-18 Tri Huynh , Michael Maire , Matthew R. Walter

Parallel programming models exist as an abstraction of hardware and memory architectures. There are several parallel programming models in commonly use; they are shared memory model, thread model, message passing model, data parallel model,…

Software Engineering · Computer Science 2010-04-28 Bala Dhandayuthapani Veerasamy

A novel language system has given rise to promising alternatives to standard formal and processor network models of computation. An interstring linked with a abstract machine environment, shares sub-expressions, transfers data, and…

Programming Languages · Computer Science 2010-05-31 Alexander Victor Berka

Competitive programming benchmarks are widely used in scenarios such as programming contests and large language model assessments. However, the growing presence of duplicate or highly similar problems raises concerns not only about…

Software Engineering · Computer Science 2025-10-28 Han Deng , Yuan Meng , Shixiang Tang , Wanli Ouyang , Xinzhu Ma

The inability to predict lasting languages and architectures led us to develop OCCA, a C++ library focused on host-device interaction. Using run-time compilation and macro expansions, the result is a novel single kernel language that…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-03-06 David S Medina , Amik St-Cyr , T. Warburton

Counting triangles in a graph and incident to each vertex is a fundamental and frequently considered task of graph analysis. We consider how to efficiently do this for huge graphs using massively parallel distributed-memory machines.…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-24 Peter Sanders , Tim Niklas Uhl

We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based on a notion of time-stamped histories that abstractly capture atomic changes in the program state. Our key observation is that histories…

Logic in Computer Science · Computer Science 2014-10-02 Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee

In this paper, we introduce Continuation Passing C (CPC), a programming language for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a…

Programming Languages · Computer Science 2012-11-15 Gabriel Kerneis , Juliusz Chroboczek

Common implementations of core memory allocation components, like the Linux buddy system, handle concurrent allocation/release requests by synchronizing threads via spin-locks. This approach is clearly not prone to scale with large thread…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-22 Romolo Marotta , Mauro Ianni , Alessandro Pellegrini , Andrea Scarselli , Francesco Quaglia

Choreographic Programming is a programming paradigm for building concurrent programs that are deadlock-free by construction, as a result of programming communications declaratively and then synthesising process implementations…

Programming Languages · Computer Science 2018-10-10 Luís Cruz-Filipe , Fabrizio Montesi

C is the lingua franca of programming and almost any device can be programmed using C. However, programming mod-ern heterogeneous architectures such as multi-core CPUs and GPUs requires explicitly expressing parallelism as well as…

Cumulative memory -- the sum of space used per step over the duration of a computation -- is a fine-grained measure of time-space complexity that was introduced to analyze cryptographic applications like password hashing. It is a more…

Computational Complexity · Computer Science 2023-07-06 Paul Beame , Niels Kornerup

Decomposition, statically dividing a program into multiple units, is a common programming technique for realizing parallelism and refining programs. The decomposition of a sequential program into components is tedious, due to the…

Software Engineering · Computer Science 2020-09-09 Sabah Al-Fedaghi

The Human Cognitive Simulation Framework proposes a governed cognitive AI architecture designed to improve personalization, adaptability, and long-term coherence in human AI interaction. The framework integrates short-term memory…

Human-Computer Interaction · Computer Science 2026-01-23 Rommel Salas-Guerra

When implementing functionality which requires sparse matrices, there are numerous storage formats to choose from, each with advantages and disadvantages. To achieve good performance, several formats may need to be used in one program,…

Mathematical Software · Computer Science 2019-10-22 Conrad Sanderson , Ryan Curtin

Concurrent data structures often require additional memory for handling synchronization issues in addition to memory for storing elements. Depending on the amount of this additional memory, implementations can be more or less…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-17 Vitaly Aksenov , Nikita Koval , Petr Kuznetsov , Anton Paramonov