Memory System Optimizations For Cache Miss Reduction

Memory System Optimizations For Cache Miss Reduction

Advisor: 

Oguz Tosun

Assigned to: 

Dindar Oz

Type: 

Year: 

2010

Status: 

Summary:

High processor utilization ,which has signicant impact on the total system performance, is becoming the most popular target of many researchers in computer science. Since processors are extremely fast and much more expensive than other hardware components increasing their utilization is critical for eciency of computer systems. One of the main reasons that cause processors to wait idle is memory stalls during a data or an instruction reference from the memory hierarchy. Although the fastest memory components and caching technologies are used to decrease access latency , the gap between memory system and cpu speed has been rapidly increasing. In addiditon to development of fast memory components which decrease miss latency and increase bandwidth, many techniques have been proposed to increase hit ratio. Prefetchers are one those which provides memory level parallelism by fetching blocks of data to the cache in advance of cpu requests hoping to increase cache hit ratio. Since caches are the fastest components in the memory hierarchy increasing hit ratio of the caches hides memory latency and therefore increase processor utilization. Scheduling threads according to their cache locality also increases data sharing and cache utilization in multithreaded systems. In this work, we focused these two areas of memory optimization techniques. We proposed a new hardware prefetcher model and a context switching heuristic among threads in multithreaded systems. We also implemented a multilevel cache simulator to test those ideas.

Özet:

Sistem performansı açısından çok önemli olan , işlemcilerin yüksek verimde kullanımı bilgisayar bilimindeki araştırmalarda oldukça popüler bir hedef haline geldi. Son derece hızlı ve pahalı olan işlemcileri mümkün olduğunca çalışır durumda tutmak bilgisayar sistemlerinin verimliliğini arrtıran en kritik faktörlerden birisidir. İşlemcilerin boş durumda beklemesine yol açan en önemli sebeplerden biri , bellekten herhangi bir veri yada komut okuma esnasında yaşanan gecikmelerdir. Bu gecikmeleri minimuma indirmek için en hızlı bellek bileşenleri kullanılsa bile, işlemci hızı ile bellek okuma yazma hızları arasındaki fark günden güne daha da açılmakta. Bu problemle ilgili, çalışmaların bir kısmı okuma yazma gecikmelerini azaltacak daha hızlı bileşenlerin üretilmesine yoğunlaşmış olmakla birlikte, diğer bir kısmı ise ön belleklerdeki isabet oranını arttırıcı teknikler geliştirmek üzerine devam etmekte. İşlemcinin bellekten okuyacağı bilgiyi daha öncesinden tahmin edip okumak ve bu şekilde bellek seviyesinde paralelizm sağlamak bu çalışmalardan birisi. Bu sayede önbellek isabet oranının yükseltilmesi ve önbellekler en hızlı bellek bileşeni oldukları için işlemci bekleme süresinin azaltılması hedeflenmektedir. Sistemde yapılacak iş parçacıklarının bellek kullanımları göz önüne alınarak çalıştırılma sırasının belirlenmesi bir diğer çalışma alanını oluşturmakta ve işler arası veri paylaşımını ve önbellek kullanımını arttırmayı amaçlamaktadır. Bu çalışmada bu iki çalışma alanıyla ilgili iki metod önerildi. Bu önerilerimizin denenmesi ve sonuçlarının incelenmesi amacıyla bir de çok katmanlı bellek simülatörü geliştirildi.

Bize Ulaşın

Bilgisayar Mühendisliği Bölümü, Boğaziçi Üniversitesi,
34342 Bebek, İstanbul, Türkiye

  • Telefon: +90 212 359 45 23/24
  • Faks: +90 212 2872461
 

Bizi takip edin

Sosyal Medya hesaplarımızı izleyerek bölümdeki gelişmeleri takip edebilirsiniz