อินเทลเริ่มสาธิตการใช้งานชุดคำสั่ง TSX ใน Haswell

by lew
10 November 2012 - 07:15

ใกล้สิ้นปี ทางอินเทลก็จะถึงรอบการอัพเกรดชิปยกสายเป็น Haswell ซึ่งเป็นรอบของการยกเครื่องสถาปัตยกรรมภายใน หลังจากรอบของ Ivy Bridge เป็นรอบของการอัพเกรดกระบวนการผลิตเป็นหลัก ในการอัพเกรดครั้งนี้ นอกจากรูปแบบเดิมๆ ของการอัพเกรดคือการทำงานที่เร็วขึ้น และการจัดการพลังงานที่ดีขึ้นแล้ว สิ่งที่สำคัญมากคือชุดคำสั่ง TSX ที่เปิดตัวใน Haswell เป็นครั้งแรก

TSX หรือ Transactional Synchronization Extensions เป็นชุดคำสั่งพิเศษเพื่อรองรับการประมวลผลขนานแบบ transactional memory (TM) ทำให้การอ่านและแก้ไขค่าในหน่วยความจำเป็นไปในรูปแบบ transaction แบบเดียวกับฐานข้อมูลที่เราใช้กันทุกวันนี้ โดยก่อนหน้านี้ TM เป็นหัวข้องานวิจัยและมีซีพียูทดลองออกมาบ้างแล้ว แต่ Haswell จะเป็นซีพียูในตลาดหลักตัวแรกที่รองรับฟีเจอร์นี้

ข้อดีของการทำ TM มีสองข้อหลัก คือ โปรแกรมเมอร์จะทำงานประมวลผลขนานได้ง่ายขึ้น เพียงแค่ประกาศส่วนที่เป็น transaction ตัวซีพียูและระบบปฎิบัติการจะคำนวณให้เองว่าหน่วยความจำส่วนใดถูกแก้ไขโดยเธรด (thread) อื่นๆ หรือไม่ ซึ่งง่ายกว่าการใช้ mutex ล็อกไปมาเองค่อนข้างมาก และอีกความได้เปรียบคือ ในกระบวนการล็อกทรัพยากร ตัวซีพียูและระบบปฏิบัติการจะสามารถจัดลำดับการทำงานได้อย่างละเอียด ทำให้แต่ละเธรดต้องรอทรัพยากรน้อยลง และมีโอกาสที่โค้ดจะต้องถูกยกเลิกการทำงาน (เพราะมีเธรดอื่นมาแย่งทรัพยากร) น้อยลง ทำให้ประสิทธิภาพโดยรวมดีขึ้น

ชุดคำสั่ง TSX ถูกแบ่งย่อยเป็นอีกสองชุดคำสั่งภายใน ได้แก่ Hardware Lock Elision (HLE) ที่เป็นการอัพเกรดระบบการทำงานของ mutex แต่เดิมให้มีประสิทธิภาพดีขึ้น และไม่ต้องแก้ไข (หรือกระทั่งคอมไพล์) โค้ดเดิม อีกชุดคำสั่งคือ Restricted Transactional Memory (RTM) ที่เปลี่ยนรูปแบบการเขียนโปรแกรมไปเป็นการประกาศส่วนที่เป็น transaction เหมือนการเขียนฐานข้อมูล

อินเทลปล่อยชุดจำลองการทำงานของ Haswell ที่ชื่อว่า Intel® Software Development Emulator รุ่นใหม่ออกมาให้จำลองว่าเมื่อนำโปรแกรมไปรันบน Haswell ด้วยชุดคำสั่งใหม่แล้วจะได้ความเร็วดีขึ้นอย่างไรบ้างแล้ว ถ้าใครทำงานระดับที่ต้องการรีดประสิทธิภาพกันมากๆ อาจจะลองศึกษาแนวทางนี้ดูกันได้

ที่มา - Intel

Blognone Jobs Premium