กูเกิลเผยแพร่เอกสาร "Disks for Data Centers" แสดงมุมมองของศูนย์ข้อมูลขนาดใหญ่อย่างกูเกิลเองต่อกระบวนการเชื่อมต่อกับดิสก์ว่าเป็นมาตรฐานที่ใช้ต่อกันมานานและอาจจะไม่เหมาะสมต่อศูนย์ข้อมูลยุคต่อไป โดยข้อเสนอระบุถึงความเปลี่ยนแปลงที่เป็นไปได้ 10 ประการ ที่จะทำให้ดิสก์ในยุคต่อไปเหมาะกับศูนย์ข้อมูลยุคใหม่ยิ่งขึ้น
ข้อเสนอได้แก่
- ปรับความสูงดิสก์ใหม่ จากเดิมดิสก์ 3.5 นิ้วจะสูงประมาณ 1 นิ้ว ในอนาคตดิสก์ควรสามารถปรับความสูงได้ตามความต้องการ ทำให้สามารถใส่จานแม่เหล็กได้เพิ่มขึ้นเพื่อลดต้นทุนต่อความจุลง
- ย้ายแคชไปอยู่ในเมนบอร์ดแทนที่จะอยู่บนดิสก์ ทำให้ปรับปรุงนโยบายการแคชได้ตามการใช้งานจริง, ปรับขนาดแคชได้จากหน่วยความจำหลักของเครื่อง
- ปรับนโยบายการอ่านเขียนได้ เพื่อให้เข้ากับเทคโนโลยี shingled magnetic recording (SMR) โดยระบบปฏิบัติการอาจจะมีนโยบายการเขียนแบบต่อเนื่องเพื่อให้เข้ากับแนวทางของ SMR ที่การเขียนจะมีผลกระทบต่อแทร็กข้างเคียง การทำงานร่วมกับระหว่างระบบปฏิบัติการและดิสก์จะทำให้ผู้ผลิตสามารถเพิ่มความจุต่อดิสก์ได้ในอนาคต
- แสดงข้อมูลประสิทธิภาพอย่างละเอียด ดิสก์ควรแสดงข้อมูลอย่างละเอียดว่าดีเลย์ที่เกิดขึ้นเป็นเพราะอะไรบ้าง (มีความผิดพลาดหรือ seek time สูง)
- ปรับนโยบายการอ่านซ้ำ แต่เดิมดิสก์มักพยายามอ่านซ้ำไปจำนวนหนึ่งเมื่อมีความผิดพลาด แต่เพื่อการปรับแต่ง latency ในศูนย์ข้อมูล ระบบปฏิบัติการควรจะควบคุมค่าเหล่านี้ได้เอง
- ปรับอัตราความผิดพลาดได้ ในศูนย์ข้อมูลมักมีการกระจายข้อมูลข้ามเครื่องอยู่แล้ว ระบบปฏิบัติการควรรับผิดชอบว่าจะตั้งนโยบายการแก้ไขความผิดพลาดอย่างไร หรือแม้แต่อาจจะไม่มีกระบวนการแก้ไขความผิดพลาดเลย
- เพิ่ม API การทำงานซ่อมบำรุงดิสก์ ที่ตัวดิสก์เองมักมีการปรับข้อมูลเพื่อป้องกันความผิดพลาด กระบวนการเหล่านี้ควรเปิดให้ระบบปฏิบัติการเข้าควบคุมมากขึ้น
- ไม่ต้องยึดขนาดเป็น TB ให้เลขลงตัว เพราะตัวเลขขนาดดิสก์เหล่านี้ต้องเผื่อพื้นที่สำหรับการย้ายข้อมูลและสำรองพื้นที่ที่เสียหาย และบ้างครั้งดิสก์ก็ใช้พื้นที่ไม่เต็มพื้นที่จริง
- ขยายขนาด sector จากเดิมมักไม่เกิน 4KiB ในอนาคตอาจจะขยายไปได้ถึง 64KiB และย้ายงานแก้ไขความผิดพลาดไปอยู่กับระบบปฏิบัติการแทน
- ปรับแต่งการจัดการคิวคำสั่ง เช่นการใส่ลำดับความสำคัญของคำสั่งได้ว่าคำสั่งใดควรสำคัญกว่าคำสั่งอื่นๆ
โดยรวมๆ แล้วดูกูเกิลจะต้องการเข้าควบคุมการทำงานของดิสก์ในระดับต่ำ และให้ผู้ผลิตย้ายงานออกจากตัวดิสก์แทบทั้งหมด
ที่มา - The Register
Comments
งา => งาน
กูเกิลเองต่อดิสก์เอง ?
ระบบปฎิบัติการ => ระบบปฏิบัติการ
แทรก => แทร็ก
ข่าวต่อไป Google สร้างโรงงานผลิต harddisk เป็นของตัวเอง :)
~ HudchewMan's Station & @HudchewMan~
ผลิตเองเลยดีกว่า
มันก็แนวเดียวกะออกแบบ server เอง ด้วยเหตุผลเฉพาะตน
ข้อ 1 แก้ไขยากเพราะเป็นมาฐานสากล ซึ่งเริ่มจาก 1.4" 2.5" 3.5" 5.2" ที่เหลือใช้ในปัจจุบันจริง ๆ ก็คือ 1.4 2.5 และ 3.5 นิ้ว
ข้อ 2 แคชมีไว้เพื่อสำรองข้อมูลบางอย่างที่ถูกเรียกใช้งานบ่อย ถ้าสมมุติย้ายแคชไปไว้ที่เมนบอร์ดแล้วฮาร์ดดิสก์ที่ใช้ภายนอกจะทำงานได้อย่างมีเสถรภาพได้อย่างไร
ข้อ 3 จริงๆ ระบบการเขียนข้อมูลของฮาร์ดดิสก์ในปัจจุบันมีระบบ NCQ ควบคุมการเขียนแบบต่อเนื่องอยู่แล้วทีนี้คุณๆ กับเอาไปทำดาต้าเซนเตอร์ต่อเรดแบบ 50,60 ให้มันเขียนกระจายไปหลายเครื่องก็เป็นเรื่องธรรมดาเพราะไม่ได้ใช้เซิฟร์สตรองแค่เครื่องเดียว
ข้อ 4 ซีพียู แรม และเมนบอร์ดบนฮาร์ดดิสก์ ต่างก็ขมักขเม่นกับการอ่านเขียนจึงไม่มีเวลาตรวจสอบตัวเองไปด้วยทำงานไปด้วยสักเท่าไหร่ กว่าจะรู้ตัวว่ามีแบดเซกเตอร์ก็ต่อเมื่อพยายามเขียนแล้วแต่ไม่สำเร็จบางครั้งก็พยายามที่จะเขียนและอ่านให้สำเร็จจนกลายเป็นอาร์ดดิสก์พังไปในที่สุด(ไฟแดงตลอดกาล)((I/O Bad)error))
ข้อ 5 ถ้าทำได้ก็นับว่าดี แต่โดยส่วนมากหัวอ่านจะเสียทำให้นโยบายข้างต้นใช้ไม่ได้ผล หรือพื้นผิวมีปัญหากับสารเครือบแม่เหล็กบวกกับพัดลมเคสก็ดังยังกับเครื่องบิน ถ้ามีที่ที่ทำให้ฮาร์ดดิสก์ไม่สะเทือนได้มันจะพังช้ากว่านี้+กับอุณหภูมิคงที่ด้วย(พัดลมกันสะเทือนแต่ก็ยังสะเทือนเหมือนเดิมเพราะถ้ามันไม่พังแล้วจะขายอะไรได้อีก)
ข็อ 6,7,8
ข้อ 9 ขนาดของเซกเตอร์ 4 กิโลไบต์ นึกว่าเกิดจากมาตรฐานการเข้ารหัสไฟล์แบบ NTFS เสียอีก 64 กิโลไบต์ ต่อหนึ่ง Sector คิดว่าจำเป็นต้องลดขนาดหัวอ่านให้เล็กลงไปอีกหรือไม่ก็ขยายขนาดเซกเตอร์เปลี่ยนเป็นมาตรฐานใหม่ แต่ในปัจจุบันคิดว่าสามารถทำได้ด้วยเทคโนโลยีนาโนเมตเตอร์
ข้อ 10 นโยบายนี้ ต้องสร้างอาร์ดดิสก์สำหรับดาต้าเซนเตอร์โดยตรงว่า แต่ ฮาร์ดดิสก์จานแม่เหล็กหมุนนี้ยังไปได้ไกลอีกกว่านี้หรือครับ นึกว่าเทคโนโลยีการบันทึกแบบใหม่จะมาแทนที่เสียอีก(ออลืมไป มันราคาถูกนี้เองสรุป ใช้แบบ 24*7 ต่อไปครับ)
google มี server แสนๆเครื่อง มีพนักงานดูแลเป็นหมื่นๆ google คงมีเหตุผลของมันแหละที่เสนอแบบนี้
เช่น เวลา hdd เสีย บางทีเสียแค่จานแม่เหล็ก แต่ของเก่าต้องทิ้งทั้งลูก
เคยเห็นในยูทูป Data Center ของกูเกิล ใช้เมนบอร์ดบ้านธรรมดาๆ นี้เอง และฮาร์ดดิสก์บ้าน ๆ ด้วยซ้ำไม่ใช้แบบเอ็นเตอร์ไพรส์ 1 บอร์ด 1 ฮาร์ดดิสก์
แต่ปัจจุบันไม่ทราบว่าปรับปรุงไปถึงไหนแล้วน่ะครับ
กูเกิลใช้เมนบอร์ดสั่งทำเฉพาะนานแล้วครับ อย่างน้อยๆ ตัวจ่ายไฟก็เป็นแบบไฟตรง 12V อย่างเดียว
lewcpe.com, @wasonliw
ในกรณีนี้ ถ้ากูเกิลจะสั่งให้บริษัทผู้ผลิตฮาร์ดดิสก์ ผลิตให้เฉพาะตามที่ตนต้องการ ก็อาจจะดีกว่า แต่ในทางกลับกันมันอาจจะแพงเพราะขายได้เฉพาะกูเกิล หรือ กลุ่มด้าต้าเซนเตอร์อื่น ๆ ที่ต้องการเท่านั้น +กับปัจจุบันเทคโนโลยีการบันทึกข้อมูลแบบใหม่ก็เริ่มเป็นที่นิยมแต่ก็มีความทนทานผู้ฮาร์ดดิสก์ไม่ได้ในส่วนของการอ่านเขียนบ่อย ๆ
"Disks for Data Centers" ครับ ไม่ได้เอามาใช้กับเครื่องทั่วไปนะ ผมว่าหลายๆข้อสมเหตุสมผลดีนะครับ
ส่วนข้อ 9 เนี่ย ขนาด sector ไม่เกี่ยวกับขนาดพื้นที่ข้อมูลบนฮาร์ดดิสนะครับ(ไม่จำเป็นต้องลดขนาดหัวอ่าน) พื้นที่ขนาด 4MB บน disk density เท่ากัน จะใช้พื้นที่เท่ากัน(ไม่รวม header)ไม่ว่าจะขนาด sector เท่าไหร่ครับ
ข้อดีของขนาด sector ขนาดใหญ่คือลดขนาดพื้นที่ header(gap, sync, mark, ECC) ทั้งหมด, เพิ่ม space efficiency สำหรับไฟล์ขนาดใหญ่(>= sector size@sector=cluster)
ส่วนก็เสียก็ space efficiency ลดลงสำหรับไฟล์ขนาดเล็ก (<sector size@sector=cluster) อันนี้แนะนำลองอ่านเรื่อง Advanced Format ดูครับ
การที่ปัจจุบันขนาดไฟล์มีขนาดใหญ่ขึ้น ระบบไฟล์บน datacenter ที่ใช้ cluster size ขนาดใหญ่เพื่อลด header จาก distributed file system อยู่แล้ว การเพิ่มขนาด sector size ให้ใหญ่ขึ้นตามขนาด cluster size ก็เป็นเรื่องที่สมเหตุสมผลดีนะครับ
Russia is just nazi who accuse the others for being nazi.
someone once said : ผมก็ด่าของผมอยู่นะ :)
ผลิตเองเลย ไม่ก็ซื้อ wdc
เสนอ 1 ไอเดีย ทำเหมือน ซีดี ครับ แต่ทำเป็นชุด ชุดระ 5-10 จานรวมกันหัวอ่าน แล้วมีแกนหัวอ่านสำหรับนำมาวางซ้อนกันแล้วมีแกนด้านล่างที่เป็นฐานใช้มอเตอร์ขนาดใหญ่หมุนจานพร้อมกัน และอีกแกนไว้หมุนหัวอ่านของชุดจานพร้อมกัน ก็จะได้เหมือน RAID0 แบบกายภาพแล้วเพิ่มได้ไม่จำกัด ตราบที่มอเตอร์ฐานสามารถหมุนจานทุกจานไหว เท่านี้เราก็แยกคอนโทรเลอร์รวมกันเป็นที่เดียว แล้วแยกแคลชไปอยู่บนแรมหรือแคลชแบบสลอตแรมแยกอีกที ตัวคอนโทรลเลอร์อาจใช้ CPU หรือ Micro controller ควบคุมหัวอ่านกับ I/O ได้แถมปรับแต่งได้เองด้วย
ทำแกนหมุนให้ทะลุระหว่างตัวโดยไม่ให้ฝุ่นเข้านี่ยากนะครับ
เงินเยอะอยู่แล้วจัดเองเลยไม่ต้องอิง economy of scale
ผมเดาว่ากูเกิลมีทำใช้เองอยู่แล้วล่ะครับ ส่วนที่เสนอเอกสารออกมาเป็นเสนอแนวทางเบื้องต้นไว้ให้คนอื่นๆมากกว่า อารมณ์ประมาณว่า 'นี่น่ะ ถ้าไม่รู้จะเริ่มยังไง เอาแบบนี้ไหมล่ะ' โดยอาศัยข้อมูลจากประสบการณ์ของกูเกิลเอง
และหากไปดูเอกสารในที่มา กูเกิลคาดว่าความต้องการฮาร์ดดิสในตลาด data center จะไปเร็วเกินความเร็วในการ 'พัฒนา' ฮาร์ดดิสในที่สุด และคิดว่า data center ในอนาคตจะกลายเป็นตลาดหลักสำหรับฮาร์ดดิส จากตัวอย่างแค่ youtube โดดๆ มีผู้ใช้อัพโหลดวิดิโอ 400 ชั่วโมงทุกๆนาที ซึ่งหากนับที่ 1GiB ต่อวิดิโอหนึ่งชั่วโมง เท่ากับว่าต้องการพื้นที่ 1PB เก็บวิดิโอใหม่ๆ ทุกวัน และจะเพิ่มขึ้นเรื่อยๆ 10 เท่าทุกปี
พออ่านดูเห็นที่มาที่ไป ผมว่าไม่แปลกที่กูเกิลเสนอไว้ตั้งแต่เนิ่นๆ
ตัว paper ไม่กี่สิบหน้าเองครับ ถ้าใครสนใจลองอ่านดู
แล้วอากุ๋ไม่ไปแจมกับ OCP หว่า ? .. กลุ่มนั้นเค้าทำกันจนมี vendor มารับทำตามสเปคของ OCP ไปหลายส่วนแล้ว, ไปร่วมทำสเปคให้มี segment ที่ชัดเจนไม่ overlap กัน คนที่อยากใช้ด้วยจะได้ไม่มึนงง คนผลิตก้อยิ่งง่ายไม่ต้องแตก line มากเกินจำเปน
อันนี้เป็น paper แนวทางเริ่มต้นนี่ครับ อนาคตจะฟอร์มกลุ่มไหนมาคงไม่ต่างกัน (ไม่จำเป็นต้องเป็น OCP ด้วย คุยกับ SATA-IO น่าจะตรงกว่า)
lewcpe.com, @wasonliw
.. ผมขอถอนคำพุดครับทั่นประธาน :)