12 पॉइंट द्वारा GN⁺ 2023-12-31 | 2 टिप्पणियां | WhatsApp पर शेयर करें

Apple Silicon VM अलग क्यों हैं?

  • Apple Silicon Mac पर macOS virtual machine (VM) चलाना भले बहुत लोकप्रिय न लगता हो, लेकिन यह लंबे समय से Apple के लिए महत्वपूर्ण लक्ष्यों में से एक रहा है।
  • M-series Mac पर virtualization software इस्तेमाल करने पर पता चलता है कि यह Intel Mac पर macOS और अन्य operating system को virtualize करने से कितना अलग है।
  • इसमें बताया गया है कि virtualization क्यों महत्वपूर्ण है और यह इतना अलग कैसे हो गया।

Apple Silicon के तीन स्तंभ

  • जून 2020 के WWDC में Craig Federighi ने Apple Silicon के तीन स्तंभ पेश किए: Universal apps जो दोनों architecture पर चलें, Rosetta 2 जो Intel code को Arm instructions में translate करता है, और virtualization।
  • Apple द्वारा Developer Transition Kit जारी करने से पहले ही Andreas Wendker ने Linux को guest के रूप में चलाते हुए Parallels Desktop का pre-release version दिखाया था, लेकिन Windows का कोई उल्लेख नहीं था।

virtualization की शुरुआती अवस्था

  • virtualization के शुरुआती दौर में इसे type 1 hypervisor में बांटा जाता था, जो सीधे hardware पर चलता है, और type 2 (hosted), जिसमें पहले hardware पर मुख्य operating system चलता है और उसके ऊपर hypervisor चलता है।
  • desktop computer पर VMware Fusion, Parallels Desktop और Oracle VirtualBox जैसे type 2 virtualization products अधिक आम हैं।

hardware support और virtualization

  • hypervisor के लिए hardware support होने पर बिना बदले हुए guest operating system चलाना आसान हो जाता है।
  • इसके लिए Intel का VT-x feature set या Arm CPU का AArch64 virtualization इस्तेमाल किया जा सकता है।
  • device support से जुड़ी समस्याएँ virtualization framework में हल की जा सकती हैं या virtualization program उन्हें संभाल सकता है।

Apple Silicon chips की खासियत

  • Apple Silicon chips के सभी hardware devices, Intel Mac के समकक्ष devices से अलग हैं।
  • भले Apple बाहरी उपयोग के लिए इन्हें पूरी तरह document करना चाहता, फिर भी Intel Mac के device support के लिए जरूरी engineering effort third party के लिए बहुत महंगा पड़ता।
  • इसलिए केवल hypervisor से शुरू करके पूरा virtualization software बना लेने की उम्मीद व्यावहारिक नहीं थी, और Apple तथा उपयोगकर्ताओं की अपेक्षित उच्च performance हासिल करना भी कठिन था।

Virtio drivers और virtualization

  • इसके बजाय Apple ने macOS में device support को built-in रूप में शामिल करते हुए Virtio drivers बनाए।
  • Virtio I/O devices के लिए abstraction layer देने वाला एक standard है। जब guest operating system कोई file खोलना चाहता है, तो वह request Virtio frontend storage device para-driver तक जाती है, और वहाँ से Virtio backend driver के माध्यम से storage device के साथ interaction होता है।
  • virtualization app बनाना मूल रूप से जरूरी Virtio devices को configure और open करना है, ताकि guest, Virtio और host मिलकर काम को संभाल सकें।

Apple का Virtio चुनना

  • Apple का Virtio चुनना इस बात से प्रभावित था कि Linux में पहले से अच्छा Virtio support था, जबकि उस समय macOS में Virtio support नहीं था।
  • Apple engineers ने Monterey के रिलीज़ से पहले कई वर्षों तक macOS में Virtio support बनाया।
  • macOS की Virtio implementation में keyboard और pointing devices, shared clipboard ('Spice'), तथा Metal और GPU support के जरिए high-performance graphics को support करने वाले extensions शामिल हैं।

Virtio model के फायदे

  • Virtio model में support operating system देता है, जिससे VMware और Parallels जैसे vendors के development cost कम होते हैं, लेकिन उनके products की commercial value भी घटती है।
  • Apple तय करता है कि Apple Silicon पर virtualization किन hardware और features को support करेगा।

virtualization का भविष्य और flexibility

  • VM में macOS के पुराने versions चलाने से उपयोगकर्ता वर्तमान macOS में Rosetta 2 support बंद होने के बाद भी Intel-only apps चला सकते हैं।
  • Apple Silicon Mac पर ऐसा software चलाया जा सकता है जो minimum macOS version compatibility से मेल नहीं खाता।
  • Linux या macOS का उपयोग करके developers Docker जैसे lightweight VM packages deploy कर सकते हैं।

GN⁺ की राय

  • Apple Silicon Mac पर virtualization, पारंपरिक Intel-आधारित virtualization से अलग दृष्टिकोण अपनाता है, और यह Apple की hardware-software integration को और मजबूत करने की रणनीति का हिस्सा दिखता है।
  • Virtio के जरिए virtualization, developers को cost-effective solution देता है और Apple के नियंत्रण में performance optimization संभव बनाता है।
  • virtualization technology का विकास Apple Silicon Mac उपयोगकर्ताओं के लिए लंबे समय में विविध software environments उपलब्ध कराने की संभावना खोलता है, खासकर पुराने applications और systems को support करने में यह उपयोगी हो सकता है।

2 टिप्पणियां

 
molla 2024-01-02

वर्चुअलाइज़ेशन का भविष्य वाला हिस्सा थोड़ा अजीब लगता है.
सिर्फ वर्चुअलाइज़ेशन संभव होने भर से मौजूदा सिस्टम अपने-आप compatible नहीं हो जाते. आखिर कहीं न कहीं x86 instructions को arm instructions में बदलना ही पड़ेगा.
अगर इसका support HW या OS (Rosetta?) में नहीं दिया जाता, तो आखिरकार VM स्तर पर emulation ही करना पड़ेगा, और इस मामले में performance गिरावट बहुत गंभीर होती है.
अभी भी Apple Silicon Mac पर x86 के लिए Linux इंस्टॉल किया जा सकता है, लेकिन performance पागलपन की हद तक धीमी है. (शायद पिछले साल x86 binary की ज़रूरत पड़ी थी, तो build के लिए इसे इंस्टॉल करके देखा था, लेकिन तुरंत ही हार मान ली.)

 
GN⁺ 2023-12-31
Hacker News राय
  • Windows में Hyper-V पर निर्भर कई फीचर होते हैं, और इसे सक्षम करने पर Windows सीधे boot नहीं होता बल्कि Hyper-V शुरू होता है, जिससे मुख्य Windows सिस्टम एक privileged VM में चलता है।
  • कोई व्यक्ति Apple Silicon पर x86-64 Windows/Linux virtualization की मौजूदा स्थिति की जानकारी खोज रहा है, और उसे खेद है कि लेख में इसके महत्वपूर्ण applications का ज़िक्र नहीं है।
  • इच्छा व्यक्त की गई है कि सभी OS उपयोगकर्ता अपने OS के isolated VM में login करें, ताकि उपयोगकर्ता अपने Apple कंप्यूटर पर स्वामित्व बनाए रख सकें।
  • macOS एक साथ केवल दो VM चला सकता है, इसलिए अगर आप Mac mini को build server के रूप में इस्तेमाल करना चाहते हैं, तो सबसे सस्ता मॉडल खरीदना बेहतर है।
  • Parallels का उपयोग करके MacOS VM को development के लिए इस्तेमाल करना चाहा गया, लेकिन Apple ID से login नहीं कर पाने के कारण उपयोग सीमित है।
  • इस बात पर भ्रम है कि Docker Linux/amd64 platform पर लगभग native performance के साथ तेज़ी से चलता है, जबकि x86 UTM VM काफ़ी धीमा क्यों है।
  • Windows के लिए virtio layer की प्रगति, इसे कौन विकसित कर रहा है, और क्या निकट भविष्य में इसके काम करने की संभावना है, इस बारे में सवाल है।
  • Rusty Russell द्वारा लिखे गए driver का उल्लेख है; कहा गया है कि वे software development पर गहरी insight साझा करते हैं, इसलिए उन्हें Twitter पर follow करने की सिफारिश की गई है।
  • यह सवाल उठाया गया है कि क्या अब सभी commercial desktop VM (VMWare Fusion/Parallels/UTM/Vimy) virtio model का उपयोग करते हैं, और क्या सैद्धांतिक रूप से सभी ARM64 Windows को लगभग एक जैसा व्यवहार करना चाहिए।
  • लगभग 1 साल से M2 Apple Silicon chip पर एक command से Qemu VM बनाने का तरीका खोजने की कोशिश की गई, लेकिन macOS या AsahiLinux पर Alpine Linux + Sway WM को Qemu में चलाना, जो x86-64 पर अपेक्षाकृत सरल है, यहाँ कठिन साबित हो रहा है.