Tez Arşivi

Hakkımızda

Tez aramanızı kolaylaştıracak arama motoru. Yazar, danışman, başlık ve özete göre tezleri arayabilirsiniz.


Çukurova Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Anabilim Dalı

A new memory allocator selection method for reducing memory fragmentation

Bellek parçalanmasını azaltmak için yeni bir bellek ayırıcısı seçme yöntemi

Teze Git (tez.yok.gov.tr)

Bu tezin tam metni bu sitede bulunmamaktadır. Teze erişmek için tıklayın. Eğer tez bulunamazsa, YÖK Tez Merkezi tarama bölümünde 427853 tez numarasıyla arayabilirsiniz.

Özet:

Memory fragmentation is one of the most important problems preventing efficient memory usage. Many solutions have been proposed for external and internal memory fragmentation. The up-to-date solution to internal memory fragmentation is garbage collectors. However, garbage collectors cause serious performance impact, memory and energy consumption. Therefore, various memory allocators have been developed, and they have shown different behaviour according to memory layout of the software. Software developers need to test these allocators, and find an efficient one for their programs. Selection of memory allocator at software development stage does not guarantees an efficient solution, since different memory usage patterns, operating system conditions, and hardware specifications may need to another memory allocator. Therefore, a novel approach for dynamically deciding the best memory allocator for every application is proposed. The proposed solution tests each process with various memory allocators. After the testing, it selects an efficient memory allocator according to condition of operating system (OS). If OS runs out of memory, then it will select the most memory efficient allocator for new processes. If most of the CPU power is occupied, then it will select the fastest allocator. Otherwise, the balanced allocator is selected. According to test results, the proposed solution offers up to 58% less fragmented memory, and 90% faster memory operations. In average of 107 processes, it offers 7.16% less fragmented memory, and 1.79% faster memory operations. The test results also prove, the proposed solution presents optimum solution for different memory usage patterns, operating system conditions, and hardware specifications.

Summary:

Bellek parçalanması belleğin verimli kullanılmasını engelleyen önemli problemlerden biridir. Belleğin harici ve dâhili parçalanma sorunlarını çözmek üzere çeşitli çözümler önerilmiştir. Dâhili bellek parçalanmasına en güncel çözümler çöp toplayıcı yazılımlardır. Çöp toplayıcı yazılımlar yüksek zaman tüketimleri ile istenmeyen performans düşüşüne, bellek ve enerji tüketimine sebep olmaktadırlar. Bu nedenle, çeşitli bellek ayırıcılar geliştirilmiş ve yazılımın bellek üzerindeki yerleşim karakteristiğine göre farklı performanslar sergilemiştir. Bu durum yazılım geliştiricilerin kendi yazılımlarına uygun bellek ayırıcı çözümünü test edip en verimli olanı seçmesini gerekli kılmaktadır. Yazılım geliştirme aşamasındaki bu seçimin statik olması değişen bellek durumları, donanım özellikleri ve işletim sistemi şartları göz önüne alındığı zaman her durumda en verimli çözümü garanti etmesi mümkün olmamaktadır. Bu yüzden, her uygulama için dinamik olarak en iyi bellek ayırıcısına karar veren yeni bir yaklaşım önerilmektedir. Önerilen çözüm, her prosesi çeşitli bellek ayırıcılarla sınar. Sınadıktan sonra, işletim sisteminin (İS) durumunu da göz önüne alarak optimum bir bellek ayırıcısı seçer. Örneğin İS bellek yetersizliği yaşıyorsa, yöntem, yeni prosesler için belleği en verimli kullanan bellek ayırıcıyı; eğer MİB (merkezi işlem birimi) çok kullanılıyorsa, en hızlı bellek ayırıcıyı seçer. Diğer durumlarda ise dengeli bellek ayırıcıyı seçer. Test sonuçlarına göre, önerilen yöntem %58'e kadar daha az parçalanmış bellek kullanımı ve %90'a kadar daha hızlı bellek işlemleri sunmaktadır. 107 prosesin ortalamasına göre yöntem, %7.16 daha az parçalanmış bellek kullanımı ve %1.79 daha hızlı bellek işlemleri sunmaktadır. Test sonuçları da kanıtlamaktadır ki, önerilen yöntem, değişen bellek durumları, donanım özellikleri ve işletim sistemi şartları için en verimli çözümü sunmaktadır.