Çekirdek Yanılgısı – Artistanbul
Çekirdek Yanılgısı	Yazar: Oytun Eren Şengül
Kategori:Geleceği Yazanlar, Teknoloji, YazılımYorum Yok
Benim “çoklu görev yönetimi” olarak adlandırdığım, bazen çok görevli yürütüm olarak da geçen bu işleve, maalesef çoğu mobil işletim sistemi sahip değildir. iOS, Windows Phone ve Android, gerçek multitasking özelliğine sahip işletim sistemleri olmamalarına rağmen, her birinin bu duruma yakın çözümleri de mevcuttur (Bu arada hâlâ piyasada gerçek anlamda bu desteğe sahip bazı işletim sistemleri de mevcuttur; webOS, BlackBerry 10, MeeGo gibi). Aslında çift çekirdeğin asıl kullanım amacı ve uygulamadaki yansımalarını ele alacak olduğumuzda, ortaya hayli karışık bir durum da çıkmaktadır ki, bu durumu yazının devamında açıklamaya çalıştım.
Peki, Gerçekten Neden Çift Çekirdek Cihazlar?
Bu arada ilk çift çekirdek destekli Android cihazların 2010 yılı sonlarında hazırlanıp, 2011 yılı Şubat ayından itibaren piyasada yer ettiklerini ve ilk 4 çekirdekli cihazlarında 2011 yılında çıkarak hâlâ piyasanın hâkimi olduklarını belirtmekte fayda var. Artık bu durumu teknik olarak açıklamak epey güç, işin pazarlama boyutu ve tüketici yanılsamaları daha etkili.
Hiçbir işlemciyi salt frekans değerleriyle kıyaslayamayız. Hızı etkileyen birden fazla etmen vardır. Donanımsal açıdan sahip oldukları transistör sayıları, aralıkları, pinler ve daha birçok etmen…
Özellikle bugün mobil piyasanın büyük çoğunluğuna hakim olan ARM mimarisinin kendisi bile başlı başına optimizasyon harikasıdır. Kıyasladığımız mimari burada x86’nın güç tüketimi ve diğer mobil dezavantajları…
Donanımın kendini göstereceği platform yazılımdır. Kullanıcı elinde tuttuğunda hoşuna gidecek grafiklerde, sistemin geçişlerdeki hızı da, çoklu uygulamalar arası geçişlerde, hatta onlarca uygulama arası geçişte… Bunların hepsi yazılımın ve onun ne kadar optimize edildiğinin (hem kendi içinde hem de kullanılan donanıma) sonucudur (Çekirdeğin bazı noktalarda salt payı da vardır fakat bu kısımda, yazılımla çekirdek entegre düşünülmüştür).
Yazılımın kendisi, donanımın kendini gösterebilmesi için büyük önem taşır. Bu konuyla ilgili Qualcomm’da Ürünlerden Sorumlu Başkan Yardımcısı Talluri’de işlemcilerin performansa etkisi noktasında şöyle diyor: “Eğer tüm sistem verimli bir şekilde hazırlanmışsa, performans artışını gözlemleyebilirsiniz.”
Aynı konuda Microsoft Kıdemli Ürün Yöneticisi Greg Sullivan’da benzer şekilde, “Çoklu çekirdek desteği uygulamaların ona göre yazılmadığı bir dünyada bir anlam ifade etmezler” demiştir.
Bu konuyla ilgili bir diğer önemli değerlendirmede Intel Mobil ve İletişim Grubu Yöneticisi Mike Bell’den 2012 Haziran’da şu şekilde gelmiştir: “Şu an Android’e eklenmiş haliyle çoklu çekirdek desteği, efektif bir çalışma gösteremez ve bence bunun çözümü SoC üreticilerinin işidir ki, onların da bu durumu pek önemsediklerini düşünmüyorum.”
Test Sonuçlarında Durum Ne?
Benchmark testleri son kullanıcı için çoğu zaman işlevsellik açısında bir anlam ifade etmez ama son yıllarda iyi bir satış stratejisi olarak karşımızda duruyor. Bu yüzden popüler telefonlardan, aynı üreticinin hem 2 çekirdekli HTC One X LTE ve hem de 4 çekirdekli HTC One X+’ın Linpack test sonuçlarına bir bakalım.
Eğer konu makine puanlarıysa, bu testler çift çekirdekli One X’in birçok yönden 4 çekirdekli One X+’dan daha yüksek puanlar aldığını görüyoruz.
ARM11 mimarisiyle çalışan en son Android cihazlar 2.3 Gingerbread sürümüyle geliyordu. O zamanlar çıkan Android cihazlarının en büyük rakibi iPhone 3G idi ve o da ARM11 mimarisine sahipti. Benimde dahil olduğum gibi çoğu son kullanıcının, Android’in diğer bütün ek özelliklerine rağmen, iOS sisteminin birçok yönden verimliliği, sistemin akıcılığı ve kararlılığı dolayısıyla tercihlerini iPhone’dan yana kullandıklarını hepimiz hatırlarız. Zaten rakamlarda bu yönde. Peki o halde aynı donanımda cihazlar olmasına rağmen neden performans ve beklentileri karşılamada bir cihaz diğerine göre daha başarılı olabiliyor? Cevap işletim sisteminde.
Benim ARM11 mimarisiyle çalışan çok güzel bir cihazım daha var, Raspberry PI. Bu mini bilgisayar, 700Mhz hızında çalışan bir işlemci ve 512mb RAM ile geliyor. Bugün bu küçük bilgisayarımın yapabildiği çok az şeyi iPhone 3G ve diğer benzer Android’li cihazlar yapıyor ama şuan piyasada bulunan akıllı telefonların, o tüm donanım güçlerine rağmen, yapamadığı birçok şeyi bu küçük bilgisayarım yapabiliyor. (Üretim amaçları farklı olan bu cihazların örneklendirmeye katılmasının sebebi, benzer özellikleri üzerinden bir karşılaştırma yapmaktır; multitasking vb.) Bu nasıl mı oluyor? Cevap işletim sisteminde. İsterseniz üreticisinin önerdiği GNU/Linux dağıtımı Debian‘ı kullanın ya da benim yaptığım gibi Plan 9‘ı.
Bu duruma bir örnek daha verelim. Şahsi bilgisayarım bir netbook. 1.6Ghz hızında x86 Atom işlemcili. 1GB RAM‘i var. Bu donanımdaki netbookları kullanan arkadaşların, bu netbooklarla hız ve stabilite konusunda epey kötü hatıraları olabilir. Fakat bende onlardan hiç yok! Makinem son derece hızlı ve stabil çalışıyor. Hiç takılmadı?, kendisinden beklenenleri her seferinde aksatmadan başarıyla gerçekleştiriyor. Üstelik çoklu görev yönetimini de en iyi şekilde, donanımının izin verdiği ölçüde gerçekleştiriyor. Bu durum karşısında daha yüksek sistemli bırakın netbookları, telefonlar bile var artık. Ama bu kadar verimli çalışmıyorlar. Bugün netbook’umun yapamadığı bazı şeyleri akıllı telefonlar yapıyor, akıllı telefonların yapamadığı birçok şeyi netbook’um yapıyor. Bu nasıl mı oluyor? Cevap işletim sisteminde. Lubuntu adında son derece hafif bir GNU/Linux dağıtımı kullanıyorum, bu kadar.
Konuyla ilgili güncel bir örnek üzerinden gitmekte fayda var. Microsoft, Windows 8 platformuyla birlikte yeni bir ekosistem kurdu. Windows 8, Windows 8 RT ve Windows Phone 8 sistemlerini aynı Kernel (NT) üzerinde inşa ederek, ciddi bir başarıya imza attılar. Bunun mobildeki yansımasını ele alacak olursak, Windows Phone 8 platformu hazırlanırken, bazı önemli kurallar koydu. Üreticilerden sadece Snapdragon serisi işlemcileri kullanmalarını istedi ve platformunu da bu SoC üreticisinin mimarisine göre hazırladı. Üstelik Windows Phone 7 sonrası yeniden hazırlanan Kernel’i de böylece yeni nesil işlemcilere optimize edebilecek bir yapı kurdu. Bu size son derece stabil ve tatmin edici hızda bir donanım/yazılım üreticisini hatırlattı mı? Hani dünyada en çok satan?
Apple en başından beri, özellikle iOS’in gelişimi bu noktada takdir edilesi bir şekilde, sürekli mobile uygun çözümler geliştirdi. Ellerinde hazır Darwin Kernel’ini uzun zamandır küçük cihazlara ve dokunmatik deneyimlere uygun hale getirmeye yönelik, iOS çekirdeğinde üst katmanlara çıkıldıkça daha özel modifikasyonlara gidildi, sistemin stabilitesi ve kararlılığına olan bağlılık, ki bu uğurda hala bile bazı özelliklerin çoğu son kullanıcı ve geliştiriciler tarafından ısrarla dile getirilmesine rağmen sisteme eklenmemesi, gibi bir çok sebepten bu verimi yakalayabildiler.
Mobil Dünya’ya Geçiş ve İşlemcilerde Güç Tüketimi Önceliği
Eskiden geliştiriciler, Amerikan kas gücü arabalarına benzetebileceğimiz x86 mimarisinin o muhteşem gelişimine ve gücüne dayanarak, akıllarında bugünkü gibi bir optimizasyon düşünmeden geliştirdiler. Adeta petrol çoktu, 4.0lt v12 motoru 600 beygirle donatmanın kimseye bir zararı yoktu. Tabi bu durum sadece oyunlar için değil, bazı uygulamalar içinde geçerliydi.
Ancak hayat mobile gidiyor. En azından şuanda o x86’lar eskisi kadar yok, ARM var.
Çok önemli gelişmeler yaşanıyor. Nasıl ki, elektrikle çalışan spor/yarış arabaları çıkıyor, hem ARM kendini tabletlerde bile Call of Duty gibi oyunlar çalıştırabilecek seviyeye getiriyor, hem de Intel bu oyunları rahatça oynayabileceğiniz tabletlerin pillerini gün boyu (Intel Haswell) kullanılacak seviyede tutma yolunda ilerliyor. Yani işler bu cephede epey yerinde…
android, arm, blackberry, işletim sistemleri, kernel, multitasking, x86	Oytun Eren Şengül	Yorum Yok