Google

กูเกิลเผยแพร่เอกสาร "Disks for Data Centers" แสดงมุมมองของศูนย์ข้อมูลขนาดใหญ่อย่างกูเกิลเองต่อกระบวนการเชื่อมต่อกับดิสก์ว่าเป็นมาตรฐานที่ใช้ต่อกันมานานและอาจจะไม่เหมาะสมต่อศูนย์ข้อมูลยุคต่อไป โดยข้อเสนอระบุถึงความเปลี่ยนแปลงที่เป็นไปได้ 10 ประการ ที่จะทำให้ดิสก์ในยุคต่อไปเหมาะกับศูนย์ข้อมูลยุคใหม่ยิ่งขึ้น

ข้อเสนอได้แก่

  1. ปรับความสูงดิสก์ใหม่ จากเดิมดิสก์ 3.5 นิ้วจะสูงประมาณ 1 นิ้ว ในอนาคตดิสก์ควรสามารถปรับความสูงได้ตามความต้องการ ทำให้สามารถใส่จานแม่เหล็กได้เพิ่มขึ้นเพื่อลดต้นทุนต่อความจุลง
  2. ย้ายแคชไปอยู่ในเมนบอร์ดแทนที่จะอยู่บนดิสก์ ทำให้ปรับปรุงนโยบายการแคชได้ตามการใช้งานจริง, ปรับขนาดแคชได้จากหน่วยความจำหลักของเครื่อง
  3. ปรับนโยบายการอ่านเขียนได้ เพื่อให้เข้ากับเทคโนโลยี shingled magnetic recording (SMR) โดยระบบปฏิบัติการอาจจะมีนโยบายการเขียนแบบต่อเนื่องเพื่อให้เข้ากับแนวทางของ SMR ที่การเขียนจะมีผลกระทบต่อแทร็กข้างเคียง การทำงานร่วมกับระหว่างระบบปฏิบัติการและดิสก์จะทำให้ผู้ผลิตสามารถเพิ่มความจุต่อดิสก์ได้ในอนาคต
  4. แสดงข้อมูลประสิทธิภาพอย่างละเอียด ดิสก์ควรแสดงข้อมูลอย่างละเอียดว่าดีเลย์ที่เกิดขึ้นเป็นเพราะอะไรบ้าง (มีความผิดพลาดหรือ seek time สูง)
  5. ปรับนโยบายการอ่านซ้ำ แต่เดิมดิสก์มักพยายามอ่านซ้ำไปจำนวนหนึ่งเมื่อมีความผิดพลาด แต่เพื่อการปรับแต่ง latency ในศูนย์ข้อมูล ระบบปฏิบัติการควรจะควบคุมค่าเหล่านี้ได้เอง
  6. ปรับอัตราความผิดพลาดได้ ในศูนย์ข้อมูลมักมีการกระจายข้อมูลข้ามเครื่องอยู่แล้ว ระบบปฏิบัติการควรรับผิดชอบว่าจะตั้งนโยบายการแก้ไขความผิดพลาดอย่างไร หรือแม้แต่อาจจะไม่มีกระบวนการแก้ไขความผิดพลาดเลย
  7. เพิ่ม API การทำงานซ่อมบำรุงดิสก์ ที่ตัวดิสก์เองมักมีการปรับข้อมูลเพื่อป้องกันความผิดพลาด กระบวนการเหล่านี้ควรเปิดให้ระบบปฏิบัติการเข้าควบคุมมากขึ้น
  8. ไม่ต้องยึดขนาดเป็น TB ให้เลขลงตัว เพราะตัวเลขขนาดดิสก์เหล่านี้ต้องเผื่อพื้นที่สำหรับการย้ายข้อมูลและสำรองพื้นที่ที่เสียหาย และบ้างครั้งดิสก์ก็ใช้พื้นที่ไม่เต็มพื้นที่จริง
  9. ขยายขนาด sector จากเดิมมักไม่เกิน 4KiB ในอนาคตอาจจะขยายไปได้ถึง 64KiB และย้ายงานแก้ไขความผิดพลาดไปอยู่กับระบบปฏิบัติการแทน
  10. ปรับแต่งการจัดการคิวคำสั่ง เช่นการใส่ลำดับความสำคัญของคำสั่งได้ว่าคำสั่งใดควรสำคัญกว่าคำสั่งอื่นๆ

โดยรวมๆ แล้วดูกูเกิลจะต้องการเข้าควบคุมการทำงานของดิสก์ในระดับต่ำ และให้ผู้ผลิตย้ายงานออกจากตัวดิสก์แทบทั้งหมด

ที่มา - The Register

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

แสดงมุมมองของศูนย์ข้อมูลขนาดใหญ่อย่างกูเกิลเองต่อดิสก์เอง

กูเกิลเองต่อดิสก์เอง ?

โดยระบบปฎิบัติการอาจจะมีนโยบายการเขียนแบบต่อเนื่อง

การทำงานร่วมกับระหว่างระบบปฎิบัติการและดิสก์

ระบบปฎิบัติการควรจะควบคุมค่าเหล่านี้ได้เอง

ระบบปฎิบัติการควรรับผิดชอบว่าจะตั้งนโยบาย

ไปอยู่กับระบบปฎิบัติการแทน

ระบบปฎิบัติการ => ระบบปฏิบัติการ

ที่การเขียนจะมีผลกระทบต่อแทรกข้างเคียง

แทรก => แทร็ก

laner Sat, 27/02/2016 - 12:57

ข้อ 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 ต่อไปครับ)

icez Sat, 27/02/2016 - 13:06

In reply to by laner

  1. ถ้า volume เยอะพอ (ซึ่งสำหรับกูเกิลผมว่าเกินพอ) อยาก custom ใช้เองก็ทำไปได้อยุ่แล้วครับ
  2. อันนี้สำหรับใช้ใน idc อยุ่แล้วครับ ถ้าหาเรื่องเอาไปใช้ข้างนอกก็ถือว่าใช้ของผิดประเภทเอง
  3. raid เป็นเรื่องล้าหลังในกลุ่ม data center ขนาดใหญ่ครับ :)
  4. controller ของ harddisk ปกติมันมีข้อมูลอยู่แล้วครับ ทุก operation มันบอกหมด แต่ไม่ได้เอาข้อมูลมาแสดงผลให้ (ใน smart ก้ไม่มี)
  5. ถ้า optimize ได้เองละเอียดมากๆ hdd แบบจานแม่เหล็กก็ยังไปได้อีกไกลครับ

google มี server แสนๆเครื่อง มีพนักงานดูแลเป็นหมื่นๆ google คงมีเหตุผลของมันแหละที่เสนอแบบนี้

เช่น เวลา hdd เสีย บางทีเสียแค่จานแม่เหล็ก แต่ของเก่าต้องทิ้งทั้งลูก

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

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

McKay Sat, 27/02/2016 - 16:27

In reply to by laner

"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 ก็เป็นเรื่องที่สมเหตุสมผลดีนะครับ

เสนอ 1 ไอเดีย ทำเหมือน ซีดี ครับ แต่ทำเป็นชุด ชุดระ 5-10 จานรวมกันหัวอ่าน แล้วมีแกนหัวอ่านสำหรับนำมาวางซ้อนกันแล้วมีแกนด้านล่างที่เป็นฐานใช้มอเตอร์ขนาดใหญ่หมุนจานพร้อมกัน และอีกแกนไว้หมุนหัวอ่านของชุดจานพร้อมกัน ก็จะได้เหมือน RAID0 แบบกายภาพแล้วเพิ่มได้ไม่จำกัด ตราบที่มอเตอร์ฐานสามารถหมุนจานทุกจานไหว เท่านี้เราก็แยกคอนโทรเลอร์รวมกันเป็นที่เดียว แล้วแยกแคลชไปอยู่บนแรมหรือแคลชแบบสลอตแรมแยกอีกที ตัวคอนโทรลเลอร์อาจใช้ CPU หรือ Micro controller ควบคุมหัวอ่านกับ I/O ได้แถมปรับแต่งได้เองด้วย

ผมเดาว่ากูเกิลมีทำใช้เองอยู่แล้วล่ะครับ ส่วนที่เสนอเอกสารออกมาเป็นเสนอแนวทางเบื้องต้นไว้ให้คนอื่นๆมากกว่า อารมณ์ประมาณว่า 'นี่น่ะ ถ้าไม่รู้จะเริ่มยังไง เอาแบบนี้ไหมล่ะ' โดยอาศัยข้อมูลจากประสบการณ์ของกูเกิลเอง

We hope this is the beginning of a new era of “data center” disks and a new broad and open discussion about how to evolve disks for data centers. The ideas presented here provide some guidance and some options, but we believe the best solutions will come from the combined efforts of industry, academia and other large customers.

และหากไปดูเอกสารในที่มา กูเกิลคาดว่าความต้องการฮาร์ดดิสในตลาด data center จะไปเร็วเกินความเร็วในการ 'พัฒนา' ฮาร์ดดิสในที่สุด และคิดว่า data center ในอนาคตจะกลายเป็นตลาดหลักสำหรับฮาร์ดดิส จากตัวอย่างแค่ youtube โดดๆ มีผู้ใช้อัพโหลดวิดิโอ 400 ชั่วโมงทุกๆนาที ซึ่งหากนับที่ 1GiB ต่อวิดิโอหนึ่งชั่วโมง เท่ากับว่าต้องการพื้นที่ 1PB เก็บวิดิโอใหม่ๆ ทุกวัน และจะเพิ่มขึ้นเรื่อยๆ 10 เท่าทุกปี

The rise of portable devices and services in the Cloud has the consequence that (spinning) hard disks will be deployed primarily as part of large storage services housed in data centers. Such services are already the fastest growing market for disks and will be the majority market in the near future. For example, for YouTube alone, users upload over 400 hours of video every minute, which at one gigabyte per hour requires a petabyte (1M GB) of new storage every day. As shown in the graph, this continues to grow exponentially, with a 10x increase every five years.

But the current generation of modern disks, often called “nearline enterprise” disks, are not optimized for this new use case, and instead are designed around the needs of traditional servers. We believe it is time to develop, jointly with the industry and academia, a new line of disks that are specifically designed for large­ scale data centers and services

พออ่านดูเห็นที่มาที่ไป ผมว่าไม่แปลกที่กูเกิลเสนอไว้ตั้งแต่เนิ่นๆ
ตัว paper ไม่กี่สิบหน้าเองครับ ถ้าใครสนใจลองอ่านดู

แล้วอากุ๋ไม่ไปแจมกับ OCP หว่า ? .. กลุ่มนั้นเค้าทำกันจนมี vendor มารับทำตามสเปคของ OCP ไปหลายส่วนแล้ว, ไปร่วมทำสเปคให้มี segment ที่ชัดเจนไม่ overlap กัน คนที่อยากใช้ด้วยจะได้ไม่มึนงง คนผลิตก้อยิ่งง่ายไม่ต้องแตก line มากเกินจำเปน

อันนี้เป็น paper แนวทางเริ่มต้นนี่ครับ อนาคตจะฟอร์มกลุ่มไหนมาคงไม่ต่างกัน (ไม่จำเป็นต้องเป็น OCP ด้วย คุยกับ SATA-IO น่าจะตรงกว่า)