Состояние 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. Я трачу больше времени на то, чтобы добиться цели, чем на то, что мне нужно, чтобы заставить программную среду делать то, что я хочу (или нуждаюсь!).


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 находят последнее проще, чем первое, и это отражается во всей экосистеме высокопроизводительных вычислений и научных вычислений.


Добавьте в свой список полезных инструментов, которые не работают на 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 используют собственный интерфейс.


Спасибо за понимание запуска кластера на основе Mac. Какие инструменты GUI вам не хватает?
— Fomite

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