Süper bilgisayar işletim sistemleri - Supercomputer operating systems

Bir süper bilgisayar işletim sistemi bir işletim sistemi yönelik süper bilgisayarlar. 20. yüzyılın sonundan bu yana, süper bilgisayar işletim sistemleri büyük dönüşümler geçirdi, çünkü temel değişiklikler süper bilgisayar mimarisi.[1] İlk işletim sistemleri hız kazanmak için her bir süper bilgisayara özel olarak uyarlanırken, eğilim şirket içi işletim sistemlerinden uzaklaşarak bir tür Linux,[2] tüm süper bilgisayarları çalıştırarak TOP500 Kasım 2017'de liste.

Bu modern göz önüne alındığında büyük ölçüde paralel süper bilgisayarlar genellikle hesaplamaları diğer hizmetlerden, birden çok tür düğümler, genellikle farklı düğümlerde farklı işletim sistemleri çalıştırırlar, ör. küçük ve verimli hafif çekirdek gibi Hesaplama Düğümü Çekirdeği (CNK) veya Compute Node Linux (CNL) hesaplama düğümlerinde, ancak daha büyük bir sistem Linux - sunucuda türevi ve giriş çıkış (G / Ç) düğümleri.[3][4]

Geleneksel çok kullanıcılı bir bilgisayar sistemindeyken iş planlaması aslında bir görev büyük ölçüde paralel bir sistemde işleme ve çevresel kaynaklar için sorun, iş yönetimi sisteminin hem hesaplama hem de iletişim kaynaklarının tahsisini yönetmesi ve on binlerce işlemci varken kaçınılmaz donanım arızalarını incelikle ele alması gerekir.[5]

Çoğu modern süper bilgisayar kullansa da Linux işletim sistemi,[6] her üretici kullandıkları Linux türevinde kendi özel değişikliklerini yapmıştır ve kısmen donanım mimarilerindeki farklılıklar işletim sistemini her donanım tasarımına göre optimize etmek için değişiklikler gerektirdiğinden herhangi bir endüstri standardı yoktur.[1][7]

Bağlam ve genel bakış

Süper hesaplamanın ilk günlerinde, temel mimari kavramlar hızla gelişiyordu ve sistem yazılımı genellikle hızlı dönüşler alan donanım yeniliklerini takip etmek zorunda kaldı.[1] İlk sistemlerde, işletim sistemleri hız kazanmak için her süper bilgisayara özel olarak uyarlanmıştı, ancak onları geliştirme acelesi içinde ciddi yazılım kalitesi zorlukları ortaya çıktı ve çoğu durumda sistem yazılımı geliştirmenin maliyeti ve karmaşıklığı en az sorun haline geldi donanım.[1]

Adresindeki süper bilgisayar merkezi NASA Ames

1980'lerde yazılım geliştirme maliyeti Cray donanıma harcadıklarıyla aynı hale geldi ve bu eğilim, şirket içi işletim sistemlerinden genel yazılımın uyarlanmasına geçişten kısmen sorumluydu.[2] İşletim sistemi değişikliklerindeki ilk dalga, satıcıya özel işletim sistemleri lehine terk edildiği için 1980'lerin ortasında geldi. Unix. Erken dönemdeki şüpheciliğe rağmen, bu geçiş başarılı oldu.[1][2]

1990'ların başlarında, süper hesaplama sistemi yazılımında büyük değişiklikler meydana geliyordu.[1] Bu zamana kadar, artan Unix kullanımı, sistem yazılımının görüntülenme şeklini değiştirmeye başlamıştı. Yüksek seviyeli bir dilin kullanılması (C ) işletim sistemini uygulamak ve standartlaştırılmış arayüzlere güvenmek, montaj dili geçmişin odaklı yaklaşımları.[1] Donanım satıcıları Unix'i sistemlerine uyarladıkça, Unix'e yeni ve kullanışlı özellikler eklendi, ör. Hızlı dosya sistemleri ve ayarlanabilir süreç planlayıcılar.[1] Ancak, Unix'i uyarlayan tüm şirketler, "süper bilgisayarlar için Unix" oluşturmak için bir endüstri standardı üzerinde işbirliği yapmak yerine, benzersiz değişiklikler yaptı. Bunun nedeni kısmen, mimarilerindeki farklılıkların Unix'i her mimariye göre optimize etmek için bu değişiklikleri gerektirmesiydi.[1]

Böylece genel amaçlı işletim sistemleri kararlı hale geldikçe, süper bilgisayarlar kritik sistem kodunu onlardan ödünç almaya ve uyarlamaya başladılar ve tekerleği yeniden icat etmek zorunda kalmadan onlarla birlikte gelen zengin ikincil işlevler setine güvenmeye başladılar.[1] Bununla birlikte, aynı zamanda genel amaçlı işletim sistemleri için kodun boyutu da hızla büyüyordu. Unix tabanlı kod 500.000 satır uzunluğuna ulaştığında, bakımı ve kullanımı bir zorluktu.[1] Bu, kullanıma geçişle sonuçlandı mikro çekirdekler işletim sistemi işlevlerinin minimum bir kümesini kullanan. Gibi sistemler Mach -de Carnegie Mellon Üniversitesi ve ChorusOS -de INRIA erken mikro çekirdek örnekleriydi.[1]

İşletim sisteminin ayrı bileşenlere ayrılması, süper bilgisayarlar farklı düğüm türleri geliştirdikçe gerekli hale geldi, örneğin, G / Ç düğümlerine karşı hesaplama düğümleri. Bu nedenle, modern süper bilgisayarlar genellikle farklı işletim sistemlerini farklı düğümlerde çalıştırır, örneğin küçük ve verimli hafif çekirdek gibi CNK veya CNL hesaplama düğümlerinde, ancak daha büyük bir sistemde Linux sunucu ve G / Ç düğümlerinde türevi.[3][4]

Erken sistemler

İlk Cray-1 (dahili öğelerle gösterilen örnek) hiçbir işletim sistemi olmadan müşteriye teslim edildi.[8]

CDC 6600, genellikle dünyadaki ilk süper bilgisayar olarak kabul edilen Chippewa İşletim Sistemi, daha sonra çeşitli diğer CDC 6000 serisi bilgisayarlar.[9] Chippewa oldukça basitti iş kontrolü öncekinden türetilen odaklı sistem CDC 3000 ama sonrasını etkiledi KRONOS ve DÜRBÜN sistemleri.[9][10]

İlk Cray-1 Los Alamos Lab'a hiçbir işletim sistemi veya başka bir yazılım olmadan teslim edildi.[11] Los Alamos, bunun için uygulama yazılımını ve işletim sistemini geliştirdi.[11] Cray 1 için ana zaman paylaşım sistemi olan Cray Zaman Paylaşım Sistemi (CTSS), daha sonra Livermore Laboratuarlarında doğrudan soyundan gelen Livermore Zaman Paylaşım Sistemi (LTSS), yirmi yıl öncesinden CDC 6600 işletim sistemi için.[11]

Süper bilgisayarların geliştirilmesinde, Cray'de yazılım geliştirme için 1980'lerin maliyetinin donanım maliyetlerine eşit olacak şekilde artmasıyla kanıtlandığı üzere, artan yazılım maliyetleri kısa sürede baskın hale geldi.[2] Bu eğilim, şirket içi ortamdan uzaklaşmanın kısmen sorumlusuydu. Cray İşletim Sistemi -e UNICOS sisteme dayalı Unix.[2] 1985 yılında Cray-2 UNICOS işletim sistemiyle birlikte gelen ilk sistemdi.[12]

Yaklaşık aynı zamanlarda EOS işletim sistemi tarafından geliştirilmiştir ETA Sistemleri kullanım için ETA10 süper bilgisayarlar.[13] Yazılmış Cybil Pascal benzeri bir dil Control Data Corporation EOS, süper bilgisayarlar için kararlı işletim sistemleri geliştirmedeki kararlılık sorunlarını vurguladı ve sonunda aynı makinede Unix benzeri bir sistem sunuldu.[13][14] ETA sistem yazılımı geliştirmekten öğrenilen dersler, yeni bir süper bilgisayar işletim sistemi geliştirmeyle ilişkili yüksek risk düzeyini ve geniş sistem yazılımı kitaplıkları tabanına sahip Unix'i kullanmanın avantajlarını içeriyordu.[13]

1990'ların ortalarında, eski işletim sistemlerine yapılan yatırımlara rağmen, trend Unix tabanlı sistemlerin kullanımına yöneldi ve bu da interaktif grafik kullanıcı arayüzleri (GUI'ler) için bilimsel hesaplama birden çok platformda.[15] A doğru hareket emtia işletim sistemi Linux geliştirmenin hızlı temposunu ve odaklanmasını benimsemenin önünde büyük bir engel olarak gören rakipler vardı.[16] Bir yazarın yazdığı gibi "Linux büyük olasılıkla yetişecektir, ancak artık büyük ölçekli sistemlerimiz var". Bununla birlikte, bu eğilim ivme kazanmaya devam etti ve 2005 yılına kadar neredeyse tüm süper bilgisayarlar bazılarını kullandı. Unix benzeri İŞLETİM SİSTEMİ.[17] Unix'in bu varyantları şunları içerir: IBM AIX, açık kaynak Linux sistemi ve diğer uyarlamalar UNICOS Cray'den.[17] 20. yüzyılın sonunda, Linux'un süper hesaplama pastasının en yüksek payına sahip olduğu tahmin ediliyordu.[1][18]

Modern yaklaşımlar

Mavi Gen / P süper bilgisayar Argonne Ulusal Laboratuvarı

IBM Mavi Gen süper bilgisayar kullanır CNK işletim sistemi hesaplama düğümlerinde, ancak değiştirilmiş bir Linux tabanlı çekirdek adlı G / Ç Düğüm Çekirdeği (MÜREKKEP ) G / Ç düğümlerinde.[3][19] CNK bir hafif çekirdek Her düğümde çalışan ve o düğümde tek bir kullanıcı için çalışan tek bir uygulamayı destekleyen. Verimli çalışma uğruna, CNK'nın tasarımı basit ve minimum tutuldu, fiziksel bellek statik olarak haritalandı ve CNK, programlamaya veya bağlam değiştirmeye ne gerek duyuyor ne de sağlıyor.[3] CNK bile uygulamıyor dosya G / Ç hesaplama düğümünde, ancak bunu ayrılmış G / Ç düğümlerine delege eder.[19] Bununla birlikte, Blue Gene'de birden çok hesaplama düğümünün tek bir G / Ç düğümünü paylaştığı düşünüldüğünde, G / Ç düğümü işletim sistemi çoklu görev gerektirmektedir, dolayısıyla Linux tabanlı işletim sisteminin seçimi.[3][19]

Geleneksel çok kullanıcılı bilgisayar sistemlerinde ve ilk süper bilgisayarlarda, iş planlaması gerçekte bir görev planlaması büyük ölçüde paralel bir sistemde işleme ve çevresel kaynaklar için sorun, iş yönetimi sisteminin hem hesaplama hem de iletişim kaynaklarının tahsisini yönetmesi gerekir.[5] Bir süper bilgisayarın farklı konfigürasyonlarında görev planlamasını ve işletim sistemini ayarlamak çok önemlidir. Tipik bir paralel iş planlayıcının bir ana planlayıcı bu, bazı bağımlı programlayıcılara başlatma, izleme ve kontrol etme talimatı verir paralel işler ve periyodik olarak işteki ilerleme durumu hakkında raporlar alır.[5]

Bazıları, ancak hepsi değil, süper bilgisayar zamanlayıcıları, iş yürütmenin yerelliğini korumaya çalışır. PBS Pro zamanlayıcı kullanılan Cray XT3 ve Cray XT4 sistemler, üç boyutlu üzerinde yerelliği optimize etmeye çalışmaz simit bağlantısı, ancak yalnızca mevcut ilk işlemciyi kullanır.[20] Öte yandan, IBM'in Blue Gene süper bilgisayarlarla ilgili planlayıcısı, görevleri aynı uygulamadan bir 8x8x8 düğüm grubunun bir veya daha fazla orta düzlemine atayarak yerellikten yararlanmayı ve ağ çekişmesini en aza indirmeyi amaçlamaktadır.[20] Slurm İş Yükü Yöneticisi planlayıcı, en uygun algoritmayı kullanır ve Hilbert eğrisi çizelgeleme görev atamalarının yerelliğini optimize etmek için.[20] Gibi birkaç modern süper bilgisayar Tianhe-2 Sistemdeki kaynaklar için çekişmeyi arabuluculuk yapan Slurm'u kullanın. Slurm açık kaynak, Linux tabanlı, oldukça ölçeklenebilir ve saat başına 100.000'den fazla işle sürekli iş hacmi ile bir bilgisayar kümesindeki binlerce düğümü yönetebilir.[21][22]

Ayrıca bakınız

Referanslar

  1. ^ a b c d e f g h ben j k l m Paralel Hesaplama Ansiklopedisi, David Padua 2011 ISBN  0-387-09765-1 sayfalar 426-429
  2. ^ a b c d e Bilen makineler: teknik değişim üzerine denemeler Donald MacKenzie 1998 tarafından ISBN  0-262-63188-1 sayfa 149-151
  3. ^ a b c d e Euro-Par 2004 Paralel İşleme: 10. Uluslararası Euro-Par Konferansı 2004, Marco Danelutto, Marco Vanneschi ve Domenico Laforenza tarafından ISBN  3-540-22924-8 sayfalar 835
  4. ^ a b Oak Ridge Ulusal Laboratuvarı Cray XT3'ün Bir Değerlendirmesi Sadaf R. Alam, ve diğerleri, International Journal of High Performance Computing Applications, Şubat 2008 cilt. 22 hayır. 1 52-80
  5. ^ a b c Blue Gene / L Supercomputer için Açık İş Yönetimi Mimarisi, Yariv Aridor ve diğerleri tarafından Paralel işleme için iş planlama stratejileri Dror G. Feitelson 2005 tarafından ISBN  978-3-540-31024-2 sayfalar 95-101
  6. ^ Vaughn-Nichols, Steven J. (18 Haziran 2013). "Linux süper bilgisayarları yönetmeye devam ediyor". ZDNet. Alındı 20 Haziran 2013.
  7. ^ "Top500 OS tablosu". Top500.org. Arşivlenen orijinal 2012-03-05 tarihinde. Alındı 2010-10-31.
  8. ^ Bilgisayarı hedeflemek: devlet desteği ve uluslararası rekabet Kenneth Flamm 1987 tarafından ISBN  0-8157-2851-4 sayfa 82 [1]
  9. ^ a b Kanada'da bilgisayar devrimi John N.Vardalas 2001 tarafından ISBN  0-262-22064-4 sayfa 258
  10. ^ Bir bilgisayarın tasarımı: Control Data 6600 James E. Thornton, Scott, Foresman Press 1970 sayfa 163
  11. ^ a b c Bilgisayarı hedeflemek: devlet desteği ve uluslararası rekabet Kenneth Flamm 1987 tarafından ISBN  0-8157-2851-4 sayfa 81-83
  12. ^ Lester T. Davis, Güç dengesi, Cray Research donanım mimarilerinin kısa bir tarihi J. J. Dongarra 1995 "Yüksek performanslı hesaplama: teknoloji, yöntemler ve uygulamalar" ISBN  0-444-82163-5 sayfa 126 [2]
  13. ^ a b c Lloyd M. Thorndyke, ETA Sistemlerinin Ölümü "Frontiers of Supercomputing II, Karyn R. Ames, Alan Brenner 1994 ISBN  0-520-08401-2 sayfalar 489-497
  14. ^ Geçmiş, şimdiki, paralel: mevcut paralel bilgisayar sistemlerinin bir araştırması Arthur Trew 1991 tarafından ISBN  3-540-19664-1 sayfa 326
  15. ^ Süper Hesaplamanın Sınırları II Yazan: Karyn R. Ames, Alan Brenner 1994 ISBN  0-520-08401-2 sayfa 356
  16. ^ Brightwell, Ron Riesen, Rolf Maccabe, Arthur. "Büyük Ölçekli, Dengeli Bilgi İşlem Sistemleri İçin Emtia İşletim Sistemlerinin Uygunluğu Hakkında" (PDF). Alındı 29 Ocak 2013.CS1 bakım: birden çok isim: yazarlar listesi (bağlantı)
  17. ^ a b Hızlanmak: Süper bilgisayarların geleceği Susan L. Graham, Marc Snir, Cynthia A. Patterson, Ulusal Araştırma Konseyi 2005 ISBN  0-309-09502-6 sayfa 136
  18. ^ Forbes dergisi, 03.15.05: Linux Kuralları Süper Bilgisayarları
  19. ^ a b c Euro-Par 2006 Paralel İşleme: 12. Uluslararası Euro-Par Konferansı, 2006, Wolfgang E.Nagel, Wolfgang V.Walter ve Wolfgang Lehner ISBN  3-540-37783-2 sayfa
  20. ^ a b c Paralel İşleme için İş Planlama Stratejileri: Eitan Frachtenberg ve Uwe Schwiegelshohn 2010 tarafından ISBN  3-642-04632-0 sayfalar 138-144
  21. ^ SchedMD'de SLURM
  22. ^ Jette, M. ve M. Grondona, SLURM: Kaynak Yönetimi için Basit Linux Yardımcı Programı ClusterWorld Konferansı Bildirilerinde, San Jose, California, Haziran 2003 [3]