Состояние 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 на виртуальной машине. Я встречал людей, которым нравится, чтобы их рабочий процесс был в основном OS X, поэтому я думаю, что это разумный вопрос для нишевого сообщества. Я также чувствую, что вычислительная наука могла бы использовать еще несколько вопросов, и ответы с разных точек зрения помогли бы дать людям представление о том, какие инструменты мы используем в научных вычислениях.
Джефф Оксберри
@dmckee И я считаю, что это правильный ответ - что некоторые вещи, которые выпекла Apple, не породили по-настоящему яркой и убедительной причины для использования их ОС.
Fomite
Этот вопрос был также попыткой исследовать некоторые из вопросов типа «делания научных вычислений», которые могли бы отличить аппаратные вопросы от ServerFault, используя тот, на котором я и заинтересован, и действительно не знаю ответа.
Fomite

Ответы:

12

Я не могу комментировать вещи на стороне сервера.

На стороне клиента, на одной научной встрече по вычислительной технике, которую я посещаю каждый год, доля пользователей Mac, похоже, увеличилась. Я переключился на Mac, потому что устал работать со своим ноутбуком Dell, поставляемым в школе, и он не справлялся с трудностями. В первую очередь я переключился на компьютеры Mac, поскольку Consumer Reports высоко оценил их надежность. Я не думаю, что Mac хороши для научных вычислений, если на них не работает Linux. Поддержка Linux для аппаратного обеспечения имеет тенденцию отставать; обычно это беспроводная карта, которая не поддерживается (когда они меняют ее в новой модели). Если вы готовы принять штраф ресурсов, связанный с запуском виртуальной машины, это привлекательный вариант (и тот, который я лично использую).

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

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

Джефф Оксберри
источник
1
Я проголосовал: как установка чего-либо для научных вычислений на Mac сложнее, чем на Linux? Конечно, если вы начинаете с Linux CAE, большая часть его встроена, но для большинства других дистрибутивов вам необходимо загружать пакеты и / или собирать из исходников. В любом случае, вы все равно захотите настроить библиотеки для своих конкретных потребностей и / или максимальной производительности. Тем не менее, Mac OS будет трудно внедрить в больших масштабах в университетах, если они не лицензируют ОС независимо от аппаратного обеспечения (не то, что они должны). Не уверен, как вы можете оправдать дополнительные расходы ...
FrenchKheldar
4
FrenchKheldar: Есть много вспомогательных вещей, которые необходимо установить на Mac (я пишу это на Macbook Pro) при создании программного обеспечения - множество библиотек и инструментов - которые просто устанавливаются на apt-get или yum 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 дает хороший ответ, но я думаю, что стоит предложить альтернативную перспективу.

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

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

стоит стоимости специфических для Mac головных болей.

Три основные головные боли:

  1. Отсутствие стандартного менеджера пакетов ОС. Когда-то я использовал Fink, но в конечном итоге это привело к увеличению головной боли, и теперь оно устарело. Я слышал хорошие вещи о Macports и Homebrew, но мой опыт работы с Fink убедил меня просто «кататься самому».

  2. Некоторые из встроенных программ очень устарели. В частности, Python и GCC. Это означает, что вам нужно установить свои собственные обновленные версии, что может быть хлопотно.

  3. Apple не включает в себя компилятор Fortran!

Мне кажется, что Apple уделяет все меньше внимания своим опытным пользователям на основе Unix. Между тем, Linux продолжает улучшаться. В конце концов я, вероятно, вернусь в Linux. Но я буду держать свой Macbook, пока кто-нибудь еще не научится делать приличные батареи.

Дэвид Кетчесон
источник
1
Моя научная вычислительная среда на моем Mac (компиляторы, библиотеки) обеспечена на 99% MacPorts. Он не идеален, но легко справляется с ручной установкой. Конечно, это зависит от того, сколько вам нужно установить, чтобы выполнить свою работу.
Хинсен
9

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

Тем не менее, как рабочая платформа для занятого учёного в области вычислительной техники, я считаю, что Mac предлагает дополнительный бонус - возможность работать и поддерживать в единой вычислительной среде, вместо того, чтобы поддерживать Linux для «серьезной» работы, и всё же мне нужна другая машина, когда коллеги, работающие в других дисциплинах, отправляют мне (например) файлы Office, требующие разметки, или мне нужно заполнить университетскую форму, которая доступна только в виде шаблона RTF, который не будет правильно отформатирован с помощью LibreOffice и будет боль в шее, чтобы воссоздать в LaTeX. (На предыдущих работах владельцы Linux в значительной степени должны были иметь машину, отличную от Linux, поскольку доступ к корпоративной среде более или менее требовал этого. Владельцам Mac действительно не требовалась вторая машина.)

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

aeismail
источник
5

Использование OS X в высокопроизводительных вычислениях и научных вычислениях невелико, и оно во многом связано с плюсами и минусами OS X относительно альтернативы (Linux)

OS X Pros:

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

OS X Минусы:

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

    1. Sun Studio по-прежнему не работает
    2. Valgrind только начал работать недавно, и не все функции поддерживаются
    3. Компиляторы Intel также были доступны в последние годы
    4. Apple даже не упаковывает компилятор Фортрана, и вам приходится полагаться на сторонних разработчиков (в основном, физических лиц) для создания двоичных файлов, которые работают только на определенных версиях OS X (которые есть у отдельных пользователей). Поддержка в таких случаях редкая или отсутствует
    5. Коммерческие научные приложения (ABAQUS, ANSYS, FLUENT и многие другие в таких отраслях, как нефть / финансы / engg и т. Д.) Не работают (изначально) в OS X

Linux (Debian) Плюсы:

  • Первоклассное управление пакетами, т. Е. Установка компиляторов, большинства числовых / научных библиотек и т. Д.
  • В отличие от Fink / Macports, пакеты гораздо лучше поддерживаются (в Debian вы можете использовать bledge edge / testing / stable version)
  • Большинство кластеров работают с какой-либо версией Debian / Red Hat, поэтому меньше проблем при переносе кода

Недостатки Linux (Debian):

  • Нет стандартного интерфейса
  • Linux на настольном компьютере / ноутбуке (компьютерах) может потребовать некоторой настройки, чтобы все (приостановка / возобновление, ускорение 3D-видео, звук и т. Д.) Работало, но в последние годы это значительно улучшилось

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

OTOH большинство пользователей Linux находят последнее проще, чем первое, и это отражается во всей экосистеме высокопроизводительных вычислений и научных вычислений.

Stali
источник
Добавьте в свой список полезных инструментов, которые не работают на OS X: gprof.
Дэвид Кетчесон
Ссылка на ThinkPad заставила меня посмеяться. На данный момент мы разделили домохозяйство Apple / Lenovo, и мой, но ей не нравится трекпад :)
Fomite
@DavidKetcheson, это потому, что в OS X есть инструменты (ранее Shark).
Арон Ахмадиа
3

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

Я также некоторое время проводил вычислительный кластер на базе Mac в качестве эксперимента. Это эксперимент, который я не испытываю. По сравнению с кластером Linux, я не вижу никаких существенных преимуществ, кроме простоты установки программного обеспечения, если у вас все равно есть Mac на рабочем столе (просто установите те же самые вещи). Недостатки отчетливо выделяются, в первую очередь отсутствие надлежащей поддержки многопользовательского графического интерфейса. На Mac один компьютер равен одному экрану и максимум одному зарегистрированному пользователю. Это делает инструменты на основе графического интерфейса неудобными для использования. По сравнению с этим, даже простые X-windows под Linux - это удовольствие от использования, а затем есть VNC и NoMachine NX, которые делают еще лучше.

Да, я знаю, что Mac поддерживает X windows, но большинство программ с графическим интерфейсом для Mac используют собственный интерфейс.

khinsen
источник
Спасибо за понимание запуска кластера на основе Mac. Какие инструменты GUI вам не хватает?
Fomite
Вы можете получить большинство графических инструментов для науки, установив программное обеспечение для X-Window через MacPorts, но это большая работа. С другой стороны, у вас нет шансов заставить проприетарное программное обеспечение (например, Mathematica) работать на расстоянии, если вы не примете основополагающее ограничение Mac GUI: один пользователь = один компьютер = один экран. Чем больше вам требуется программное обеспечение для Mac, тем больше у вас проблем с графическим интерфейсом.
Хинсен