Allocator

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 824106 Experts worldwide ranked by ideXlab platform

Jiman Hong - One of the best experts on this subject based on the ideXlab platform.

  • dynamic memory Allocator for sensor operating system design and analysis
    Journal of Information Science and Engineering, 2010
    Co-Authors: Hong Min, Yookun Cho, Jiman Hong
    Abstract:

    Dynamic memory allocation is an important mechanism used in operating systems. An efficient dynamic memory Allocator can improve the performance of operating systems. In wireless sensor networks, sensor nodes have miniature computing device, small memory space and very limited battery power. Therefore, it is important that sensor operating systems operate efficiently in terms of energy consumption and resource management. And the role of dynamic memory Allocator in sensor operating system is more important than one of general operating system. In this paper, we propose a new dynamic memory allocation scheme that resolves the existing problems in dynamic memory Allocators. We implemented our scheme on Nano-Qplus which is a sensor operating system based on multi-threading. Our experimental results and static analysis result show our scheme performs efficiently in terms of the execution time and the memory space compared with existing memory allocation mechanisms.

  • an efficient dynamic memory Allocator for sensor operating systems
    ACM Symposium on Applied Computing, 2007
    Co-Authors: Hong Min, Yookun Cho, Jiman Hong
    Abstract:

    Dynamic memory allocation mechanism is important aspect of operating system, because an efficient dynamic memory Allocator improves the performance of operating systems. In wireless sensor networks, sensor nodes have miniature computing device, small memory space and very limited battery power. Therefore, sensor operating systems should be able to operate efficiently in terms of energy consumption and resource management. And the role of dynamic memory Allocator in sensor operating system is more important than one of general operating system. In this pager, we propose new dynamic memory allocation scheme that solves problems of existing dynamic memory Allocators. We implement our scheme on Nano-Qplus which is a sensor operating system base on multi-threading. Our experimental results show our scheme performs efficiently in both time and space compared with existing memory allocation mechanism.

  • SAC - An efficient dynamic memory Allocator for sensor operating systems
    Proceedings of the 2007 ACM symposium on Applied computing - SAC '07, 2007
    Co-Authors: Hong Min, Yookun Cho, Jiman Hong
    Abstract:

    Dynamic memory allocation mechanism is important aspect of operating system, because an efficient dynamic memory Allocator improves the performance of operating systems. In wireless sensor networks, sensor nodes have miniature computing device, small memory space and very limited battery power. Therefore, sensor operating systems should be able to operate efficiently in terms of energy consumption and resource management. And the role of dynamic memory Allocator in sensor operating system is more important than one of general operating system. In this pager, we propose new dynamic memory allocation scheme that solves problems of existing dynamic memory Allocators. We implement our scheme on Nano-Qplus which is a sensor operating system base on multi-threading. Our experimental results show our scheme performs efficiently in both time and space compared with existing memory allocation mechanism.

Rivalino Matias - One of the best experts on this subject based on the ideXlab platform.

  • SAC - An experimental comparison analysis of kernel-level memory Allocators
    Proceedings of the 30th Annual ACM Symposium on Applied Computing, 2015
    Co-Authors: Tais B Ferreira, Rivalino Matias, Autran Macedo, Bruno Evangelista
    Abstract:

    Memory management is one of the most important tasks of an operating system, since it has significant impact on the whole computing systems performance. The kernel memory Allocator is the main OS subsystem responsible for this task, which has to deal with problems intrinsic to dynamic memory allocations, such as memory fragmentation and allocation overhead. In this paper, we present an experimental comparison analysis of four real implementations of kernel memory Allocators: SLAB, SLOB, SLUB, and SLQB. This study considered the execution time, memory consumption, and memory fragmentation degree of all Allocators under the same workload. Based on the findings obtained experimentally, in most of the cases, the memory Allocator with best general performance was the SLOB, followed by SLAB, SLUB, and SLQB.

  • a comprehensive complexity analysis of user level memory Allocator algorithms
    2012 Brazilian Symposium on Computing System Engineering, 2012
    Co-Authors: Tais B Ferreira, Marcia Aparecida Fernandes, Rivalino Matias
    Abstract:

    Memory allocations are one of the most frequently used operations in computer programs. The performance of memory allocation operations is a critical factor in software design; however, it is very often neglected. In this paper, we present a comprehensive complexity analysis of widely adopted user-level memory Allocator algorithms. We consider time and space complexity, as well as the Allocator overhead. The results show that the Ptmalloc family of memory Allocator algorithms outperformed all other investigated Allocators in terms of theoretical time complexity and space overhead. All Allocators showed the same space complexity.

  • SBESC - A Comprehensive Complexity Analysis of User-Level Memory Allocator Algorithms
    2012 Brazilian Symposium on Computing System Engineering, 2012
    Co-Authors: Tais B Ferreira, Marcia Aparecida Fernandes, Rivalino Matias
    Abstract:

    Memory allocations are one of the most frequently used operations in computer programs. The performance of memory allocation operations is a critical factor in software design; however, it is very often neglected. In this paper, we present a comprehensive complexity analysis of widely adopted user-level memory Allocator algorithms. We consider time and space complexity, as well as the Allocator overhead. The results show that the Ptmalloc family of memory Allocator algorithms outperformed all other investigated Allocators in terms of theoretical time complexity and space overhead. All Allocators showed the same space complexity.

  • SBESC - A Comparison of Memory Allocators for Multicore and Multithread Applications: A Quantitative Approach
    2011 Brazilian Symposium on Computing System Engineering, 2011
    Co-Authors: Tais B Ferreira, Rivalino Matias, Autran Macedo, Lúcio Borges De Araújo
    Abstract:

    The performance of memory allocation operations is a very important aspect to be considered in software design, however it is frequently neglected. This paper presents a comparative analysis of seven largely adopted memory Allocators. Unlike other related works, based on artificial benchmark tests, we evaluate the selected Allocators using real-world middleware applications. In order to compare the performance of the investigated Allocators we consider the response time, memory consumption, and memory fragmentation. All tests are evaluated with respect to different combinations of processor cores. The results indicate that for workloads based on memory allocations up to 64 bytes and all combinations of processor cores up to four, the best average response time and memory usage is obtained using the TCMalloc memory Allocator, followed by the Ptmalloc version 3.

  • SMC - An experimental study on user-level memory Allocators in middleware applications
    2011 IEEE International Conference on Systems Man and Cybernetics, 2011
    Co-Authors: Rivalino Matias, Tais B Ferreira, Autran Macedo
    Abstract:

    Memory allocations are one of the most ubiquitous operations in computer programs. The performance of the routines that implement these operations is very important although it is frequently neglected. This paper presents a comparative analysis of seven largely adopted memory Allocators. Unlike other related works, based on artificial benchmark tests, we evaluate the selected Allocators using real-world stock trading applications. The experimental study considers the applications' response time, memory consumption, and memory fragmentation. All tests are evaluated with respect to different combinations of processor cores. The results indicate that for workloads based on memory allocations up to 64 bytes and all combinations of processor cores up to four, the best average response time and memory usage is obtained using the TCMalloc memory Allocator, followed by the Ptmalloc version 3.

Hong Min - One of the best experts on this subject based on the ideXlab platform.

  • dynamic memory Allocator for sensor operating system design and analysis
    Journal of Information Science and Engineering, 2010
    Co-Authors: Hong Min, Yookun Cho, Jiman Hong
    Abstract:

    Dynamic memory allocation is an important mechanism used in operating systems. An efficient dynamic memory Allocator can improve the performance of operating systems. In wireless sensor networks, sensor nodes have miniature computing device, small memory space and very limited battery power. Therefore, it is important that sensor operating systems operate efficiently in terms of energy consumption and resource management. And the role of dynamic memory Allocator in sensor operating system is more important than one of general operating system. In this paper, we propose a new dynamic memory allocation scheme that resolves the existing problems in dynamic memory Allocators. We implemented our scheme on Nano-Qplus which is a sensor operating system based on multi-threading. Our experimental results and static analysis result show our scheme performs efficiently in terms of the execution time and the memory space compared with existing memory allocation mechanisms.

  • an efficient dynamic memory Allocator for sensor operating systems
    ACM Symposium on Applied Computing, 2007
    Co-Authors: Hong Min, Yookun Cho, Jiman Hong
    Abstract:

    Dynamic memory allocation mechanism is important aspect of operating system, because an efficient dynamic memory Allocator improves the performance of operating systems. In wireless sensor networks, sensor nodes have miniature computing device, small memory space and very limited battery power. Therefore, sensor operating systems should be able to operate efficiently in terms of energy consumption and resource management. And the role of dynamic memory Allocator in sensor operating system is more important than one of general operating system. In this pager, we propose new dynamic memory allocation scheme that solves problems of existing dynamic memory Allocators. We implement our scheme on Nano-Qplus which is a sensor operating system base on multi-threading. Our experimental results show our scheme performs efficiently in both time and space compared with existing memory allocation mechanism.

  • SAC - An efficient dynamic memory Allocator for sensor operating systems
    Proceedings of the 2007 ACM symposium on Applied computing - SAC '07, 2007
    Co-Authors: Hong Min, Yookun Cho, Jiman Hong
    Abstract:

    Dynamic memory allocation mechanism is important aspect of operating system, because an efficient dynamic memory Allocator improves the performance of operating systems. In wireless sensor networks, sensor nodes have miniature computing device, small memory space and very limited battery power. Therefore, sensor operating systems should be able to operate efficiently in terms of energy consumption and resource management. And the role of dynamic memory Allocator in sensor operating system is more important than one of general operating system. In this pager, we propose new dynamic memory allocation scheme that solves problems of existing dynamic memory Allocators. We implement our scheme on Nano-Qplus which is a sensor operating system base on multi-threading. Our experimental results show our scheme performs efficiently in both time and space compared with existing memory allocation mechanism.

Tais B Ferreira - One of the best experts on this subject based on the ideXlab platform.

  • SAC - An experimental comparison analysis of kernel-level memory Allocators
    Proceedings of the 30th Annual ACM Symposium on Applied Computing, 2015
    Co-Authors: Tais B Ferreira, Rivalino Matias, Autran Macedo, Bruno Evangelista
    Abstract:

    Memory management is one of the most important tasks of an operating system, since it has significant impact on the whole computing systems performance. The kernel memory Allocator is the main OS subsystem responsible for this task, which has to deal with problems intrinsic to dynamic memory allocations, such as memory fragmentation and allocation overhead. In this paper, we present an experimental comparison analysis of four real implementations of kernel memory Allocators: SLAB, SLOB, SLUB, and SLQB. This study considered the execution time, memory consumption, and memory fragmentation degree of all Allocators under the same workload. Based on the findings obtained experimentally, in most of the cases, the memory Allocator with best general performance was the SLOB, followed by SLAB, SLUB, and SLQB.

  • a comprehensive complexity analysis of user level memory Allocator algorithms
    2012 Brazilian Symposium on Computing System Engineering, 2012
    Co-Authors: Tais B Ferreira, Marcia Aparecida Fernandes, Rivalino Matias
    Abstract:

    Memory allocations are one of the most frequently used operations in computer programs. The performance of memory allocation operations is a critical factor in software design; however, it is very often neglected. In this paper, we present a comprehensive complexity analysis of widely adopted user-level memory Allocator algorithms. We consider time and space complexity, as well as the Allocator overhead. The results show that the Ptmalloc family of memory Allocator algorithms outperformed all other investigated Allocators in terms of theoretical time complexity and space overhead. All Allocators showed the same space complexity.

  • SBESC - A Comprehensive Complexity Analysis of User-Level Memory Allocator Algorithms
    2012 Brazilian Symposium on Computing System Engineering, 2012
    Co-Authors: Tais B Ferreira, Marcia Aparecida Fernandes, Rivalino Matias
    Abstract:

    Memory allocations are one of the most frequently used operations in computer programs. The performance of memory allocation operations is a critical factor in software design; however, it is very often neglected. In this paper, we present a comprehensive complexity analysis of widely adopted user-level memory Allocator algorithms. We consider time and space complexity, as well as the Allocator overhead. The results show that the Ptmalloc family of memory Allocator algorithms outperformed all other investigated Allocators in terms of theoretical time complexity and space overhead. All Allocators showed the same space complexity.

  • SBESC - A Comparison of Memory Allocators for Multicore and Multithread Applications: A Quantitative Approach
    2011 Brazilian Symposium on Computing System Engineering, 2011
    Co-Authors: Tais B Ferreira, Rivalino Matias, Autran Macedo, Lúcio Borges De Araújo
    Abstract:

    The performance of memory allocation operations is a very important aspect to be considered in software design, however it is frequently neglected. This paper presents a comparative analysis of seven largely adopted memory Allocators. Unlike other related works, based on artificial benchmark tests, we evaluate the selected Allocators using real-world middleware applications. In order to compare the performance of the investigated Allocators we consider the response time, memory consumption, and memory fragmentation. All tests are evaluated with respect to different combinations of processor cores. The results indicate that for workloads based on memory allocations up to 64 bytes and all combinations of processor cores up to four, the best average response time and memory usage is obtained using the TCMalloc memory Allocator, followed by the Ptmalloc version 3.

  • SMC - An experimental study on user-level memory Allocators in middleware applications
    2011 IEEE International Conference on Systems Man and Cybernetics, 2011
    Co-Authors: Rivalino Matias, Tais B Ferreira, Autran Macedo
    Abstract:

    Memory allocations are one of the most ubiquitous operations in computer programs. The performance of the routines that implement these operations is very important although it is frequently neglected. This paper presents a comparative analysis of seven largely adopted memory Allocators. Unlike other related works, based on artificial benchmark tests, we evaluate the selected Allocators using real-world stock trading applications. The experimental study considers the applications' response time, memory consumption, and memory fragmentation. All tests are evaluated with respect to different combinations of processor cores. The results indicate that for workloads based on memory allocations up to 64 bytes and all combinations of processor cores up to four, the best average response time and memory usage is obtained using the TCMalloc memory Allocator, followed by the Ptmalloc version 3.

Jaejin Lee - One of the best experts on this subject based on the ideXlab platform.

  • sfmalloc a lock free and mostly synchronization free dynamic memory Allocator for manycores
    International Conference on Parallel Architectures and Compilation Techniques, 2011
    Co-Authors: Sangmin Seo, Junghyun Kim, Jaejin Lee
    Abstract:

    As parallel programming becomes the mainstream due to multicore processors, dynamic memory Allocators used in C and C++ can suppress the performance of multi-threaded applications if they are not scalable. In this paper, we present a new dynamic memory Allocator for multi-threaded applications. The Allocator never uses any synchronization for common cases. It uses only lock-free synchronization mechanisms for uncommon cases. Each thread owns a private heap and handles memory requests on the heap. Our Allocator is completely synchronization-free when a thread allocates a memory block and deal locates it by itself. Synchronization-free means that threads do not communicate with each other at all. On the other hand, if a thread allocates a block and another thread frees it, we use a lock-free stack to atomically add it to the owner thread's heap to avoid the memory blowup problem. Furthermore, our Allocator exploits various memory block caching mechanisms to reduce the latency of memory management. Freed blocks or intermediate memory chunks are cached hierarchically in each thread's heap and they are used for future memory allocation. We compare the performance and scalability of our Allocator to those of well-known existing multi-threaded memory Allocators using eight benchmarks. Experimental results on a 48-core AMD system show that our approach achieves better performance than other Allocators for all benchmarks and is highly scalable with a large number of threads.

  • PACT - SFMalloc: A Lock-Free and Mostly Synchronization-Free Dynamic Memory Allocator for Manycores
    2011 International Conference on Parallel Architectures and Compilation Techniques, 2011
    Co-Authors: Sangmin Seo, Junghyun Kim, Jaejin Lee
    Abstract:

    As parallel programming becomes the mainstream due to multicore processors, dynamic memory Allocators used in C and C++ can suppress the performance of multi-threaded applications if they are not scalable. In this paper, we present a new dynamic memory Allocator for multi-threaded applications. The Allocator never uses any synchronization for common cases. It uses only lock-free synchronization mechanisms for uncommon cases. Each thread owns a private heap and handles memory requests on the heap. Our Allocator is completely synchronization-free when a thread allocates a memory block and deal locates it by itself. Synchronization-free means that threads do not communicate with each other at all. On the other hand, if a thread allocates a block and another thread frees it, we use a lock-free stack to atomically add it to the owner thread's heap to avoid the memory blowup problem. Furthermore, our Allocator exploits various memory block caching mechanisms to reduce the latency of memory management. Freed blocks or intermediate memory chunks are cached hierarchically in each thread's heap and they are used for future memory allocation. We compare the performance and scalability of our Allocator to those of well-known existing multi-threaded memory Allocators using eight benchmarks. Experimental results on a 48-core AMD system show that our approach achieves better performance than other Allocators for all benchmarks and is highly scalable with a large number of threads.