The Experts below are selected from a list of 66 Experts worldwide ranked by ideXlab platform
Eliot Moss - One of the best experts on this subject based on the ideXlab platform.
-
Memory system performance of programs with intensive Heap Allocation
ACM Transactions on Computer Systems, 1995Co-Authors: Amer Diwan, David Tarditi, Eliot MossAbstract:Heap Allocation with copying garbage collection is a general storage management technique for programming languages. It is believed to have poor memory system performance. To investigate this, we conducted an in-depth study of the memory system performance of Heap Allocation for memory systems found on many machines. We studied the performance of mostly functional Standard ML programs which made heavy use of Heap Allocation. We found that most machines support Heap Allocation poorly. However, with the appropriate memory system organization, Heap Allocation can have good performance. The memory system property crucial for achieving good performance was the ability to allocate and initialize a new object into the cache without a penalty. This can be achieved by having subblock by placement with a subblock size of one word with a write-allocate policy, along with fast page-mode writes or a write buffer. For caches with subblock placement, the data cache overhead was under 9% for a 64K or larger data cache; without subblock placement the overhead was often higher than 50%.
-
memory subsystem performance of programs using copying garbage collection
Symposium on Principles of Programming Languages, 1994Co-Authors: Amer Diwan, David Tarditi, Eliot MossAbstract:Heap Allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of Heap Allocation for memory subsystems found on many machines. We found that many machines support Heap Allocation poorly. However, with the appropriate memory subsystem organization, Heap Allocation can have good memory subsystem performance.
Amer Diwan - One of the best experts on this subject based on the ideXlab platform.
-
Memory system performance of programs with intensive Heap Allocation
ACM Transactions on Computer Systems, 1995Co-Authors: Amer Diwan, David Tarditi, Eliot MossAbstract:Heap Allocation with copying garbage collection is a general storage management technique for programming languages. It is believed to have poor memory system performance. To investigate this, we conducted an in-depth study of the memory system performance of Heap Allocation for memory systems found on many machines. We studied the performance of mostly functional Standard ML programs which made heavy use of Heap Allocation. We found that most machines support Heap Allocation poorly. However, with the appropriate memory system organization, Heap Allocation can have good performance. The memory system property crucial for achieving good performance was the ability to allocate and initialize a new object into the cache without a penalty. This can be achieved by having subblock by placement with a subblock size of one word with a write-allocate policy, along with fast page-mode writes or a write buffer. For caches with subblock placement, the data cache overhead was under 9% for a 64K or larger data cache; without subblock placement the overhead was often higher than 50%.
-
memory subsystem performance of programs using copying garbage collection
Symposium on Principles of Programming Languages, 1994Co-Authors: Amer Diwan, David Tarditi, Eliot MossAbstract:Heap Allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of Heap Allocation for memory subsystems found on many machines. We found that many machines support Heap Allocation poorly. However, with the appropriate memory subsystem organization, Heap Allocation can have good memory subsystem performance.
Kalousis Alexandros - One of the best experts on this subject based on the ideXlab platform.
-
Kanerva++: extending The Kanerva Machine with differentiable, locally block allocated latent memory
2021Co-Authors: Ramapuram Jason, Wu Yan, Kalousis AlexandrosAbstract:Episodic and semantic memory are critical components of the human memory model. The theory of complementary learning systems (McClelland et al., 1995) suggests that the compressed representation produced by a serial event (episodic memory) is later restructured to build a more generalized form of reusable knowledge (semantic memory). In this work we develop a new principled Bayesian memory Allocation scheme that bridges the gap between episodic and semantic memory via a hierarchical latent variable model. We take inspiration from traditional Heap Allocation and extend the idea of locally contiguous memory to the Kanerva Machine, enabling a novel differentiable block allocated latent memory. In contrast to the Kanerva Machine, we simplify the process of memory writing by treating it as a fully feed forward deterministic process, relying on the stochasticity of the read key distribution to disperse information within the memory. We demonstrate that this Allocation scheme improves performance in conditional image generation, resulting in new state-of-the-art likelihood values on binarized MNIST (
-
Kanerva++: extending The Kanerva Machine with differentiable, locally block allocated latent memory
2021Co-Authors: Ramapuram Jason, Wu Yan, Kalousis AlexandrosAbstract:Episodic and semantic memory are critical components of the human memory model. The theory of complementary learning systems (McClelland et al., 1995) suggests that the compressed representation produced by a serial event (episodic memory) is later restructured to build a more generalized form of reusable knowledge (semantic memory). In this work we develop a new principled Bayesian memory Allocation scheme that bridges the gap between episodic and semantic memory via a hierarchical latent variable model. We take inspiration from traditional Heap Allocation and extend the idea of locally contiguous memory to the Kanerva Machine, enabling a novel differentiable block allocated latent memory. In contrast to the Kanerva Machine, we simplify the process of memory writing by treating it as a fully feed forward deterministic process, relying on the stochasticity of the read key distribution to disperse information within the memory. We demonstrate that this Allocation scheme improves performance in memory conditional image generation, resulting in new state-of-the-art conditional likelihood values on binarized MNIST (
David Tarditi - One of the best experts on this subject based on the ideXlab platform.
-
Memory system performance of programs with intensive Heap Allocation
ACM Transactions on Computer Systems, 1995Co-Authors: Amer Diwan, David Tarditi, Eliot MossAbstract:Heap Allocation with copying garbage collection is a general storage management technique for programming languages. It is believed to have poor memory system performance. To investigate this, we conducted an in-depth study of the memory system performance of Heap Allocation for memory systems found on many machines. We studied the performance of mostly functional Standard ML programs which made heavy use of Heap Allocation. We found that most machines support Heap Allocation poorly. However, with the appropriate memory system organization, Heap Allocation can have good performance. The memory system property crucial for achieving good performance was the ability to allocate and initialize a new object into the cache without a penalty. This can be achieved by having subblock by placement with a subblock size of one word with a write-allocate policy, along with fast page-mode writes or a write buffer. For caches with subblock placement, the data cache overhead was under 9% for a 64K or larger data cache; without subblock placement the overhead was often higher than 50%.
-
memory subsystem performance of programs using copying garbage collection
Symposium on Principles of Programming Languages, 1994Co-Authors: Amer Diwan, David Tarditi, Eliot MossAbstract:Heap Allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of Heap Allocation for memory subsystems found on many machines. We found that many machines support Heap Allocation poorly. However, with the appropriate memory subsystem organization, Heap Allocation can have good memory subsystem performance.
John Hannan - One of the best experts on this subject based on the ideXlab platform.
-
a type based analysis for stack Allocation in functional languages
Static Analysis Symposium, 1995Co-Authors: John HannanAbstract:We consider the problem of detecting when bindings for variables in a higher-order, call-by-value functional language can be allocated on a stack. We use an annotated type system to infer information about the occurrence and extent of variables in a simple higher-order functional language and combine this system with a translation to an annotated language which explicitly indicates when stack Allocation can be performed. This technique supports both stack and Heap Allocation of variable bindings. Only the stack allocated bindings need follow the protocol for stacks: their extent must coincide with their scope. Heap allocated bindings can have any extent and their Allocation has no impact on the stack allocated ones. The type system uses a simple notion of annotated types in which types encode not only the typical simple type information, but also information about the use of variables. We demonstrate the use of our analysis by defining both an operational semantics and an abstract machine which utilize both a stack and an environment for variable Allocation.