Стан Mac OS у науковому обчисленні та HPC


17

Повернувшись до світанку OS X, здавалося, було дуже багато гомін, принаймні в світі Mac (я тоді ніде не був поблизу наукових обчислень) щодо Mac OS як платформи для наукових обчислень та додатків HPC.

XGrid вийшов з коробки, Virginia Tech мали свої вигадливі комп'ютерні кластери на основі Mac, Стенфорд робив круті речі тощо.

Проте нещодавно все було тихо. Сайт Macresearch.org - це фактично місто-привид, наповнений зомбі-спамером, XServe мертвий, і дуже багато маркетингової літератури тощо, схоже, навіть з області процесорів, що перебувають до Intel. Але XGrid все ще є, вся * nix OS лежить в основі, і платформа, здається, має гідну підтримку серед Python, R та деяких нових мов.

Отже, від людей, які знають про це більше, ніж я ... як тарифи на OS X? Чи є життєздатними комп'ютери на базі клієнта для наукових обчислень? Використовує їх як сервер / кластер / тощо. через XGrid чи щось подібне просто додаток новинки?


Чи не могли б проголосити проголосили, чому ви проголосували?
Джефф Оксберрі

Мех. Це не є жахливим для Хорошого суб'єктивного, поганого суб'єктивного продажу, але він все ще нічого не робить для мене. Що стосується мене, то відповідь така: це Unix поза коробкою, але занадто дорого коштує для місць, де інтерфейс користувача не є критичним.
dmckee

@dmckee: Так, я міг це бачити. Я думаю, що багато людей погодиться з вами. Для мене це питання було не таким простим, тому що я втомився від збоїв у апаратному забезпеченні, і навіть тоді я все ще запускаю Linux у віртуальній машині. Я стикався з людьми, яким подобається, що їх робочий процес є в основному ОС X, тому я думаю, що це розумне питання для нішевої спільноти. Я також вважаю, що обчислювальна наука може використати ще кілька запитань, і відповіді з різних точок зору були б корисними для того, щоб дати людям уявлення про те, якими інструментами ми користуємось у наукових обчисленнях.
Джефф Оксберрі

@dmckee І я вважаю, що правдива відповідь - що деякі речі, які Apple випікав, не породили дійсно яскравих і переконливих причин використовувати їх ОС.
Фоміт

Питання також було спробою вивчити деякі питання типу "проведення наукових обчислень", які можуть відрізняти апаратні питання від ServerFault, використовуючи таке, де я і зацікавлений, і справді не знаю відповіді.
Фоміт

Відповіді:


12

Я не можу коментувати серверну сторону речей.

Що стосується клієнта, на одній зустрічі з обчислювальної науки, на яку я відвідую щороку, частка користувачів Mac, схоже, зросла. Я перейшов на Mac, тому що мені набридло мати справу з моїм ноутбуком Dell, який вийшов з ладу при падінні шапки. Я перейшов на Macs для обладнання, в першу чергу, оскільки Consumer Reports оцінив їх високо за довговічністю. Я не думаю, що Macs корисні для наукових обчислень, якщо ви не запускаєте Linux на них. Підтримка апаратури Linux для апаратури має тенденцію до відставання; зазвичай це не підтримується бездротова карта (коли вони змінюють її в новій моделі). Якщо ви готові прийняти ресурсне стягнення, яке постачається за допомогою віртуальної машини, це привабливий варіант (і той, який я особисто використовую).

Маки вимагають встановити багато бібліотек та програмних пакетів, перш ніж робити серйозні наукові обчислення. Все, що має інсталятор Mac, легко керувати, тому, якщо ви робите більшу частину роботи над розробкою з Matlab, Mathematica, Maple, Python тощо, встановити та запустити це програмне забезпечення на OS X легко. Складніше відстежити числове програмне забезпечення з жорстким ядром, яке має інсталятор Mac (подумайте, такі речі, як PETSc або CLAWPACK). Менеджери пакунків, такі як MacPorts і Finkможе допомогти ситуації, якщо ви хочете використовувати лише OS X. Вам також доведеться скласти багато пакетів з джерела. Якщо ви хочете запустити свій код де завгодно, вам доведеться стежити за проблемами сумісності. Оскільки Linux користується широким використанням у наукових обчисленнях, розробляти код у Linux простіше з точки зору портативності.

Я чув анекдотично від друзів, що дуже впевнено ставляться до того, що створити середовище розробки на Mac - це величезна біль у попці, інші сказали, що це не так вже й погано. Ваш пробіг може відрізнятися.


1
Я вниз проголосував: Як встановити що-небудь для наукових обчислень на Mac складніше, ніж на Linux? Звичайно, якщо ви почнете з Linux CAE, більша частина його вбудована, але для більшості інших дистрибутивів вам доведеться завантажувати пакети та / або створювати з джерел. Які ви все ще хочете все-таки налаштувати бібліотеки під ваші конкретні потреби та / або максимальну продуктивність. Якщо говорити, Mac OS буде важко прийнятий у великих масштабах у університетах, доки вони не ліцензують ОС незалежно від обладнання (не те, що слід). Не впевнений, як ви можете виправдати додаткову вартість ...
FrenchHheldar

4
FrenchKheldar: Існує багато допоміжних речей, які потрібно встановити на Mac (я пишу це на Macbook Pro) під час створення програмного забезпечення - безліч бібліотек та інструментів - які є лише влучним доступом або іншим встановленням на Linux box, не кажучи вже про більші елементи, як-от новіші компілятори, новіший python тощо. Ось чому є порти та homebrew, але ці речі все ще не завжди встановлюються чисто, і не всі пакети є в обох. Залежно від того, що ви хочете у вашому середовищі розробників, на Mac це може бути, а насправді складніше. OTOH, ви отримуєте Xcode ...

2
Це значно простіше встановити що - то з менеджера пакетів , ніж компілювати той же код з нуля. У кращому випадку це простий ./configure && make && make install, але в гіршому випадку це лабіринт впорядкування скриптів, прапорів та місць розташування бібліотеки. Установка PETSc 3.2 з пакета Debian зайняла у мене 5 секунд (я навіть робив це за бажанням деяких розробників); встановлення його з джерела в Linux займало цілий день з різними параметрами. Справа в тому, що пакети та інсталятори не обов'язково існують для Mac, коли вони роблять для Linux (і вони полегшують роботу Linux).
Джефф Оксберрі

Існує також величезне роздратування "єдиного стабільного", що висить у повітрі з Маками, принаймні мені довелося боротися з цим кілька разів. Хороший приклад, який я особисто мав, - це помилка GCC, яка зробила додаток просто прямо-таки вийти з ладу, якщо у вас був внутрішній код OpenMP, який викликається з pthread. Насправді я просто використовував та підтримував ICC, оскільки він був доступний, тому що це було просто простіше, ніж змінювати GCC на цьому Mac. Є маса інших бібліотек, яких я бачив на Mac, які мають доісторичні версії (ну, принаймні, пару років).
TC1

13

@Geoff дає хорошу відповідь, але я думаю, що варто надати альтернативну перспективу.

Я роблю все на Macs - в OS X, а не в VM Linux - включаючи безліч розробок наукового коду. Я здебільшого працюю у Фортран і Пітон. Для мене зручність

  • вміючи виконувати всю свою роботу в одній ОС і
  • майже ніколи не мають справу з несправностями обладнання або проблемами з драйверами

коштує вартості головних болів, характерних для Mac.

Три головні болі:

  1. Відсутність стандартного менеджера пакунків для ОС. Колись я використовував Fink, але з часом це призвело до ще більших головних болів і тепер застаріло. Я чула хороші речі про Macports та Homebrew, але мій досвід роботи з Фінком переконав мене просто "катати своє".

  2. Частина вбудованого програмного забезпечення дуже застаріла. Зокрема, Python та gcc. Це означає, що вам потрібно встановити власні оновлені версії, що може скласти клопот.

  3. Apple не включає компілятор Fortran!

Мені здається, що Apple приділяє все менше уваги своїм споживачам живлення на базі Unix. Тим часом, Linux постійно вдосконалюється. Врешті-решт мене, мабуть, відсунуть в Linux. Але я буду тримати свій Macbook, поки хтось інший не навчиться робити пристойні батареї.


1
Моє наукове обчислювальне середовище на моєму Mac (компілятори, бібліотеки) забезпечує 99% MacPorts. Це не ідеально, але він легко перемагає ручну установку. Звичайно, багато що залежить від того, скільки потрібно встановити, щоб виконати роботу.
хінсен

9

Я б заперечував, що Mac є кращим середовищем для вчених- обчислювачів, ніж для обчислювальної науки . Я не хотів би використовувати Маки в обчислювальному середовищі для товарів; апаратне забезпечення, порівняно кажучи, занадто дороге для цього. Підвищити програмне середовище може так, щоб він відповідав умовам, необхідним для певного пакету, але зазвичай, коли ви це зрозуміли вперше, це набагато простіше в обслуговуванні, ніж порівнянна установка Windows. (І, залежно від менеджерів пакетів, це може бути так само просто, як Linux. MacPorts справді добре працює як менеджер для OS X!)

Однак, як робоча платформа для зайнятого вченим-обчислювачем, я вважаю, що Mac пропонує додатковий бонус за можливість працювати та підтримувати в єдиному обчислювальному середовищі, а не потребувати підтримання скриньки Linux для "серйозної" роботи, і все-таки мені потрібно мати іншу машину, коли колеги, що працюють з інших дисциплін, надсилають мені (наприклад) офісні файли, для яких потрібна розмітка, або я повинен заповнити форму університету, яка доступна лише у вигляді шаблону RTF, який не буде форматувати правильно за допомогою LibreOffice і буде біль у шиї для відтворення в LaTeX. (На попередніх робочих місцях власникам Linux, як правило, доводилося мати ще й не-Linux версію, оскільки для доступу до корпоративного середовища більш-менш вимагали цього. Власники Mac не дуже потребували другої машини.)

Окрім цього, існує ряд програм лише для Mac (наприклад, TextMate , Scrivener , Papers , Things , OmniFocus або BibDesk ), які роблять Mac набагато приємнішим середовищем, в якому можна працювати, ніж на ПК чи Linux. Я вважаю, що витрачаю більше часу на те, щоб зробити щось зроблене, ніж на те, що мені потрібно зробити, щоб програмне середовище могло робити те, що я хочу (або потрібно!).


5

Використання OS X в HPC та наукових обчисленнях є низьким, і це має багато спільного з плюсами та мінусами OS X wrt альтернативою (Linux)

Плюси ОС X:

  • Відполірований інтерфейс користувача; ще * nix
  • Програми для настільних ПК та дизайну, такі як MS Office, добре підтримувані програми Adobe
  • Мультимедіа дуже добре підтримується
  • Деяким людям подобається екосистема Apple (iPhone, iTunes тощо)

Мінуси ОС X:

  • Працює на дорогому обладнанні, і не всім подобаються Macbook, спеціально люди, які звикли до Thinkpads (клавіатура + трекпойнт)
  • Неможливо оновити апаратне забезпечення (наприклад, якщо ви хочете спробувати останню картку NVIDIA за допомогою програми CUDA) на робочому столі / кластері
  • Роздутий графічний інтерфейс, який неможливо налаштувати (в Linux можна використовувати мінімалістичний менеджер вікон)
  • Пакет mgmt в Macports / Fink є нижчим порівняно з дистрибутивами Linux (Debian). Більшість пакетів навіть не підтримується активно або є сиротами
  • Деякі корисні інструменти / програми традиційно не запускалися або все ще не запускаються в OS X. Наприклад ...

    1. Sun Studio досі не працює
    2. Valgrind почав працювати лише нещодавно, і не всі функції підтримуються
    3. Останніми роками були доступні і компілятори Intel
    4. Apple навіть не пакує компілятор Fortran, і ви повинні розраховувати на сторонніх (в основному осіб) для створення бінарних файлів, які працюють лише на певних версіях OS X (які є у особи). Підтримка в таких випадках рідкісна або відсутня
    5. Комерційні наукові програми (ABAQUS, ANSYS, FLUENT та багато іншого в таких галузях, як нафта / фінанси / англ. Тощо) не працюють (споконвічно) на OS X

Плюси Linux (Debian):

  • Управління пакетами першого класу, тобто встановлення компіляторів, більшості чисельних / наукових бібліотек тощо - це команда
  • На відміну від Fink / Macports, пакети підтримуються набагато краще (у Debian у вас є можливість використання кровотоку / тестування / стабільних версій)
  • Більшість кластерів виконують деяку версію Debian / Red Hat, так що менше клопоту при перенесенні кодів

Мінуси Linux (Debian):

  • Немає стандартного інтерфейсу користувача
  • Для робочого столу / ноутбука для Linux може знадобитися певне налаштування, щоб все (призупинення / відновлення, прискорення 3D-відео, звук тощо) працювало, але це значно покращилось за останні роки

Якщо заборонити деякі винятки, більшість користувачів та адміністраторів кластерів / систем вважають OS X простішою для продуктивності робочого столу, а НЕ для наукових обчислень (компіляція, використання, розробка матеріалів).

Більшість користувачів Linux OTOH вважають останнє простішим за попереднє, і це відображається у всій екосистемі HPC / наукових обчислень.


Додайте до свого списку корисних інструментів, які не працюють на OS X: gprof.
Девід Кетчесон

Посилання на ThinkPad змусило насміхатися. Наразі ми розділили сімейство Apple / Lenovo, і моє, але вона не любить трекпад :)
Fomite

@DavidKetcheson, це тому, що в OS X є інструменти (раніше Shark).
Арон Ахмадія

3

Я багато років не використовую нічого, крім Macs на робочому столі (та ноутбуці), займаючись науковими обчисленнями та розробкою наукового програмного забезпечення серед іншого. Як зазначали інші, якість апаратного забезпечення, висока якість програмного забезпечення, специфічного для Mac, та можливість роботи з Word та Excel при необхідності роблять Mac дуже приємною платформою для щоденного використання.

Я також експериментував кластер обчислень на основі Mac як деякий час. Це експеримент, який я не спокушаюсь зробити ще раз. У порівнянні з кластером Linux, я не бачу жодних істотних переваг, окрім простоти встановлення програмного забезпечення, якщо у вас все одно є Macs на робочому столі (просто встановіть ті самі речі). Недоліки чітко виділяються, найбільше відсутність належної підтримки багатокористувацького графічного інтерфейсу. На комп'ютері Mac одна машина дорівнює одному екрану та максимум одному користувачеві, який увійшов. Це робить інструменти, засновані на GUI, біль у використанні. У порівнянні з цим, навіть звичайні X-windows під Linux користуються радістю, і тоді VNC і NoMachine NX роблять ще краще.

Так, я знаю, що Mac підтримує вікна X, але більшість програм GUI для Mac використовують рідний інтерфейс.


Дякуємо за розуміння роботи кластера на базі Mac. Яких інструментів графічного інтерфейсу вам не вистачає?
Фоміт

Ви можете отримати більшість інструментів GUI для науки, встановивши програмне забезпечення на основі X-windows через MacPorts, але це дуже багато роботи. З іншого боку, у вас немає шансів змусити власницьке програмне забезпечення (наприклад, Mathematica) працювати здалеку, якщо ви не приймаєте принципове обмеження інтерфейсу Mac GUI одного користувача = одна машина = один екран. Чим більше ви бажаєте програмного забезпечення для Mac, тим більше вас спричинить проблема з графічним інтерфейсом.
хінсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.