1 / 44

BİLGİSAYAR MİMARİLERİNE YENİ YAKLAŞIM DERSİ AĞ İŞLEMCİ MİMARİLERİ

BİLGİSAYAR MİMARİLERİNE YENİ YAKLAŞIM DERSİ AĞ İŞLEMCİ MİMARİLERİ. Tuğba Akbal 504061533 Aralık 2007. İçerik. Genel Bilgi Ağ İşlemciler Neden Gereklidir? Ağ Uygulamalarının Özellikleri ve Esasları Ağ İşlemcilerde Aşılması Gereken Sorunlar Ağ İşlemcilerin Sahip Olması Gereken Özellikler

luann
Download Presentation

BİLGİSAYAR MİMARİLERİNE YENİ YAKLAŞIM DERSİ AĞ İŞLEMCİ MİMARİLERİ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BİLGİSAYAR MİMARİLERİNE YENİ YAKLAŞIM DERSİAĞ İŞLEMCİ MİMARİLERİ Tuğba Akbal 504061533 Aralık 2007

  2. İçerik • Genel Bilgi • Ağ İşlemciler Neden Gereklidir? • Ağ Uygulamalarının Özellikleri ve Esasları • Ağ İşlemcilerde Aşılması Gereken Sorunlar • Ağ İşlemcilerin Sahip Olması Gereken Özellikler • Intel IXP Ailesi • Intel IXP2400 Ağ İşlemci Mimarisi • Yeni Nesil Ağ İşlemciler • Sonuç • Referanslar

  3. Ön Bilgi • Thread  İplik • Switch  Anahtar • Router  Yönlendirici • TLB(Translation Lookaside Buffer)  Adres dönüşüm tamponu • CMP(Chip MultiProcessing) Tek yongada çok işlemci • SMT(Simultaneous MultiThreading ) Eşzamanlı çok iplikli • ASIC(Application Specific Integrated Circuit )  Uygulamaya özel tümleşik devre

  4. Ön Bilgi • RISC(Reduced Instruction Set Computer)  Azaltılmış komut kümeli bilgisayar • TLP(Thread-Level Parallelism)  İplik düzeyinde paralellik • ILP(Instruction-Level Parallelism)  Komut düzeyinde paralellik • Branch/Data intensive  Dallanma/Veri yoğun • Deep packet classification  Derin paket sınıflandırma • Content aware  İçerik bilinçli

  5. Genel Bilgi • Karmaşık ağ tabanlı uygulamalar • Artan ağ trafiği yoğunluğu • Ağ işlemcileri hızlanmalı • Paket paralelliği ve bağımlılıkları • Paketlerin sınıflandırılması • Güvenlikle alakalı işler için özel tasarım • Çok işlemcili • Çok iplikli ortamlar

  6. Genel Bilgi • Genel amaçlı ağ işlemciler ağ işlemci mimariler: uygulamaya has • Veri ve dallanma ağırlıklı • Düzensiz • Yüksek programlama yeteneği • Uygulamalar gelişmekte • Farklı protokoller • Taşınabilir ağ araçları • Yeni nesil saldırılarda güncelleme

  7. Genel Bilgi • Tasarımsal sorunlar • Paket sınıflandırma • Performans kritik bir iş • QoS, URL karşılaştırma, saldırı tespiti • Güvenlikle alakalı sorunlar • Web anahtarları ve sunucularda hayati • Yüksek CPU gerektirir

  8. Ağ İşlemciler Neden Gereklidir? • Yüksek performansla paket işleme • Çok çeşitli ağ uygulamasını gerçekleme • Etkin kaynak kullanımı • Paket iletimi • Artan istekleri karşılama • Yüksek bant genişliği • Düşük gecikme • Yoğun veri

  9. Ağ İşlemciler Neden Gereklidir? • Paketleri iletmek için gerekli fonksiyonları gerçekleyen • Gerçek zamanlı • Paket işleme • Paket saklama ve iletme • Güvenlik • Anahtarlama • IP paket işleme

  10. Ağ İşlemciler Neden Gereklidir? • Paralel ve dağıtık • İş hatları ile ve çok iplikli paket işleme • Yüksek kapasite • Esneklik • Ölçeklenebilirlik • Derin paket sınıflandırma • Çalışma süresi ve maliyette etkinlik

  11. Genel Görünüm • Çok sayıda RISC çekirdekler • Genel ağ işlemleri için atanmış donanımlar • Yüksek hızda ana bellek ara yüzleri • Yüksek hızda I/O ara yüzleri • Genel amaçlı CPU için ara yüz

  12. Ağ Mimarilerine 3 Farklı Yaklaşım • Saf donanım: ayarlanabilir ASIC en iyi performans, az esneklik • Saf yazılım: programlanabilir  programlanabilme maksimuma çıkarılır • Hibrit: programlanabilir ASIC  şu anki gelişim bu yönde • Performans artarken, esneklikte gerçeklenir • Alışılmış ağ fonksiyonları donanımla kendi akışında gerçeklenir • Saf yazılım yaklaşımından bile daha iyi ölçeklenebilir

  13. Ağ Uygulamaları Esasları • Genel amaçlı uygulamalara göre farklı • Yönlendiriciler • Temel anahtarlar • WAN/LAN anahtarları • URL yük dengeleyiciler • VoIP ağ geçitleri • Güvenlik duvarları • Şifreleme uygulamaları içerir

  14. Ağ Uygulamaları Esasları • Gelen trafik paket başına baz alınır • Paket başlığı • Paket içeriği

  15. Ağ Uygulamaları Esasları • Örüntü Eşleştirme • Mantıksal değer çıktıdır, aramada kullanılır • Arama • Bir anahtarla, spesifik girdi aranır • Hesaplama • Ağır hesaplama yetisi • Veri Kotarma • Paket başlığı değiştirme, TTL azaltma • Kuyruk Yönetimi • Paket iptali, saklanması, trafik yönlendirme • Kontrol İşlemi • Tablo güncellemeleri, istatistikler

  16. Ağ Uygulamaları Genel Özellikleri • İşlevlerine göre 3’e ayrılır: • Veri yolu • Yüksek performans gerektiren işler • Veri iletimi, paket iletimi, sınıflandırılması, kuyruğa sokma ve zamanlama • Paket iptal edilmemeli  hızlı iletim • Bağımlılık yoksa  paralel işleme • Kontrol yolu • Daha az zaman kritik • Daha az paralellik gerektiren işler • Tablo idaresi, yönlendirme, sinyalleşme, politika yönetimi • Yönetim yolu • Daha az paralellik gerektiren işler • Sistemi başlangıç durumuna hazırlama/ayarlama ve yönetim protokolleri

  17. Ağ Protokol Tabakaları • 7 mantıksal tabaka söz konusu • Fiziksel • Veri bağı • Ağ • İletim • Oturum • Sunum • Uygulama

  18. Ağ Protokol Tabakaları • Yönlendirici ya da anahtarlar gibi yüksek hız gerektiren ekipmanlarda • İletim ve ağ tabakası fonksiyonlarını sistem adaptasyon tabakasına taşımak gereklidir • Dış Ortam tabakasının • Modülasyon ve demodülasyon gibi fiziksel tabaka fonksiyonlarını gerçekleştirmesi tercih edilmektedir

  19. Yoğun Veri ve Yoğun Dallanma • TL, ROUTE, DRR ve NAT gibi programlar • Çok fazla komut • Yönlendirme tablosunda gerçekleşen • Veri ağırlıklı • Ancak fazla dallanma (IPCHAINS/CRC  6)

  20. Paket Paralelliği • Paketler eşzamanlı ya da paralel işlenir • Komut ve iplik düzeyinde • Paket düzeyinde • Gelen paketler, işlenenlerden bağımsız • Bağımsız işletme birimlerinde eşzamanlı yürütme • Çok sayıda RISC çekirdek tek işlemcide • Paketler arası • Her paketin işlenmesi boyunca • Bir paketi işleme sokacak işler birbirinden bağımsız • 2.tabakada kaynak ve varış MAC adres kotarması eşzamanlı

  21. Paket Bağımlılığı • Doğru işlem için gerekli senkronizasyon • Paketlerin ardarda işlenmesi gerekince • Paketler bağımlı olabilir/olmayabilir • Statik kurallarla işlemekurallar değişmez, paketler bağımsız • Aynı TCP bağlantısında paketlerTCP durum düzenlenmesi, paketler bağımlı • Bağımlılık • Trafik yönetim sayaçları, yönlendirme veya adres dönüşüm tablolarında

  22. Aşılması Gereken Sorunlar • Güvenlikle alakalı işler • CPU yükü fazla • Paket Sınıflandırma • Veri yolu işlerinin ilk adımı • Tek alanlı  başlıkta tek bir alan: paket iletimi • Çok alanlı  başlıkta birçok alan: güvenlik duvarı, QoS uygulamaları • Derin paket sınıflandırma  paket başlık ve içeriği: sunucunun yük dengelemesi, saldırı tespiti, virüs tarama gibi içerik-bilinçli uygulamalar

  23. İçerik Bilinçli Uygulama Örneği • IP ve TCP ye ek olarak, uygulama verisi de incelenir • Daha iyi yük dengeleme ve kaynak yönetimi, hızlı cevap

  24. Ağ İşlemci Mimarileri Özellikleri • Cep Bellek Tasarımı • Hızlı paket sınıflandırma • Veri yükü ağır  paket içerikleri incelenir • Sık bellek erişimi • Yönlendirme tablosunda IP ile önek karşılaştırmaları • Yönlendirme tablosunda hızlı arama • Zamanda yöresellik gerekli • Doğru cep bellek tasarımı gerekli

  25. Ana Bellek Tasarımı • Paketler burada tamponlanır • Paket değiştirmede kullanılır • SRAM/DRAM ile gerçeklenir • Bant genişliği optimum seçilmeli(yüzlerce GB/s) • Kapasite artmalı(GB’lar mertebesinde) • Tasarım detaylı araştırma gerektirir

  26. Çok İplikli Mimariler • Bellek erişim gecikmelerini tolere eder • Tek bir işlemciyi birçok iplik ortak kullanır • Birçok ağ işlemcisi • Çok sayıda işlemci çekirdeği • Çok iplikli mimari kullanır • Çekirdekler paralel koşturulur • Zamanlama • Yazılımla • Donanımla sağlanır

  27. Çok İplikli Mimariler • Süperskaler • Çok iplik desteği yoksa • Iskada makine her saat çevriminde çalışmaz • Tüm işlemci bekletilir • İşlevsel birimler verimli kullanılmaz

  28. Çok İplikli Mimariler • Büyük İş Parçalı - Çok İplikli • Her saat çevriminde yalnız bir komut alınır • Kısa ve uzun süreli gecikmeleri gizler • Ancak işlenmeye hazır komutların işlenmesi yavaşlatılır • Çünkü diğer ipliklerden gelen komutlar işlenir • Tamamen boş işlere yer verilmez • Ancak bireysel saat çevrimlerinde uzun bekleme süreleri olabilir

  29. Çok İplikli Mimariler • Küçük İş Parçalı – Çok İplikli • Iska var ve gecikme uzunsa, on an işleyen iplik değiştirilir • İşlenmeye hazır iplikler yavaşlatılır • Diğer ipliklerin işlenmesi uzun sürer • Kısa süreli işlerde olumsuz • Kısa süreli ama sık gecikmeler  iş hattı başlama süresi uzar • Tamamen boş durumda bekleme süresi uzar • Her saat çevriminde boş kalma süresi uzar • Her çevrimde sadece bir komut işlenir

  30. Çok İplikli Mimariler • SMT • Tek çevrimde, birçok iplikten gelen birçok komut işlenir • İş yüküne hassas • Çok sayıda iplik, tek bir işlemcinin işlevsel birimlerini kullanır • Çatışma yoksa, kaynak kullanımı maksimum olur • Bağımlılık yoksa, paralellik sağlanır • Donanım kaynakları dinamik alınır  etkin kaynak kullanımı • Donanım tasarımında maliyetli değişim yok • Çok iplikli yapı • Bellek gecikmelerini saklar • Hızı arttırır

  31. Çok İplikli Mimariler • Temel süperskaler iş hatları değişmez • Sistem kaynakları olan • Bağımsız ipliklerin bağlamlarını saklayacak program sayaçları • Komut kuyrukları • Cep bellekler • TLB’ler • Dallanma öngörüleri iplikler tarafından paylaşılır

  32. Çok İplikli Mimariler • CMP • Aynı birim üzerinde • Tüm mimari kaynakları içeren • Çok sayıda basit tek iplikli işlemciler • Basit donanım  kolay tasarım ve optimizasyon • Donanım kaynakları statik olarak paylaştırılır • Uygulama ipliklere bölünebilirse  avantajlı • Intel IXP2800 • 17 tane 32 bitlik bağımsız çok-iplikli mikro makine ile Intel Xscale çekirdeği • IBM PowerNP • 16 tane basitleştirilmiş RISC piko işlemci ve bir PowerPC çekirdek

  33. Paket Bağımlılığına Çözümler • Yazılımsal çözüm • Kodda yazılım kilitleri • Bağımlı paketin işi bitene dek kaldırılmaz • Uygulanması zor  kod büyük, kod analizi ve kilidi doğru yerleştirmek zor • Ölümcül kilitlenmeler • Donanımsal çözüm • Performans düşebilir  tüm paketler ihtiyaç olsun/olmasın ardarda işlenir • Yazma ve okuma tabloları, aktif paket listesi, çatışma öngörü mantığı  kavramsal bir donanım çözümüdür

  34. Örneklerle Ağ İşlemcilerin Genel İhtiyaçları • Yönlendiriciler • En çok iş gören kısım • Çok çeşitli ağ ara yüzlerinden paket alır • İptal eder veya bir/birkaç ara yüze yollar • Paketler birçok yönlendiriciden geçerek internette yollarını bulur • Paketleri gerçekler • Web Anahtarları • Çeşitli parametre tabanlı farklı sunucu HTTP isteklerini karşılar • Yüksek bant genişliği gerektirir • Daha fazla durum içerir • Bağlantıları gerçekler

  35. Hızlı Yol – Yavaş Yol Kavramları • Veri ve kontrol düzeylerinin farklı ihtiyaçları karşılanır • Hızlı veya yavaş yola yönlendirirken • Varış adresleri ve portları değerlendirilir • İnceleme baz alınarak • Minimum ya da normal işleme tabi tutulacak olan paketler hızlı yola • Veri düzeyindeki işler • Sıra dışı ya da karmaşık işlemlerden geçecek paketlerse yavaş yola • Kontrol seviyesindeki işler

  36. Hızlı Yol – Yavaş Yol Kavramları • İşlenen paketler aynı ağ ara yüzüne ilerler • Esneklik kazanılır • Hızlı yol  FPGA, ASIC, yardımcı işlemci veya bir başka CPU tarafından • Yavaş yol  bir CPU • Basit ve zaman kritik uygulamaları donanım • Karmaşık algoritmaları yazılım düzeyinde

  37. Bir Ağ İşlemcisini Programlamak • Genel amaçlı işlemcilerden çok farklı belli özellikler içerir • Genel amaçlı uygulamalarda da kullanılabilir • Daha az kod içerir • Veriler arası daha az bağımlılık söz konusudur • Paketler yönlendirme tablolarının durumlarını değiştirmez • Bağımlılıklar • Yönlendirme protokol paketleri • İstisna ayarlama paketleri ile çözümlenir

  38. Intel IXP Ailesi • Mikro makine teknolojisi • Sakla ve ilet mimarisi • Yüksek paralel tasarım • Yüksek hızda veri işleme • Xscale teknolojisi • Kontrol düzeyinde entegre uygulama işleme • Veri yapılarını güncelleme ve yönetme • Dış ortam ve anahtarlama aygıtlarını kurma ve denetleme • Süper iş hattı teknolojisi sayesinde, çok aşamalı yüksek etkinlikte iş hattı sürme mimarisi

  39. Intel IXP Ailesi • IXA(Internet Exchange Architecture) yazılım taşınabilir tasarımı • Kolay kod geliştirme ve yeniden kod kullanımı • Modüler programlanabilir model: mikro makineler ve iplikler arasında en uygun uygulama bölmelenmesi • Optimum mikro makine kütüphaneleri ve araçları • Intel Xscale kaynak kod kütüphaneleri: birçok işlem ortamı arasında taşınılabilirlik • Edge & Access-IXP2400 • Core & Edge-IXP2800 • CPE-IXP425

  40. Intel IXP2400 Ağ İşlemci Mimarisi • XScale çekirdek • Saniyede 5.4 milyar işlem kapasitesi • Yazboz bellek, DRAM ve SRAM denetleyiciler • 4 er mikro makineden oluşan 2 küme • Her mikro makine • 8 izleğe kadar yürütebilir • 16 KB komut saklayabilir • Yerel bellekleri vardır

  41. Yeni Nesil Ağ İşlemci Mimarileri • Ağ uygulamaları için en iyi şekilde kullanılabilir • Yüksek işlem gücüne sahip • Yüksek iletim hızına sahip • Programlanabilir • Ölçeklenebilir olmalıdır

  42. Sonuç • Etkin yönlendirme tablosu cep tasarımı • Etkin paket tampon tasarımı • SMT ve CMP ye çok iplikli yapı entegresi ile paralellik sağlanabilir • Temel mikro mimari olacaklar • SMT  kaynak kullanımı etkin, performans yüksek, yaygın • CMP  az yer kaplar, birden fazla tek iplikli işlemci çekirdeği, çok alt ipliğe bölünebilirse • Gelecekteki ağ uygulamaları • Dallanma ve veri yükü ağır • Hesapsal yükü fazla olacaktır

  43. REFERANSLAR • [1] TKS LakshmiPriya, V.H. Prasad, D.Kannan, L.K. Singaram, G. Madhan, R.M. Sundaram, R.M. Prasad and R. Parthasarathi: Evaluating the Network Processor Architecture for Application-Awareness. By IEEE, 2007. • [2] C. Ostler, K. S. Chatha and G. Konjevod: Approximation Algorithm for Process Mapping on Network Processor Architectures. By IEEE, 2007. • [3] K. Yi and J. Gaudiot: Features of Future Network Processor Architectures, By IEEE, 2006. • [4] V. Ramamurthi, J. McCollum, C. Ostler and K. S. Chatha: System Level Methodology for Programming CMP based Multi-threaded Network Processor Architectures. By IEEE, 2005. • [5] L. Thiele, S. Chakraborty, M. Gries and S. Künzli: Design Space Exploration of Network Processor Architectures. By IEEE, 2002. • [6] P. Crowley, M. E. Fiuczynski, J. Baer and B. N. Bershad: Characterizing Processor Architectures for Programmable Network Interfaces. By 2000 International Conference on Supercomputing, May, 2000. • [7] X. Nie, L. Gazsi, F. Engel and G. Fettweis: A New Network Processor Architecture for High- speed Communications. By IEEE, 1999. • [8] Y. Jun: Network Processors http://www.ecs.umass.edu/ece/wolf/courses/ECE697J/Fall2002/presentations/ECE697J-02-11-12.pdf • [9] M. Kohler: Network Processor Overview http://www.netrino.com/Articles/NetworkProcessors/index.php • [10] Y. Lou: Network Processor Architecture and Applications http://faculty.uml.edu/yluo/Publications/CAR-seminar.pdf

  44. TEŞEKKÜRLER SORULARINIZ?

More Related