Rosetta 2 สำหรับ Linux: การเพิ่มประสิทธิภาพผ่านการรองรับโมเดลหน่วยความจำแบบ TSO

BigGo Editorial Team
Rosetta 2 สำหรับ Linux: การเพิ่มประสิทธิภาพผ่านการรองรับโมเดลหน่วยความจำแบบ TSO

Apple ยังคงพัฒนาเทคโนโลยี Rosetta 2 อย่างต่อเนื่อง โดยล่าสุดได้นำการปรับปรุงประสิทธิภาพที่สำคัญมาสู่เครื่องเสมือน Linux ที่ทำงานบน Apple Silicon ผ่านการรองรับโมเดลหน่วยความจำแบบ Total Store Ordering (TSO) การพัฒนานี้ถือเป็นก้าวสำคัญในการรองรับการทำงานของโปรแกรม x86_64 บนระบบที่ใช้ ARM

ความสำคัญของการรองรับ TSO

แพตช์เคอร์เนลที่เพิ่งประกาศออกมาช่วยเพิ่มการรองรับโมเดลหน่วยความจำแบบ TSO สำหรับคำสั่ง x86_64 ที่ถูกคอมไพล์ใหม่ ซึ่งอาจช่วยเพิ่มประสิทธิภาพของ Rosetta ในสภาพแวดล้อม Linux การปรับปรุงนี้รวมถึงฟีเจอร์ต่างๆ เช่น การรองรับการสลับบริบทสำหรับบิต ACTLR.TSOEN และความสามารถในการควบคุมกระบวนการใหม่ผ่าน API แบบ prctl

การตอบรับจากชุมชนและผลกระทบในโลกแห่งความเป็นจริง

ชุมชนนักพัฒนาได้ตอบรับการปรับปรุงนี้ในเชิงบวก โดยเฉพาะอย่างยิ่งประโยชน์ในการใช้งานจริง ดังที่นักพัฒนาคนหนึ่งได้แบ่งปันประสบการณ์:

Rosetta 2 สำหรับ Linux เป็นฟีเจอร์ที่ผมชื่นชอบที่สุดของ Mac ในตอนนี้ ผมทำงานกับโปรเจกต์หนึ่งมาหลายปีที่ต้องพึ่งพาไลบรารีที่คอมไพล์ได้เฉพาะบนสถาปัตยกรรม amd64... ผมไม่พบความแตกต่างด้านความเร็วที่สังเกตได้ แม้ว่าเราจะต้องปรับการหน่วงเวลาสำหรับการทดสอบการทำงานพร้อมกันและเธรดบางอย่างเพื่อรองรับ Rosetta

ความก้าวหน้าทางเทคนิคและข้อจำกัด

การพัฒนาล่าสุดยังได้นำการรองรับส่วนขยายเวกเตอร์ที่ดีขึ้น โดย Rosetta รองรับ AVX2 ตั้งแต่ต้นปีนี้ ซึ่งแก้ไขข้อจำกัดสำคัญที่นักพัฒนาเคยเผชิญเมื่อทำงานกับไบนารีที่ต้องการส่วนขยายเวกเตอร์

ความท้าทายในการนำไปใช้

แม้ว่าแพตช์จะพร้อมใช้งาน แต่การนำไปใช้ต้องอาศัยการแพตช์เคอร์เนลด้วยตนเอง ซึ่งสร้างความกังวลในชุมชนนักพัฒนา เครื่องมือพัฒนายอดนิยมอย่าง Docker และ Colima ยังไม่ได้นำการปรับแต่ง TSO มาใช้โดยค่าเริ่มต้น แม้ว่าจะมีการหารือเกี่ยวกับการรวมเข้าไปก็ตาม

ความพยายามในการผลักดันสู่ต้นน้ำ

มีข้อสังเกตว่า Apple ได้พยายามผลักดันการเปลี่ยนแปลงเหล่านี้เข้าสู่เคอร์เนล Linux แต่แพตช์ถูกปฏิเสธเนื่องจากความกังวลเกี่ยวกับการแยกส่วนและวิธีการนำไปใช้ที่ไม่เป็นมาตรฐาน สิ่งนี้แสดงให้เห็นถึงความท้าทายที่ยังคงมีอยู่ในการเชื่อมโยงการปรับแต่งแบบกรรมสิทธิ์กับระบบโอเพนซอร์ส

ผลกระทบในอนาคต

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