seine ปรับแต่งการขุดด้วย CPU อัตโนมัติอย่างไร

· อ่าน 4 นาที

ทำความเข้าใจว่า seine ทำอะไรเมื่อจำนวนเธรด CPU เปลี่ยนระหว่างขุด คู่มือนี้อ้างอิงรุ่นเผยแพร่ v0.2.36 และอธิบายการปรับแต่งระหว่างทำงาน ตัวเลือกที่บันทึก และการปรับหน่วยความจำ เริ่มติดตั้งได้จากคู่มือขุด และดูความหมายของแต่ละแผงในคู่มือแดชบอร์ด

การปรับแต่ง CPU อัตโนมัติทำงานอย่างไร

คำตอบสั้นๆ

เมื่อเปิดระบบปรับแต่ง seine เริ่มขุดด้วยจำนวนที่บันทึกไว้และเข้ากันได้ หรือค่าประเมินจากฮาร์ดแวร์ แล้วเปรียบเทียบการตั้งค่าด้วยงานขุดจริง โดยวัดค่าฐาน ลองค่าผู้สมัคร และวัดค่าฐานอีกครั้ง RAM ที่มีและขอบเขตที่กำหนดจะจำกัดการค้นหาค่าที่เหมาะกับเครื่อง

การเปรียบเทียบค่าฐาน–ผู้สมัคร–ค่าฐานซ้ำจะนำไปสู่ค่าที่บันทึก โดยตรวจหน่วยความจำที่มีตลอดกระบวนการ

เริ่มขุดก่อนค้นหาค่าเสร็จ

ไม่ต้องระบุ --threads หากต้องการปรับเธรดอัตโนมัติ ในการขุดปกติ seine เลือกจำนวนเริ่มต้นภายในทรัพยากรปัจจุบันและเริ่มงานที่มีประโยชน์โดยไม่ไล่ทดสอบจำนวนเธรดแบบออฟไลน์ แคชที่เข้ากันได้อาจให้ค่าเริ่มต้น ส่วนเครื่องใหม่เริ่มจากค่าประเมินและปรับปรุงผ่านการเปรียบเทียบถัดไป

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

ทำไมเพิ่มเธรดแล้วอาจไม่ช่วย

แต่ละเธรด CPU ที่ทำงานใช้พื้นที่หน่วยความจำขนาดใหญ่และแชร์แบนด์วิดท์หน่วยความจำกัน เพิ่มเธรดทำให้งานพร้อมกันมากขึ้น แต่ผลขึ้นกับระบบทั้งหมด ตัวปรับแต่งเปรียบเทียบ CPU H/s รวม ไม่ได้ถือว่าจำนวนสูงสุดต้องเร็วที่สุด คู่มือ RAM อธิบายงบหน่วยความจำ

โปรไฟล์เริ่มต้นคือ balanced โปรไฟล์ควบคุมนโยบายปรับแต่งและค่าเริ่มต้นขณะทำงาน ส่วน efficiency เป็นตัวเลือกที่อาจให้ความสำคัญกับเธรดน้อยกว่า ใช้โปรไฟล์เดิมระหว่างประเมิน จำนวนเธรด การวางงานบน CPU และรูปแบบเพจหน่วยความจำมีผลร่วมกัน ผลจากเครื่องหรือการตั้งค่าอื่นจึงเป็นข้อมูลอ้างอิง ไม่ใช่ค่าที่ควรคัดลอกโดยอัตโนมัติ

เมื่อโปรแกรมอื่นต้องการ RAM จะเกิดอะไรขึ้น

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

การลดชั่วคราวไม่จำเป็นต้องลบจำนวนที่สูงกว่าซึ่งเคยเรียนรู้ แคชกับจำนวนที่ใช้งานมีหน้าที่ต่างกัน บน Linux พื้นที่ HugeTLB แบบระบุชัดที่คืนแล้วจะกลับสู่พูล huge page ที่ระบบจองไว้ seine ไม่ปรับขนาดพูลของระบบปฏิบัติการ ดูคู่มือ huge pages สำหรับการเปลี่ยนการจอง และแยกการตั้งค่านี้จาก RAM ว่างทั่วไป

seine ปรับเคอร์เนล CPU ด้วยหรือไม่

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

การเปลี่ยน CPU อัตโนมัติรักษาการเชื่อมต่อพูลและไม่รีสตาร์ตแบ็กเอนด์ GPU การสลับเคอร์เนลเกิดระหว่างแฮชที่เสร็จแล้วและเก็บพื้นที่ที่จัดสรรไว้ ต่างจากการกด + หรือ - เองในแดชบอร์ด ซึ่งรีสตาร์ตแบ็กเอนด์ขุด เชื่อมต่อพูลใหม่ และปิดการปรับ CPU อัตโนมัติสำหรับการรันนั้น อ่านบันทึกเพื่อแยกชนิดการเปลี่ยน

ผลปรับแต่งที่บันทึกนำกลับมาใช้อย่างไร

แคชเธรดเริ่มต้นคือ seine.cpu-autotune.json ใต้ --data-dir และแคชเคอร์เนลคู่กันคือ seine.cpu-autotune.json.kernels.json ไฟล์เหล่านี้เก็บค่าที่เรียนรู้แยกจากการตั้งค่าเชื่อมต่อพูล ใช้ไดเรกทอรีข้อมูลเดิมเมื่อเปิดโปรแกรมแต่ละครั้ง คู่มืออัปเดต อธิบายการรักษาไดเรกทอรีเมื่อเปลี่ยนแอป

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

เมื่อใดควรกำหนดจำนวนเธรดตายตัว

ใช้จำนวนคงที่เมื่อตั้งใจต้องการการตั้งค่าที่ทำซ้ำได้ เช่น --threads 4 ขอเธรด CPU สี่เธรดและโดยปกติปิดการปรับเธรดกับเคอร์เนลอัตโนมัติ --cpu-autotune-threads เปิดการปรับอย่างชัดเจนแม้ระบุจำนวนแล้ว ส่วน --disable-cpu-autotune-threads ปิดการปรับอัตโนมัติ เอกสารแฟล็ก อธิบายขอบเขตค้นหาและผลร่วมของตัวเลือก

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

คำถามที่พบบ่อย

seine ยังขุดระหว่างปรับจำนวนเธรด CPU หรือไม่

ใช่ ใน v0.2.36 การขุดปกติเริ่มจากค่าที่บันทึกไว้และเข้ากันได้ หรือค่าประเมินจากฮาร์ดแวร์ แล้วเปรียบเทียบเธรดด้วยงานขุดจริง โหมดเบนช์มาร์กออฟไลน์มีขั้นตอนปรับแต่งแยกต่างหาก จึงไม่ควรใช้ลำดับเริ่มต้นของโหมดนั้นอธิบายการขุดปกติ

ทำไมจำนวนเธรด CPU จึงเปลี่ยน

ระบบลองจำนวนเธรดใกล้เคียงและตอบสนองต่อหน่วยความจำที่มี การเปลี่ยนอาจเป็นการทดสอบประสิทธิภาพหรือการรับมือกับ RAM ที่ตึงตัว อ่านบันทึกควบคู่กับจำนวนเธรด และรอให้เปรียบเทียบเสร็จก่อนตัดสินจากแฮชเรตช่วงสั้น

seine บันทึกผลปรับแต่ง CPU ที่ไหน

ค่าเริ่มต้นคือ seine.cpu-autotune.json ในไดเรกทอรีข้อมูล ส่วนตัวเลือกเคอร์เนลใช้ไฟล์คู่กันที่ลงท้ายด้วย .kernels.json ใช้ไดเรกทอรีข้อมูลเดิมและให้โปรแกรมตรวจว่าผลที่บันทึกยังเข้ากับสภาพแวดล้อมปัจจุบันหรือไม่