Bilimsel Hesaplama ve HPC'de Mac OS'nin Durumu


17

OS X'in başlangıcına geri dönünce, en azından Mac dünyasında (o zaman bilimsel hesaplamalara yakın bir yerde değildim) Mac OS hakkında bilimsel bilgi işlem ve HPC uygulamaları için bir platform olarak büyük bir hubbub var gibiydi.

XGrid kutudan çıktı, Virginia Tech süslü Mac tabanlı bilgi işlem kümesine sahipti, Stanford harika şeyler yapıyordu vb.

Ancak son zamanlarda işler sessiz kaldı. Macresearch.org sitesi aslında spamcı zombilerle dolu bir hayalet kasaba, XServe öldü ve pazarlama literatürünün ve benzerlerinin büyük bir kısmı Intel öncesi işlemci alanından bile görünüyor. Ancak XGrid hala orada, tüm * nix OS desteği var ve platform Python, R ve bazı yeni diller arasında iyi bir desteğe sahip gibi görünüyor.

Yani, benden daha fazla şey bilen insanlardan ... OS X ne kadar? Bilimsel hesaplama için uygun istemci tarafı bilgisayarlar mı? Onları sunucu / küme / vb olarak kullanıyor. XGrid veya benzeri bir şey aracılığıyla sadece bir yenilik uygulaması?


Aşağı seçmen, neden aşağı oy kullandığınız hakkında yorum yapabilir mi?
Geoff Oxberry

Meh. Bu, İyi subjetive, kötü öznel satışta korkunç değil , ama yine de benim için hiçbir şey yapmıyor. Endişe ettiğim kadarıyla cevap şu: Kutunun dışında unix, ancak UI'nin kritik olmadığı yerler için çok pahalı.
dmckee --- eski moderatör yavru kedi

@dmckee: Evet, görebiliyordum. Sanırım birçok insan seninle aynı fikirde olacak. Benim için sorun o kadar basit değildi çünkü donanım arızalarından bıktım ve o zaman bile hala sanal bir makinede Linux çalıştırıyorum. İş akışının çoğunlukla OS X olmasını seven insanlarla karşılaştım, bu yüzden niş bir topluluk için makul bir soru olduğunu düşünüyorum. Hesaplamalı Bilimin birkaç soru daha kullanabileceğini ve birden çok açıdan yanıt vermenin insanlara bilimsel hesaplamada hangi araçları kullandığımız hakkında fikir vermelerinde yardımcı olacağını düşünüyorum.
Geoff Oxberry

@dmckee Ve Apple'ın pişirdiği bazı şeylerin işletim sistemlerini kullanmak için gerçekten canlı ve zorlayıcı bir neden yaratmadığı geçerli bir cevap olduğunu düşünürdüm.
Fomite

Soru aynı zamanda donanım sorularını ServerFault'tan ayırabilecek bazı "bilimsel bilgi işlem yapma" türündeki soruları araştırmaktı.
Fomite

Yanıtlar:


12

Şeylerin sunucu tarafında yorum yapamam.

Müşteri tarafında, her yıl gittiğim bir hesaplamalı bilim toplantısında, Mac kullanıcılarının oranı artmış gibi görünüyor. Bir Mac'e geçtim, çünkü okul tarafından sağlanan Dell dizüstü bilgisayarımın bir şapka düşmesinde başarısız olmaktan yoruldum. Donanım için Mac'lere geçtim, çünkü Tüketici Raporları dayanıklılık açısından yüksek puan verdi. Üzerinde Linux çalıştırmazsanız Mac'lerin bilimsel hesaplama için iyi olduğunu düşünmüyorum. Donanım için Linux desteği gecikme eğilimindedir; genellikle, desteklenmeyen kablosuz karttır (her yeni modelde değiştirdiklerinde). Sanal bir makine çalıştırmanın getirdiği kaynak cezasını kabul etmek istiyorsanız, bu çekici bir seçenektir (ve şahsen kullandığım).

Mac'ler, ciddi bilimsel hesaplama yapmadan önce çok sayıda kitaplık ve yazılım paketi yüklemenizi gerektirir. Mac yükleyicisi olan her şeyi yönetmek kolaydır, bu nedenle Matlab, Mathematica, Maple, Python vb. İle geliştirme çalışmalarınızın çoğunu yaparsanız, bu yazılımı OS X'e yerel olarak yüklemek ve çalıştırmak kolaydır. Mac yükleyicisine sahip sert çekirdekli sayısal yazılımı izlemek daha zordur (PETSc veya CLAWPACK gibi şeyler düşünün). MacPorts ve Fink gibi paket yöneticileriyalnızca OS X kullanmak istiyorsanız duruma yardımcı olabilir. Ayrıca birçok paketi kaynaktan derlemeniz gerekir. Kodunuzu başka bir yerde çalıştırmak istiyorsanız, uyumluluk sorunlarına dikkat etmeniz gerekir. Linux bilimsel hesaplamada yaygın olarak kullanıldığından, taşınabilirlik açısından Linux'ta kod geliştirmek daha kolaydır.

Bir Mac üzerinde bir geliştirme ortamı kurmanın kıçta büyük bir acı olduğunu anladım, diğerlerinden çok kötü olmadığını söylediler. Kilometreniz değişebilir.


1
Aşağıya oy verdim: Mac'te bilimsel bilgi işlem için Linux'a göre daha karmaşık bir şey nasıl kurulur? Elbette Linux CAE'den başlıyorsanız, çoğu yerleşiktir, ancak diğer dağıtımların çoğu için paketleri indirmeniz ve / veya kaynaklardan oluşturmanız gerekir. Yine de özel gereksinimleriniz ve / veya maksimum performansınız için kütüphaneleri değiştirmek isteyebilirsiniz. Bununla birlikte, Mac OS, donanımdan bağımsız olarak işletim sistemini lisanslamadığı sürece üniversitelerde büyük ölçekte benimsenmekte zorlanacaktır (olması gerektiği değil). Ekstra maliyeti nasıl haklı çıkaracağınızdan emin değilsiniz ...
FrenchKheldar

4
FrenchKheldar: Yazılım oluştururken bir Mac'e yüklenmesi gereken bir çok yardımcı şey var (bunu bir Macbook Pro'ya yazıyorum) - çok sayıda kütüphane ve araç - sadece bir apt-get veya yum yüklemesi linux kutusu, daha yeni derleyiciler, daha yeni bir python, vb. gibi daha büyük öğelerden hiçbir şey söylemek için. Geliştirme ortamınızda ne istediğinize bağlı olarak, Mac'te daha zor olabilir ve aslında daha zor olabilir. OTOH, sen Xcode olsun ...

2
Bu var oldukça bu sıfırdan aynı kodu derlemek için olandan bir paket yöneticisinden şey yüklemeye daha kolay. En iyi ./configure && make && make installihtimalle basit , ama en kötüsü, komut dosyalarını, bayrakları ve kütüphane konumlarını sıralamak için bir labirent olabilir. PETSc 3.2'yi bir Debian paketinden yüklemek 5 saniye sürdü (bunu bazı geliştiricilerin isteği doğrultusunda bile yaptım); Linux'ta kaynağından kurmak çeşitli seçenekler ile bütün gün sürdü. Mesele şu ki, paketler ve yükleyicilerin Linux için yaptıkları zaman Mac için var olmaları gerekmiyordu (ve Linux'un kullanımını kolaylaştırıyorlar).
Geoff Oxberry

Ayrıca Mac'lerle havada asılı duran "sadece kararlı" dev bir sıkıntı var, en azından onunla birkaç kez savaşmak zorunda kaldım. Şahsen yaşadığım iyi bir örnek, bir pthread denilen kodun içinde OpenMP pragmaları varsa, bir uygulamayı sadece düpedüz bir çarpışma ve yanık yapan bir GCC hatasıdır. Aslında kullanılabilir olduğundan beri sadece ICC'yi kullanıyorum ve destekledim, çünkü o Mac'teki GCC'yi değiştirmekten daha kolaydı. Mac'te tarih öncesi sürümleri olan (en az birkaç yaşında) başka kütüphaneler gördüm.
TC1

13

@Geoff iyi bir cevap veriyor, ancak bence alternatif bir bakış açısı sunmaya değer.

Mac'te her şeyi yapıyorum - OS X'de, Linux VM'de değil - birçok bilimsel kod geliştirme dahil. Çoğunlukla Fortran ve Python'da çalışıyorum. Benim için,

  • tüm işlerimi tek bir işletim sisteminde yapabilmek ve
  • neredeyse hiçbir zaman donanım arızaları veya sürücü sorunları ile uğraşmaz

Mac'e özgü baş ağrılarının maliyetine değer.

Üç ana baş ağrısı:

  1. İşletim sistemi standartında bir paket yöneticisinin olmaması. Bir zamanlar Fink'i kullandım, ama sonunda daha fazla baş ağrısına yol açtı ve şimdi modası geçmiş. Macports ve Homebrew hakkında iyi şeyler duydum, ama Fink ile yaşadığım deneyim beni sadece "kendiminkini yuvarlamaya" ikna etti.

  2. Yerleşik yazılımların bazıları çok eski. Özellikle, Python ve gcc. Bu, güçlük yaratabilecek kendi güncellenmiş sürümlerinizi yüklemeniz gerektiği anlamına gelir.

  3. Apple bir Fortran derleyici içermiyor!

Bana öyle geliyor ki Apple, Unix tabanlı güç kullanıcılarına gittikçe daha az dikkat ediyor. Bu arada, Linux gelişmeye devam ediyor. Sonunda muhtemelen Linux'a geri itileceğim. Ama Macbook'umu başka biri nasıl iyi piller yapacağını öğrenene kadar saklayacağım.


1
Mac bilgisayarımda (derleyiciler, kütüphaneler) bilimsel bilgi işlem ortamım MacPorts tarafından% 99'a sağlandı. Mükemmel değil, ancak manuel kurulumu kolayca atıyor. Tabii ki işinizi yapmak için ne kadar yüklemeniz gerektiğine bağlı.
khinsen

9

Mac'in hesaplama bilimcileri için hesaplama bilimine göre daha iyi bir ortam olduğunu iddia ediyorum . Mac'leri bir meta bilgi işlem ortamında kullanmak istemezdim; donanım, nispeten, bunun için çok pahalı. Yazılım ortamını belirli bir paket için gereken koşullara uydurmak acı verici olabilir, ancak genellikle ilk kez anladıktan sonra, karşılaştırılabilir bir Windows kurulumundan çok daha kolaydır. (Ve paket yöneticilerine bağlı olarak Linux kadar kolay olabilir. MacPorts, OS X için bir yönetici olarak oldukça iyi bir iş çıkarıyor!)

Bununla birlikte, yoğun bir hesaplamalı bilim adamı için bir çalışma platformu olarak, Mac'in "ciddi" iş için bir Linux kutusunu korumak yerine, tek bir bilgisayar ortamında çalışabilme ve bakım yapabilme ek bonusunu sunduğuna inanıyorum. diğer disiplinlerde çalışan meslektaşlarım bana (örneğin) biçimlendirme gerektiren Office dosyaları gönderdiğinde başka bir makineye ihtiyaç duyuyorlar ya da sadece LibreOffice'i kullanarak doğru biçimlendirmeyecek ve olacak RTF şablonu olarak kullanılabilen bir Üniversite formu doldurmam gerekiyor LaTeX'te yeniden yaratmak için boyunda bir ağrı. (Önceki işlerde, Linux sahiplerinin hemen hemen Linux olmayan bir makineye sahip olmaları gerekiyordu, çünkü şirket ortamına az ya da çok talep edildi. Mac sahiplerinin gerçekten ikinci bir makineye ihtiyaçları yoktu.)

Buna ek olarak, Mac-yalnızca birkaç program vardır (gibi TextMate , Scrivener , Papers , Things , OmniFocus veya BibDesk PC veya Linux üzerinde daha işi yapmak için de çok daha hoş bir ortam Mac olun). Kendimi, işlerimi yapmaya odaklanmak, yazılım ortamının istediğim şeyi (ya da ihtiyaç duymak!) Yapmasını sağlamak için ne yapmam gerektiğinden daha fazla zaman harcadığını düşünüyorum.


5

HPC ve bilimsel hesaplamada OS X kullanımı düşüktür ve alternatif olarak OS X'in artıları ve eksileri ile çok şey yapmak zorundadır (Linux)

OS X Artıları:

  • Cilalı kullanıcı arayüzü; hala * nix
  • MS Office, Adobe programları gibi Masaüstü / Tasarım uygulamaları iyi destekleniyor
  • Multimedya çok iyi destekleniyor
  • Apple ekosistemini (iPhone, iTunes vb.)

OS X Eksileri:

  • Pahalı donanımlarla çalışır ve herkes Macbook'ları sevmez, özellikle Thinkpad'lerde kullanılan insanlar (klavye + izleme noktası)
  • Masaüstü / kümede donanım yükseltilemiyor (örn. CUDA uygulamanızla en son NVIDIA kartı denemek istiyorsanız)
  • Özelleştirilemeyen şişirilmiş GUI (Linux'ta minimalist bir pencere yöneticisi kullanabilirsiniz)
  • Macports / Fink'teki mgmt paketi, Linux (Debian) dağıtımlarına kıyasla daha düşüktür. Çoğu paket aktif olarak bakım yapılmaz veya yetim kalmaz
  • Bazı kullanışlı araçlar / programlar geleneksel olarak OS X üzerinde çalışmadı veya hala çalışmıyor. Örneğin ...

    1. Sun Studio hala çalışmıyor
    2. Valgrind sadece son zamanlarda çalışmaya başladı ve tüm özellikler desteklenmiyor
    3. Intel derleyicileri de son yıllarda mevcut
    4. Apple bir Fortran derleyicisini bile paketlemez ve yalnızca belirli OS X sürümlerinde (bireyin sahip olduğu) çalışan ikili dosyalar oluşturmak için 3. tarafa (çoğunlukla bireyler) güvenmeniz gerekir. Bu tür durumlarda destek nadirdir veya mevcut değildir
    5. Ticari bilimsel uygulamalar (ABAQUS, ANSYS, FLUENT ve petrol / finans / engg vb. Gibi birçok sektörde) OS X'te (yerel olarak) çalışmaz

Linux (Debian) Artıları:

  • Birinci sınıf paket yönetimi yani derleyicilerin kurulumu, çoğu sayısal / bilimsel kütüphane vb.
  • Fink / Macports'tan farklı olarak paketler çok daha iyi destekleniyor (Debian'da kanama kenarı / test / kararlı versiyonlar kullanma seçeneğiniz var)
  • Çoğu küme Debian / Red Hat'ın bazı sürümlerini çalıştırır.

Linux (Debian) Eksileri:

  • Standart kullanıcı arayüzü yok
  • Masaüstü / dizüstü bilgisayarlardaki Linux, her şeyi (askıya alma / devam ettirme, 3D video hızlandırma, ses vb.) Çalıştırmak için bazı ayarlamalar gerektirebilir, ancak bu son yıllarda çok gelişti

Bazı istisnaları ortadan kaldırmak, çoğu kullanıcı ve küme / sistem yöneticisi OS X'i masaüstü verimliliği için daha kolay ve bilimsel bilgi işlem için (derleme, kullanma, geliştirme) DEĞİL bulmaktadır.

OTOH çoğu Linux kullanıcısı ikincisini eskisinden daha kolay bulur ve bu da tüm HPC / bilimsel bilgi işlem ekosistemine yansır.


OS X: gprof üzerinde çalışmayan yararlı araçlar listenize ekleyin.
David Ketcheson

ThinkPad başvurusu beni kıkırdadı. Şu anda bölünmüş bir Apple / Lenovo ev
halkıyız

@DavidKetcheson, bunun nedeni OS X'in Aletleri (eski adıyla Shark) olmasıdır.
Aron Ahmadia

3

Yıllardır masaüstünde (ve dizüstü bilgisayarda) Mac'lerden başka hiçbir şey kullanmıyorum, diğer şeylerin yanı sıra bilimsel bilgi işlem ve bilimsel yazılım geliştirme yapıyorum. Diğerlerinin belirttiği gibi, donanımın kalitesi, Mac'e özgü yazılımların yüksek kalitesi ve gerektiğinde Word ve Excel'i işleme yeteneği, Mac'i günlük kullanım için çok güzel bir platform haline getirir.

Bir süredir deneme olarak Mac tabanlı bir işlem kümesi çalıştırıyorum. Bu, tekrar yapmaya cazip olmadığım bir deney. Bir Linux kümesiyle karşılaştırıldığında, yine de masaüstünde Mac'leriniz varsa yazılım yüklemesinin kolaylığı dışında önemli bir avantaj görmüyorum (sadece aynı şeyleri yükleyin). Dezavantajlar açıkça ortaya çıkıyor, en önemlisi uygun çok kullanıcılı GUI desteğinin olmaması. Mac bilgisayarlarda, bir makine bir ekrana ve en fazla bir giriş yapmış kullanıcıya eşittir. Bu, GUI tabanlı araçları kullanmak için acı verir. Bununla karşılaştırıldığında, Linux altındaki düz X-pencereleri bile kullanmaktan zevk alıyor ve daha da iyisini yapmak için VNC ve NoMachine NX var.

Evet, Mac'in X pencerelerini desteklediğini biliyorum, ancak Mac için çoğu GUI programı yerel arayüzü kullanıyor.


Mac tabanlı bir küme çalıştırma konusundaki bilgiler için teşekkür ederiz. Ne tür GUI araçları eksik buluyorsunuz?
Fomite

Mac için X-window tabanlı bir yazılım yükleyerek bilim için GUI araçlarının çoğunu alabilirsiniz, ancak bu çok iş. Diğer uçta, Mac GUI'nin bir kullanıcı = bir makine = bir ekran temel sınırlamasını kabul etmedikçe, özel yazılımların (örneğin Mathematica) uzaktan çalışmasını sağlama şansınız yoktur. Mac'e özgü yazılımı ne kadar çok istersen, GUI sorunu o kadar fazla engellenir.
khinsen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.