Trạng thái của hệ điều hành Mac trong tính toán khoa học và HPC


17

Quay trở lại buổi bình minh của OS X, dường như có rất nhiều hubbub, ít nhất là trong thế giới Mac (lúc đó tôi không ở gần máy tính khoa học) về Mac OS như một nền tảng cho các ứng dụng khoa học và ứng dụng HPC.

XGrid ra đời, Virginia Tech có cụm máy tính dựa trên Mac ưa thích của họ, Stanford đang làm những điều tuyệt vời, v.v.

Gần đây hơn, mọi thứ đã được yên tĩnh. Trang web Macresearch.org về cơ bản là một thị trấn ma chứa đầy những thây ma spam, XServe đã chết và rất nhiều tài liệu tiếp thị và những thứ tương tự thậm chí là từ khu vực xử lý trước Intel. Nhưng XGrid vẫn còn đó, toàn bộ nền tảng * nix OS ở đó và nền tảng dường như có sự hỗ trợ tốt giữa Python, R và một số ngôn ngữ mới hơn.

Vậy, từ những người biết nhiều về điều này hơn tôi ... OS X có giá bao nhiêu? Họ có khả thi máy tính phía khách hàng cho máy tính khoa học? Đang sử dụng chúng như một máy chủ / cụm / vv. thông qua XGrid hoặc một cái gì đó giống như nó chỉ đơn giản là một ứng dụng mới?


Người bỏ phiếu có thể bình luận về lý do tại sao bạn bỏ phiếu không?
Geoff Oxberry

Meh. Điều này không phải là khủng khiếp đối với việc bán hàng tốt, bán chủ quan xấu , nhưng nó vẫn không làm gì cho tôi. Theo như tôi quan tâm thì câu trả lời là: nó không bị loại bỏ, nhưng chi phí quá cao cho những nơi mà UI không quan trọng.
dmckee

@dmckee: Vâng, tôi có thể thấy điều đó. Tôi nghĩ nhiều người sẽ đồng ý với bạn. Đối với tôi, vấn đề không đơn giản vì tôi cảm thấy mệt mỏi vì lỗi phần cứng và thậm chí sau đó, tôi vẫn chạy Linux trong một máy ảo. Tôi đã gặp những người thích quy trình làm việc của họ chủ yếu là OS X, vì vậy tôi nghĩ đó là một câu hỏi hợp lý cho một cộng đồng thích hợp. Tôi cũng cảm thấy như Khoa học tính toán có thể sử dụng thêm một vài câu hỏi và câu trả lời từ nhiều quan điểm sẽ hữu ích trong việc cung cấp cho mọi người ý tưởng về những công cụ chúng ta sử dụng trong máy tính khoa học.
Geoff Oxberry

@dmckee Và tôi cho rằng đó là một câu trả lời hợp lệ - rằng một số thứ mà Apple đã nướng không tạo ra một lý do thực sự sống động và hấp dẫn để sử dụng HĐH của họ.
Fomite

Câu hỏi cũng là một nỗ lực khám phá một số câu hỏi loại "làm máy tính khoa học" có thể phân biệt các câu hỏi phần cứng với ServerFault, sử dụng một câu hỏi mà tôi vừa quan tâm vừa thực sự không biết câu trả lời.
Fomite

Câu trả lời:


12

Tôi không thể bình luận về phía máy chủ của mọi thứ.

Về phía khách hàng, tại một cuộc họp khoa học tính toán mà tôi tham dự hàng năm, tỷ lệ người dùng Mac dường như đã tăng lên. Tôi đã chuyển sang máy Mac vì cảm thấy mệt mỏi khi phải đối phó với máy tính xách tay Dell do trường cung cấp bị hỏng khi đánh rơi mũ. Tôi đã chuyển sang máy Mac cho phần cứng, chủ yếu, vì Báo cáo người tiêu dùng đánh giá chúng rất cao về độ bền. Tôi không nghĩ rằng máy Mac tốt cho máy tính khoa học trừ khi bạn chạy Linux trên chúng. Hỗ trợ Linux cho phần cứng có xu hướng tụt hậu; thông thường, đó là thẻ không dây không được hỗ trợ (bất cứ khi nào họ thay đổi nó trong một mô hình mới). Nếu bạn sẵn sàng chấp nhận hình phạt tài nguyên đi kèm với việc chạy một máy ảo, thì đó là một lựa chọn hấp dẫn (và cá nhân tôi sử dụng).

Máy Mac yêu cầu bạn cài đặt rất nhiều thư viện và gói phần mềm trước khi bạn có thể thực hiện tính toán khoa học nghiêm túc. Bất cứ thứ gì có trình cài đặt Mac đều dễ quản lý, vì vậy nếu bạn thực hiện hầu hết công việc phát triển của mình với Matlab, Mathicala, Maple, Python, v.v., thật dễ dàng để cài đặt và chạy phần mềm đó trên OS X. Khó theo dõi phần mềm số lõi cứng có trình cài đặt Mac (nghĩ những thứ như PETSc hoặc CLAWPACK). Trình quản lý gói như MacPortsFinkcó thể giúp tình hình nếu bạn chỉ muốn sử dụng OS X. Bạn cũng sẽ phải biên dịch rất nhiều gói từ nguồn. Nếu bạn muốn chạy mã của mình ở bất cứ nơi nào khác, bạn sẽ phải coi chừng các vấn đề tương thích. Vì Linux thích sử dụng rộng rãi trong điện toán khoa học, nên việc phát triển mã trong Linux trở nên dễ dàng hơn.

Tôi đã nghe giai thoại từ những người bạn có quan điểm cao rằng việc thiết lập môi trường phát triển trên máy Mac là một nỗi đau rất lớn ở người khác, những người khác đã nói rằng nó không quá tệ. Số dặm của bạn có thể thay đổi.


1
Tôi đã bỏ phiếu: Việc cài đặt bất cứ thứ gì cho máy tính khoa học trên Mac phức tạp hơn so với trên Linux? Chắc chắn nếu bạn bắt đầu từ Linux CAE, hầu hết được tích hợp sẵn nhưng đối với hầu hết các bản phân phối khác, bạn phải tải xuống các gói và / hoặc bản dựng từ các nguồn. Dù sao bạn vẫn có thể muốn điều chỉnh các thư viện cho các nhu cầu cụ thể của mình và / hoặc hiệu suất tối đa. Điều đó đang được nói, Mac OS sẽ có một thời gian khó khăn để được áp dụng trên quy mô lớn tại các trường đại học miễn là họ không cấp phép cho HĐH độc lập với phần cứng (không phải là họ nên). Không chắc chắn làm thế nào bạn có thể biện minh cho chi phí thêm ...
FrenchKainedar

4
FrenchKainedar: Có rất nhiều thứ phụ trợ phải được cài đặt trên máy Mac (tôi viết cái này trên Macbook Pro) khi xây dựng phần mềm - rất nhiều thư viện và công cụ - chỉ là một apt-get hoặc yum cài đặt trên một hộp linux, không nói gì đến các mục lớn hơn như trình biên dịch mới hơn, python mới hơn, v.v ... Đó là lý do tại sao có cổng và homebrew, nhưng những thứ này vẫn không luôn cài đặt sạch và không phải tất cả các gói đều nằm trong cả hai. Tùy thuộc vào những gì bạn muốn trong môi trường dev của bạn, nó có thể, và trên thực tế, khó hơn trên máy Mac. OTOH, bạn nhận được Xcode ...

2
Việc cài đặt một cái gì đó từ trình quản lý gói dễ dàng hơn đáng kể so với biên dịch mã từ đầu. Tốt nhất, nó đơn giản ./configure && make && make install, nhưng tệ nhất, nó có thể là một mê cung sắp xếp các kịch bản, cờ và vị trí thư viện. Việc cài đặt PETSc 3.2 từ gói Debian mất 5 giây (tôi thậm chí đã làm điều này theo lệnh của một số nhà phát triển); cài đặt nó từ nguồn trong Linux mất cả ngày với các tùy chọn khác nhau. Vấn đề là các gói và trình cài đặt không nhất thiết tồn tại cho Mac khi chúng làm cho Linux (và chúng làm cho Linux dễ sử dụng hơn).
Geoff Oxberry

Ngoài ra còn có sự phiền toái lớn khi "chỉ ổn định" lơ lửng trên không với máy Mac, ít nhất là tôi đã phải chiến đấu với nó nhiều lần. Một ví dụ điển hình mà cá nhân tôi gặp phải là một lỗi GCC khiến một ứng dụng hoàn toàn bị sập & cháy nếu bạn có các pragma OpenMP bên trong mã được gọi từ pthread. Tôi thực sự đã kết thúc việc chỉ sử dụng & hỗ trợ ICC vì nó có sẵn, bởi vì nó chỉ dễ dàng hơn việc thay đổi GCC trên máy Mac đó. Có một loạt các thư viện khác mà tôi đã thấy trên Mac có các phiên bản tiền sử (tốt, ít nhất là một vài năm tuổi).
TC1

13

@Geoff đưa ra một câu trả lời tốt, nhưng tôi nghĩ rằng nó đáng để cung cấp một quan điểm thay thế.

Tôi làm mọi thứ trên máy Mac - trong OS X, không phải máy ảo Linux - bao gồm rất nhiều phát triển mã khoa học. Tôi chủ yếu làm việc ở Fortran và Python. Đối với tôi, sự tiện lợi của

  • có thể làm tất cả công việc của tôi trong một HĐH và
  • hầu như không bao giờ xử lý các lỗi phần cứng hoặc các vấn đề về trình điều khiển

là giá trị chi phí của đau đầu cụ thể Mac.

Ba vấn đề đau đầu chính là:

  1. Thiếu một trình quản lý gói tiêu chuẩn hệ điều hành. Đã có lần tôi sử dụng Fink, nhưng cuối cùng nó lại dẫn đến nhiều vấn đề đau đầu hơn và giờ nó đã lỗi thời. Tôi đã nghe những điều hay về Macports và Homebrew, nhưng trải nghiệm của tôi với Fink đã thuyết phục tôi chỉ "tự mình lăn lộn".

  2. Một số phần mềm tích hợp rất lỗi thời. Đặc biệt, Python và gcc. Điều này có nghĩa là bạn cần cài đặt các phiên bản cập nhật của riêng bạn, điều này có thể gây rắc rối.

  3. Apple không bao gồm trình biên dịch Fortran!

Dường như với tôi rằng Apple đang ngày càng ít chú ý đến những người dùng quyền lực dựa trên Unix của họ. Trong khi đó, Linux tiếp tục cải thiện. Cuối cùng, tôi có thể sẽ bị đẩy trở lại vào Linux. Nhưng tôi sẽ giữ Macbook của mình cho đến khi có người khác học cách tạo ra pin tốt.


1
Môi trường điện toán khoa học của tôi trên máy Mac (trình biên dịch, thư viện) được cung cấp tới 99% bởi MacPorts. Nó không hoàn hảo, nhưng nó dễ dàng cài đặt thủ công. Tất nhiên nó phụ thuộc rất nhiều vào số tiền bạn cần cài đặt để hoàn thành công việc.
khinsen

9

Tôi cho rằng Mac là môi trường tốt hơn cho các nhà khoa học tính toán so với khoa học tính toán . Tôi sẽ không muốn sử dụng máy Mac trong môi trường điện toán hàng hóa; phần cứng, nói một cách tương đối, quá đắt cho điều đó. Có thể rất khó để có được môi trường phần mềm phù hợp với các điều kiện cần thiết cho một gói cụ thể, nhưng thông thường khi bạn phát hiện ra nó lần đầu tiên, việc bảo trì sẽ dễ dàng hơn nhiều so với cài đặt Windows tương đương. (Và, tùy thuộc vào các trình quản lý gói, nó có thể dễ dàng như Linux. MacPorts hoạt động khá tốt như một trình quản lý cho OS X!)

Tuy nhiên, là một nền tảng làm việc cho một nhà khoa học tính toán bận rộn, tôi tin rằng Mac cung cấp phần thưởng bổ sung là có thể làm việc và duy trì trong một môi trường máy tính duy nhất, thay vì phải duy trì một hộp Linux cho công việc "nghiêm túc", và vẫn cần phải có máy khác khi các đồng nghiệp làm việc trong các ngành khác gửi cho tôi (ví dụ) các tệp Office cần đánh dấu hoặc tôi phải điền vào biểu mẫu Đại học chỉ có sẵn dưới dạng mẫu RTF không định dạng đúng bằng LibreOffice và sẽ được một cơn đau ở cổ để tái tạo trong LaTeX. (Ở các công việc trước đây, chủ sở hữu Linux khá nhiều phải có máy không phải Linux, vì để truy cập vào môi trường công ty ít nhiều yêu cầu nó. Chủ sở hữu máy Mac không thực sự cần máy thứ hai.)

Bên cạnh đó, có một số chương trình Mac-chỉ (như TextMate , Scrivener , giấy tờ , điều , OmniFocus , hoặc BibDesk ) mà làm cho máy Mac một môi trường dễ chịu hơn nhiều, trong đó để làm việc hơn trên PC hoặc Linux. Tôi thấy mình dành nhiều thời gian hơn để tập trung vào việc hoàn thành công việc, hơn là những gì tôi cần làm để có được môi trường phần mềm để làm những gì tôi muốn (hoặc cần!) Để làm.


5

Việc sử dụng OS X trong HPC và tính toán khoa học còn thấp và nó phải làm rất nhiều với những ưu và nhược điểm của OS X khi thay thế (Linux)

Ưu điểm của OS X:

  • UI đánh bóng; vẫn * nix
  • (Các) ứng dụng Máy tính để bàn / Thiết kế như MS Office, các chương trình Adobe được hỗ trợ tốt
  • Đa phương tiện hỗ trợ rất tốt
  • Một số người thích hệ sinh thái Apple (iPhone, iTunes, v.v.)

Nhược điểm của OS X:

  • Chạy trên phần cứng đắt tiền và không phải ai cũng thích Macbook, những người đặc biệt thường sử dụng Thinkpad (bàn phím + trackpoint)
  • Không thể nâng cấp phần cứng (ví dụ: nếu bạn muốn dùng thử thẻ NVIDIA mới nhất với ứng dụng CUDA của bạn) trên máy tính để bàn / cụm
  • GUI cồng kềnh không thể tùy chỉnh (trong Linux, bạn có thể sử dụng trình quản lý cửa sổ tối giản)
  • Gói mgmt trong Macports / Fink là ngang bằng so với các bản phân phối Linux (Debian). Hầu hết các gói thậm chí không được duy trì tích cực hoặc mồ côi
  • Một số công cụ / chương trình hữu ích theo truyền thống không chạy hoặc vẫn không chạy trên OS X. Ví dụ ...

    1. Sun Studio vẫn không hoạt động
    2. Valgrind chỉ bắt đầu hoạt động gần đây và không phải tất cả các tính năng đều được hỗ trợ
    3. Trình biên dịch Intel cũng đã có sẵn trong những năm gần đây
    4. Apple thậm chí không đóng gói trình biên dịch Fortran và bạn phải dựa vào bên thứ 3 (chủ yếu là các cá nhân) để xây dựng các nhị phân chỉ hoạt động trên các phiên bản OS X nhất định (mà cá nhân có). Hỗ trợ là hiếm hoặc không tồn tại trong những trường hợp như vậy
    5. Các ứng dụng khoa học thương mại (ABAQUS, ANSYS, FLUENT và nhiều ứng dụng khác trong các ngành như dầu / tài chính / engg, v.v.) không chạy (nguyên bản) trên OS X

Ưu điểm của Linux (Debian):

  • Quản lý gói hạng nhất, nghĩa là cài đặt trình biên dịch, hầu hết các thư viện số / khoa học, v.v.
  • Không giống như Fink / Macports, các gói được hỗ trợ tốt hơn nhiều (trong Debian bạn có tùy chọn sử dụng phiên bản thử nghiệm / thử nghiệm / phiên bản ổn định)
  • Hầu hết các cụm chạy một số phiên bản Debian / Red Hat để ít gặp rắc rối hơn trong việc chuyển mã

Nhược điểm của Linux (Debian):

  • Không có giao diện người dùng chuẩn
  • Linux trên máy tính để bàn / máy tính xách tay có thể yêu cầu một số điều chỉnh để mọi thứ (tạm dừng / tiếp tục, tăng tốc video 3D, âm thanh, v.v.) hoạt động nhưng điều này đã được cải thiện rất nhiều trong những năm gần đây

Hầu hết các trường hợp ngoại lệ, hầu hết người dùng và quản trị viên cụm / hệ thống đều thấy OS X dễ dàng hơn cho năng suất máy tính để bàn và KHÔNG cho máy tính khoa học (biên dịch, sử dụng, phát triển công cụ).

Hầu hết người dùng Linux tìm thấy cái sau dễ hơn cái trước và điều này được phản ánh trong toàn bộ hệ sinh thái điện toán khoa học / HPC.


Thêm vào danh sách các công cụ hữu ích không hoạt động trên OS X: gprof.
David Ketcheson

Tài liệu tham khảo ThinkPad làm tôi cười thầm. Hiện tại, chúng tôi là một hộ gia đình Apple / Lenovo bị chia tách và tôi nhưng cô ấy không thích trackpad :)
Fomite

@DavidKetcheson, đó là vì OS X có dụng cụ (trước đây là Shark).
Aron Ahmadia

3

Tôi đã không sử dụng gì ngoài máy Mac trên máy tính để bàn (và máy tính xách tay) trong nhiều năm, làm máy tính khoa học và phát triển phần mềm khoa học trong số những thứ khác. Như những người khác đã chỉ ra, chất lượng phần cứng, chất lượng cao của nhiều phần mềm dành riêng cho Mac và khả năng xử lý Word và Excel khi cần thiết, biến Mac thành một nền tảng rất đẹp để sử dụng hàng ngày.

Tôi cũng đã chạy một cụm tính toán dựa trên Mac như một thử nghiệm trong một thời gian. Đó là một thử nghiệm tôi không muốn làm lại. So với cụm Linux, tôi không thấy bất kỳ lợi thế đáng kể nào, ngoài việc dễ dàng cài đặt phần mềm nếu bạn vẫn có máy Mac trên máy tính để bàn (chỉ cần cài đặt cùng một thứ). Những nhược điểm nổi bật rõ ràng, hầu hết đều thiếu hỗ trợ GUI nhiều người dùng phù hợp. Trên máy Mac, một máy bằng một màn hình và nhiều nhất là một người dùng đã đăng nhập. Điều đó làm cho các công cụ dựa trên GUI trở nên khó sử dụng. So với điều đó, ngay cả các cửa sổ X đơn giản trong Linux cũng là một niềm vui để sử dụng, và sau đó có VNC và NoMachine NX để làm tốt hơn nữa.

Vâng, tôi biết Mac hỗ trợ các cửa sổ X, nhưng hầu hết các chương trình GUI cho Mac đều sử dụng giao diện gốc.


Cảm ơn bạn đã hiểu về việc chạy một cụm dựa trên Mac. Bạn đang thiếu loại công cụ GUI nào?
Fomite

Bạn có thể nhận được hầu hết các công cụ GUI cho khoa học bằng cách cài đặt phần mềm dựa trên cửa sổ X thông qua MacPorts, nhưng đó là rất nhiều công việc. Ở một thái cực khác, bạn không có cơ hội để phần mềm độc quyền (ví dụ Mathicala) hoạt động từ xa, trừ khi bạn chấp nhận giới hạn cơ bản của Mac GUI về một người dùng = một máy = một màn hình. Bạn càng muốn phần mềm dành riêng cho Mac, bạn càng bị khuyết tật bởi vấn đề GUI.
khinsen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.