Nazorat savollari?
1.Virtual yadrolar uchun ishlatiladigan arxitekturalar?
2.Virtual yadrolar afzalliklari?
3.Virtual yadrolar kamchiliklari?
1.Virtual yadrolar uchun ishlatiladigan arxitekturalar?
Virtual arxitekturalar
Ammo agar siz bitta arxitektura dasturini boshqasida ishga tushira olmasangiz, har qanday mashinada ishga tushiriladigan sehrli JAR fayllari qayerdan keladi? Bu virtual JVM arxitekturasining namunasi bo'lib, u mohiyatan maqsadli haqiqiy mashinada taqlid qilinadi. Shuning uchun, maqsadli arxitektura uchun JVM mashinasi har qanday Java dasturini ishga tushirish uchun etarli. Virtual arxitekturaning yana bir misoli .NET CIL.
Virtual arxitekturaning kamchiliklari orasida haqiqiy arxitekturaga nisbatan pastroq ishlashni ajratib ko'rsatish mumkin. Bu minus JIT- va AOT-kompilyatsiyasi yordamida tekislanadi. Biroq, kross-platforma katta ortiqcha bo'ladi. Gibrid arxitektura bu arxitekturalarning keyingi rivojlanishiga aylandi. Masalan, zamonaviy x86_64 protsessorlari, garchi CISC bilan mos bo'lsa ham, RISC yadroli protsessorlardir. Bunday gibrid CISC protsessorlarida CISC ko'rsatmalari ichki RISC ko'rsatmalari to'plamiga aylantiriladi. Protsessor arxitekturasi qanday rivojlanishni oladi, buni vaqt ko'rsatadi.
NUMA arxitekturasi va virtual vCPU
Virtual mashinalarga vCPU va yadrolarni belgilashning yana bir qancha jihatlari bor, ularni tushunishingiz kerak.
Rozetkaga yadrolarni tayinlashda NUMA arxitekturasini hisobga oling (aksariyat zamonaviy protsessorlarda qo'llaniladi). VM ga jismoniy rozetka/protsessor (NUMA tugun)dagi mavjud yadrolardan ko‘ra har bir rozetkaga (va vCPUlarning umumiy soni) ko‘proq yadro tayinlash tavsiya etilmaydi. Bitta jismoniy NUMA tuguniga joylashtirilganida, virtual mashina ma'lum bir NUMA tugunida mavjud bo'lgan tezkor mahalliy operativ xotiradan foydalanishi mumkin bo'ladi. Aks holda, jarayonlar operatsiyani bajarish uchun boshqa NUMA tugunidan javob kutishi kerak bo'ladi (bu biroz uzoqroq).
Agar siz VM ga ikkita alohida virtual rozetkalarni tayinlasangiz, gipervisor ularni turli NUMA tugunlarida ishga tushirishi mumkin. Bu VM ishlashiga ta'sir qilishning eng yaxshi usuli emas. Agar talab qilinadigan vCPUlar soni 1 ta jismoniy rozetkadagi (NUMA tugunidagi) yadrolar sonidan oshsa, kerakli miqdordagi yadrolar bilan bir nechta virtual rozetkalarni (protsessorlar) yaratishingiz kerak. Toq sonli protsessorlardan foydalanish ham tavsiya etilmaydi (1 vCPU qo'shgan ma'qul). Bu virtual mashinaning ishlashini saqlab qoladi.
Virtual yadrolar afzalliklari va kamchiliklari
AMD vakillari bilan so'nggi suhbatlar kompaniyaning 0,09 mikronli texnologik texnologiya doirasida K9 ikki yadroli arxitekturasiga o'tishni boshlash rejalarini ochib berdi. Biroq, ikki yadroli ish stoli protsessorlari tez orada paydo bo'lmaydi - ikki yadroli Opteronning debyut modellari faqat 2005 yilning ikkinchi yarmida paydo bo'ladi va bu protsessorlarning ish stoli hamkasblari keyinroq paydo bo'ladi. The Inquirer’dagi britaniyalik hamkasblarimiz Rojdestvo sukunatidan keyin asta-sekin odatdagi ish soatlariga qaytishmoqda. Bugungi kunda ushbu sayt Hyper-Threading texnologiyasida mujassamlangan "haqiqiy ikki yadroli" va "virtual ikki yadroli" afzalliklarini taqqoslaydigan maqola chop etdi. Albatta, bizning hamkasblarimiz ikkala yondashuvning kamchiliklarini ham unutishmaydi :).Shunday qilib, keling, ushbu resurs uchun g'ayrioddiy hajmli maqolada keltirilgan asosiy g'oyalarni qisqacha bayon qilishga harakat qilaylik. Birinchidan, AMD64 arxitekturasining ikki yadroli protsessorlarni amalga oshirishga moyilligi HyperTransport texnologiyasini loyihalash vaqtida o'ylab topilgan. Bu o'tgan hafta AMD vakillari tomonidan qayta-qayta muhokama qilindi. HyperTransport kogerent havolalari allaqachon Opteron protsessorlariga ko'p protsessorli tizimlarda samarali ishlash imkonini beradi. Ikki yadroli arxitekturaga o'tish ikki yadroni jismonan bir-biriga yaqinlashtiradi. Aytgancha, bizning britaniyalik hamkasblarimiz ikki yadroli AMD protsessorlari har bir yadro uchun ajratilgan L2 keshdan foydalanishiga ishonishga moyil. Bunday protsessorlar ikkita yadro uchun umumiy keshdan foydalanishi haqida avval xabar bergan edik. Haqiqatda bo'lgani kabi, aniq aytish mumkin emas. Umumiy kesh asosiy maydonni va ishlab chiqarish xarajatlarini tejaydi. Ajratilgan kesh protsessorning samaradorligini oshiradi - yadrolar keshga kirishda bir-biri bilan raqobatlashmaydi. Aynan mojarolar va umumiy resurslarga kirishdagi kechikishlar ushbu maqolaning muhim qismiga bag'ishlangan. Misol uchun, Hyper-Threading texnologiyasi ikkita virtual protsessor haqiqatda umumiy apparat resurslaridan foydalanishi, ko'pincha bir-biriga zid bo'lishi uchun tanqid qilinadi. Natijada, ba'zi hollarda Hyper-Threadingdan foydalanganda tizimning ishlashi yomonlashadi. AMD boshidanoq bunga shama qilgan va faqat "haqiqiy ikki yadroli" haqiqiy effekt berishi mumkinligini ta'kidlashda davom etmoqda.
Aytgancha, Intel Hyper-Threading texnologiyasini yaxshilashga urinishlarini to'xtatmoqchi emas va allaqachon Preskott yadrosida iplar orasidagi ziddiyatlarni hal qilish uchun ba'zi mexanizmlar amalga oshiriladi. Ikki yadroni bitta protsessorga joylashtirish orqali AMD resurslarni almashish muammolarini to'liq bartaraf eta olmaydi. Xususan, ikkala yadro ham tizim xotirasini baham ko'radi. Boshqacha qilib aytganda, qiyinchiliklar saqlanib qoladi va bitta ikki yadroli protsessorli tizimning ishlashi ikkita bir yadroli protsessorli tizimning ishlash darajasidan keskin farq qilmaydi.
Do'stlaringiz bilan baham: |