การจัดตารางเวลาแบบแก๊งค์ใช้โดย VMware เป็นข้อเสียร้ายแรงหรือไม่


15

ฉันกำลังอ่านบทความเกี่ยวกับเทคโนโลยีบางอย่างรวมถึงบทความนี้เกี่ยวกับความแตกต่างระหว่างวิธีที่ VMware และไฮเปอร์วีทำการกำหนดเวลา CPU

ฉันสงสัยว่าฉันจะได้รับข้อมูลวัตถุประสงค์บางอย่างเกี่ยวกับเรื่องนี้หรือไม่ ดูเหมือนว่าการจัดตารางเวลาแก๊งค์ที่ใช้โดย VMware นั้นเป็นข้อเสียอย่างมาก แต่ฉันไม่ต้องการที่จะดื่ม coolaid มันส่งผลกระทบต่อประสิทธิภาพอย่างจริงจังหรือการทำซ้ำล่าสุดของ Hyper visors ของ VMware สามารถแก้ไขปัญหานี้ได้หรือไม่?

แก้ไข: เมื่อฉันพูดถึงข้อเสียเปรียบฉันหมายถึงความสัมพันธ์กับ "การตั้งเวลาโปรเซสเซอร์ฟรี" ของ Hyper V หรือ KVM ทำ เนื้อหาที่ฉันกำลังอ่านไม่ได้บอกว่ามีปัญหาใด ๆ กับ "การตั้งเวลาตัวประมวลผลฟรี" ที่หลีกเลี่ยงการตั้งเวลาแบบแก๊งค์


3
การตั้งเวลาแก๊งค์ทำงานได้ดีกว่าสำหรับรหัสเก่าที่ไม่เคยทดสอบกับโปรเซสเซอร์เสมือนที่อาจทำงานด้วยความเร็วและ / หรือเวลาต่างกัน
Brian

คำตอบ:


22

เช่นเดียวกับการร้องเพลงBloody Maryในกระจกห้องน้ำที่มีแสงสว่างมืดครึ้มมาดูกันว่าเราสามารถพา Jake Oshins มาแสดง ...

การจัดตารางแก๊งยังหมายถึงการจัดกำหนดการร่วม ฉันคิดว่า VMware ชอบการจัดตารางเวลาร่วมกับคำว่าการจัดตารางเวลากลุ่ม

ใน ESX เวอร์ชันก่อนหน้าเวอร์ชัน 3.x, VMware ใช้การจัดกำหนดการร่วมแบบ "เข้มงวด" ซึ่งมีข้อเสียของการซิงโครไนซ์ ใน ESX 3.x ขึ้นไป VMware เปลี่ยนเป็นการจัดตารางเวลาร่วม "ผ่อนคลาย"

การจัดตารางเวลาร่วมที่ผ่อนคลายแทนที่การจัดกำหนดการร่วมที่เข้มงวดใน ESX 3.x และได้รับการปรับปรุงในรุ่นต่อ ๆ มาเพื่อให้เกิดการใช้งาน CPU ที่ดีขึ้นและเพื่อรองรับเครื่องเสมือนมัลติโปรเซสเซอร์ การจัดตารางเวลาร่วมที่ผ่อนคลายมีคุณสมบัติที่โดดเด่นไม่กี่เมื่อเทียบกับอัลกอริทึมการจัดตารางเวลาร่วมที่เข้มงวด สิ่งสำคัญที่สุดของทั้งหมดในขณะที่อัลกอริทึมการจัดกำหนดการร่วมที่เข้มงวดการมี vCPU ที่มีการปกคลุมด้วยวัตถุฉนวนทำให้เครื่องเสมือนทั้งหมดหยุดทำงานร่วมกัน ในอัลกอริทึมการจัดกำหนดการร่วมที่ผ่อนคลาย vCPU ชั้นนำจะตัดสินใจว่าควรหยุดร่วมกันโดยอิงกับความเบ้กับ vCPU พี่น้องที่ช้าที่สุดหรือไม่ หากความเบ้มากกว่าขีด จำกัด vCPU ชั้นนำจะหยุดตัวเอง โปรดทราบว่า vCPU ที่ล่าช้าเป็นสิ่งที่ทำให้ความคืบหน้าน้อยกว่า vCPU พี่น้องที่เร็วที่สุด ในขณะที่ผู้นำ vCPU เป็นสิ่งที่ทำให้มีความคืบหน้าอย่างมีนัยสำคัญมากกว่าพี่น้องที่ช้าที่สุด vCPU โดยการติดตาม vCPU พี่น้องที่ช้าที่สุดตอนนี้เป็นไปได้ที่แต่ละ vCPU จะทำการตัดสินใจกำหนดเวลาร่วมของตนเองโดยอิสระ เช่นเดียวกับการหยุดพักการตัดสินใจในการเริ่มต้นร่วมนั้นก็เป็นรายบุคคลเช่นกัน เมื่อ vCPU พี่น้องที่ช้าที่สุดเริ่มดำเนินการ vCPU แบบ co-stop จะมีสิทธิ์เริ่มต้นร่วมและสามารถกำหนดขึ้นอยู่กับความพร้อมใช้งานของ pCPU สิ่งนี้จะช่วยแก้ปัญหาการแตกแฟรกเมนต์ของ CPU ในอัลกอริทึมการจัดกำหนดการร่วมที่เข้มงวดโดยไม่ต้องกำหนดกลุ่ม vCPU เพื่อกำหนดเวลาร่วมกัน ในตัวอย่างก่อนหน้าของเครื่องเสมือน 4- vCPU เครื่องเสมือนสามารถดำเนินการไปข้างหน้าได้แม้ว่าจะมี pCPU ที่ไม่ทำงานเพียงเครื่องเดียวเท่านั้น สิ่งนี้ช่วยปรับปรุงการใช้งาน CPU อย่างมีนัยสำคัญ โดยการติดตาม vCPU พี่น้องที่ช้าที่สุดตอนนี้เป็นไปได้ที่แต่ละ vCPU จะทำการตัดสินใจกำหนดเวลาร่วมของตนเองโดยอิสระ เช่นเดียวกับการหยุดพักการตัดสินใจในการเริ่มต้นร่วมนั้นก็เป็นรายบุคคลเช่นกัน เมื่อ vCPU พี่น้องที่ช้าที่สุดเริ่มดำเนินการ vCPU แบบ co-stop จะมีสิทธิ์เริ่มต้นร่วมและสามารถกำหนดขึ้นอยู่กับความพร้อมใช้งานของ pCPU สิ่งนี้จะช่วยแก้ปัญหาการแตกแฟรกเมนต์ของ CPU ในอัลกอริทึมการจัดกำหนดการร่วมที่เข้มงวดโดยไม่ต้องกำหนดกลุ่ม vCPU เพื่อกำหนดเวลาร่วมกัน ในตัวอย่างก่อนหน้าของเครื่องเสมือน 4- vCPU เครื่องเสมือนสามารถดำเนินการไปข้างหน้าได้แม้ว่าจะมี pCPU ที่ไม่ทำงานเพียงเครื่องเดียวเท่านั้น สิ่งนี้ช่วยปรับปรุงการใช้งาน CPU อย่างมีนัยสำคัญ โดยการติดตาม vCPU พี่น้องที่ช้าที่สุดตอนนี้เป็นไปได้ที่แต่ละ vCPU จะทำการตัดสินใจกำหนดเวลาร่วมของตนเองโดยอิสระ เช่นเดียวกับการหยุดพักการตัดสินใจในการเริ่มต้นร่วมนั้นก็เป็นรายบุคคลเช่นกัน เมื่อ vCPU พี่น้องที่ช้าที่สุดเริ่มดำเนินการ vCPU แบบ co-stop จะมีสิทธิ์เริ่มต้นร่วมและสามารถกำหนดขึ้นอยู่กับความพร้อมใช้งานของ pCPU สิ่งนี้จะช่วยแก้ปัญหาการแตกแฟรกเมนต์ของ CPU ในอัลกอริทึมการจัดกำหนดการร่วมที่เข้มงวดโดยไม่ต้องกำหนดกลุ่ม vCPU เพื่อกำหนดเวลาร่วมกัน ในตัวอย่างก่อนหน้าของเครื่องเสมือน 4- vCPU เครื่องเสมือนสามารถดำเนินการไปข้างหน้าได้แม้ว่าจะมี pCPU ที่ไม่ทำงานเพียงเครื่องเดียวเท่านั้น สิ่งนี้ช่วยปรับปรุงการใช้งาน CPU อย่างมีนัยสำคัญ เมื่อ vCPU พี่น้องที่ช้าที่สุดเริ่มดำเนินการ vCPU แบบ co-stop จะมีสิทธิ์เริ่มต้นร่วมและสามารถกำหนดขึ้นอยู่กับความพร้อมใช้งานของ pCPU สิ่งนี้จะช่วยแก้ปัญหาการแตกแฟรกเมนต์ของ CPU ในอัลกอริทึมการจัดกำหนดการร่วมที่เข้มงวดโดยไม่ต้องกำหนดกลุ่ม vCPU เพื่อกำหนดเวลาร่วมกัน ในตัวอย่างก่อนหน้าของเครื่องเสมือน 4- vCPU เครื่องเสมือนสามารถดำเนินการไปข้างหน้าได้แม้ว่าจะมี pCPU ที่ไม่ทำงานเพียงเครื่องเดียวเท่านั้น สิ่งนี้ช่วยปรับปรุงการใช้งาน CPU อย่างมีนัยสำคัญ เมื่อ vCPU พี่น้องที่ช้าที่สุดเริ่มดำเนินการ vCPU แบบ co-stop จะมีสิทธิ์เริ่มต้นร่วมและสามารถกำหนดขึ้นอยู่กับความพร้อมใช้งานของ pCPU สิ่งนี้จะช่วยแก้ปัญหาการแตกแฟรกเมนต์ของ CPU ในอัลกอริทึมการจัดกำหนดการร่วมที่เข้มงวดโดยไม่ต้องกำหนดกลุ่ม vCPU เพื่อกำหนดเวลาร่วมกัน ในตัวอย่างก่อนหน้าของเครื่องเสมือน 4- vCPU เครื่องเสมือนสามารถดำเนินการไปข้างหน้าได้แม้ว่าจะมี pCPU ที่ไม่ทำงานเพียงเครื่องเดียวเท่านั้น สิ่งนี้ช่วยปรับปรุงการใช้งาน CPU อย่างมีนัยสำคัญ เครื่องเสมือนสามารถดำเนินการไปข้างหน้าได้แม้ว่าจะมี pCPU ว่างเพียงอันเดียวเท่านั้น สิ่งนี้ช่วยปรับปรุงการใช้งาน CPU อย่างมีนัยสำคัญ เครื่องเสมือนสามารถดำเนินการไปข้างหน้าได้แม้ว่าจะมี pCPU ว่างเพียงอันเดียวเท่านั้น สิ่งนี้ช่วยปรับปรุงการใช้งาน CPU อย่างมีนัยสำคัญ

ข้อมูลข้างต้นจากตัวเองของ VMware เอกสาร

ดังนั้น VMware จึงไม่ได้ใช้การจัดตารางเวลาที่เข้มงวดอีกต่อไป ฉันจะปฏิบัติต่อเอกสารโดยตรงจากผู้ขายว่ามีอำนาจมากกว่า

สิ่งเดียวที่จะทำให้คุณมีตัวเลขที่แข็งคือมาตรฐานและขึ้นอยู่กับประเภทของรหัสที่ซีพียูกำลังทำงานอยู่ทั้งหมด แต่ฉันสามารถบอกคุณได้ว่าหาก VMware มีข้อเสียเช่นนั้นพวกเขาก็จะไม่ได้มีส่วนแบ่งในตลาด virtualization


ดีใจที่ฉันถาม นี่ดูเหมือนจะเป็นวิธีการทางการตลาดแบบที่ฉันเคยเห็นมันอธิบายไว้ในเอกสาร / บทความจาก MS
red888

8
ESX รุ่นก่อนปี 2549 มีข้อเสียเมื่อเทียบกับ Hyper-V (ในแง่ของการกำหนดเวลา CPU อย่างน้อย) ซึ่งเปิดตัวในปี 2551 หากใครตกใจกับสิ่งนี้พวกเขาสมควรได้รับบัตร geek
Chris S

ดังนั้นถ้าฉันติดตั้ง MSDOS แบบเธรดเดียว (duh!) ใน 16-core VM ทุกรอบของ CPU ของ VM จะไม่ล็อค 16 คอร์บนโฮสต์ แต่มีเพียงหนึ่ง pCPU? นี่ไม่ใช่ความเร็วของ CPU เป็นข้อเสียเปรียบหลักของการจัดตารางเวลาแก๊งค์
dyasny

"การกำหนดเวลาแก๊งเข้มงวดกว่าการจัดตารางเวลา" - ลิงก์ - ที่นี่การตั้งเวลาแก๊งไม่ได้เรียกว่าการจัดกำหนดการร่วม พิจารณาฉันสับสน!
Robin

16

โอเคไรอันคุณทำวันของฉัน ฉันไม่ได้อ่านฟอรั่มนี้มากเท่าที่ฉันเคยทำ แต่ฉันบังเอิญไปเช็คอิน

Red888 คุณควรรู้ล่วงหน้าว่าฉันเป็นสถาปนิกซอฟต์แวร์ที่ทำงานกับ Hyper-V ที่ Microsoft ฉันคิดว่าคนส่วนใหญ่ที่อ่านข้อความนี้มีความสามารถในการคลิกที่ลิงค์ชื่อของฉันด้านล่างนี้และค้นพบว่าหรือแม้กระทั่ง Googling ฉัน แต่สำหรับคำตอบนี้มันมีประโยชน์ที่จะมั่นใจได้อย่างสมบูรณ์ว่า

โดยทั่วไปการตั้งเวลาแก๊งค์นั้นมีประโยชน์หาก hypervisor ไม่มีวิธีใดที่จะมีอิทธิพลต่อพฤติกรรมของระบบปฏิบัติการที่ทำงานอยู่ภายใน VM แน่นอนว่าทำไม VMware จึงเริ่มต้นด้วยวิธีนี้ พวกเขาไม่ได้เป็นเจ้าของระบบปฏิบัติการใด ๆ ดังนั้นเป้าหมายของพวกเขาคือทำให้ระบบปฏิบัติการที่มีอยู่ทำงานได้ดี ถ้าฉันเป็นพวกเขานี่คือที่ที่ฉันจะเริ่มต้น

การจัดตารางเวลาแบบแก๊งค์และ VMware อาจกล่าวได้ว่าฉันพูดถูกเรื่องนี้มีข้อ จำกัด มากมายเกี่ยวกับวิธีที่คุณสามารถใช้ตัวประมวลผลทางกายภาพภายในเครื่อง ไฮเปอร์ไวเซอร์มักจะไม่สามารถหาทรัพยากรที่เหมาะสมได้ในขณะนี้ ดังนั้นพวกเขาจึงปรับเปลี่ยนอัลกอริทึมของพวกเขาในช่วงหลายปีที่ผ่านมาโดยมองหาวิธีที่จะจัดตารางเวลาให้ดีขึ้น

Microsoft (และอาจเป็น บริษัท อื่นหลายแห่ง) เริ่มต้นด้วยมุมมองที่แตกต่าง เราเป็นเจ้าของ Windows เราจะทำให้ Windows ทำงานได้ดีเมื่อทำการจำลองเสมือน และการจัดตารางแก๊งจึงไม่จำเป็น เราจะไม่รำคาญที่จะสร้างตัวจัดตารางเวลากลุ่ม

ที่น่าสนใจเราที่ Microsoft สนใจเกี่ยวกับ Windows ที่ทำงานได้ดีเมื่อเทียบกับระบบปฏิบัติการอื่น ๆ มากกว่าที่เราสนใจเกี่ยวกับ Hyper-V ที่ดูดีกว่า VMware หรือ KVM หรือ Xen หรือ Oracle หรือ Unisys เป็นต้นดังนั้นเราจึงเผยแพร่อินเทอร์เฟซที่ Windows ใช้เพื่อร่วมมือกับไฮเปอร์ไวเซอร์ นี่คือลิงค์หากคุณสงสัย แต่ฉันไม่แนะนำให้อ่านก่อนนอน:

http://www.bing.com/search?q=Hypervisor+Top-Level+Functional+Specification+3.0a%3A+Windows+Server+2012&src=IE-SearchBox&FORM=IESR02

ดังนั้นผู้จำหน่ายไฮเปอร์ไวเซอร์ใด ๆ จึงสามารถเปิดเผยสิ่งที่จะกระตุ้นให้เกิดพฤติกรรมการทำงานร่วมกันจาก Windows หลายคนมี ฉันไม่รู้ว่า VMware มีหรือไม่หรือจะเปิดเผยสิ่งนี้ คุณต้องถามพวกเขาหรือคนที่ให้ความสนใจพวกเขาเป็นอย่างมาก และถ้าพวกเขาทำฉันจะประหลาดใจมากถ้าพวกเขาไม่ได้ปรับเปลี่ยนตารางเวลาเพื่อผ่อนคลายมากขึ้น แน่นอนว่าข้อความสุดท้ายคือการเก็งกำไรที่บริสุทธิ์

ดังนั้นกำไรของฉันคือฉันสงสัยว่าคุณควรตัดสินใจซื้อในปี 2014 ตามการทำงานของตัวกำหนดเวลาไฮเปอร์ไวเซอร์ ฉันสงสัยว่าตอนนี้พวกเขาทั้งหมดค่อนข้างดี ไม่กี่ปีที่ผ่านมานั่นอาจไม่เป็นจริง

คุณควรลองปริมาณงานของคุณในระบบต่าง ๆ และดูวิธีการทำงาน ฉันจะเดิมพันประสิทธิภาพที่ดีที่สุดของคุณลงมาไม่ว่าจะเป็นที่เก็บข้อมูลและเครือข่ายของคุณตรงกับความต้องการของคุณ


นั่นคือสำหรับข้อมูล ฉันเพิ่งอ่านเกี่ยวกับสิ่งนี้และถามคำถามผ่านความอยากรู้อยากเห็นทางวิชาการ
red888

4
วุ้ย Bloody Mary ของฉันทำงาน! : D ดีเสมอที่เห็นคุณหยุด
Ryan Ries
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.