เทคโนโลยีประยุกต์บนซากปรักหักพังของ blockchain fever หรือประโยชน์เชิงปฏิบัติของการกระจายทรัพยากร

ในช่วงไม่กี่ปีที่ผ่านมา ฟีดข่าวเต็มไปด้วยข้อความเกี่ยวกับเครือข่ายคอมพิวเตอร์แบบกระจายรูปแบบใหม่ที่ปรากฏขึ้นอย่างไม่มีที่มา เป็นการแก้ (หรือพยายามแก้ไข) ปัญหาต่างๆ มากมาย - ทำให้เมืองมีความชาญฉลาด ช่วยโลกจากลิขสิทธิ์ ผู้ละเมิดหรือในทางกลับกัน ถ่ายโอนข้อมูลหรือทรัพยากรอย่างลับๆ หลบหนีจาก - ภายใต้การควบคุมของรัฐในพื้นที่ใดพื้นที่หนึ่ง โดยไม่คำนึงถึงสาขา พวกเขาทั้งหมดมีคุณสมบัติทั่วไปหลายประการ เนื่องจากความจริงที่ว่าเชื้อเพลิงสำหรับการเติบโตของพวกเขาคืออัลกอริธึมและเทคนิคที่เผยแพร่สู่สาธารณะในช่วงที่สกุลเงินดิจิทัลเติบโตอย่างรวดเร็วและเทคโนโลยีที่เกี่ยวข้อง อาจมีบทความทุกบทความที่สามเกี่ยวกับแหล่งข้อมูลเฉพาะทางในเวลานั้นมีคำว่า "บล็อคเชน" ในชื่อ - การอภิปรายเกี่ยวกับโซลูชันซอฟต์แวร์ใหม่และแบบจำลองทางเศรษฐกิจกลายเป็นเทรนด์ที่โดดเด่นมาระยะหนึ่งแล้ว เมื่อเทียบกับพื้นหลังที่มีการใช้งานด้านอื่น ๆ ของระบบคอมพิวเตอร์แบบกระจาย ตกชั้นไปเป็นเบื้องหลัง

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

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

อย่างแรกไม่ว่าจะฟังดูแปลกแค่ไหนก็ตามคือปัญหาในการเลือกทิศทาง

ทิศทางอาจถูกต้องหรืออาจนำไปสู่ทางตัน - ไม่มีทางหนีจากสิ่งนี้ได้ การจัดหาผู้มีญาณทิพย์แบบรวมศูนย์ให้กับชุมชนไอทียังคงล่าช้า แต่จะต้องเลือกทางเลือกเพื่อไม่ให้ตกหลุมพรางแบบดั้งเดิมของทีมที่ใช้พื้นที่กว้างเกินไป และพยายามสร้างโปรเจ็กต์การคำนวณแบบกระจายทั่วไปที่ไม่เฉพาะเจาะจงตั้งแต่เริ่มต้น ดูเหมือนว่าขอบเขตของงานไม่ได้น่ากลัวนัก ส่วนใหญ่เราเพียงแค่ต้องใช้การพัฒนาที่มีอยู่: รวมโหนดเข้ากับเครือข่าย ปรับอัลกอริธึมเพื่อกำหนดโทโพโลยี แลกเปลี่ยนข้อมูลและติดตามความสอดคล้องของพวกเขา แนะนำวิธีการจัดอันดับโหนดและการค้นหา ฉันทามติ และแน่นอน เพียงสร้างภาษาคิวรีของคุณเอง รวมถึงภาษาทั้งหมดและสภาพแวดล้อมการประมวลผล แนวคิดเกี่ยวกับกลไกสากลนั้นน่าดึงดูดมากและปรากฏขึ้นอย่างต่อเนื่องในพื้นที่ใดพื้นที่หนึ่ง แต่ผลลัพธ์สุดท้ายยังคงเป็นหนึ่งในสามสิ่ง: โซลูชันที่สร้างขึ้นนั้นกลายเป็นต้นแบบที่ จำกัด พร้อมด้วย "ToDos" ที่ถูกระงับจำนวนมาก ” ใน Backlog หรือกลายเป็นสัตว์ประหลาดที่ใช้งานไม่ได้พร้อมที่จะลากใครก็ตามที่แตะต้อง “หนองน้ำทัวริง” ที่น่ารังเกียจหรือตายอย่างปลอดภัยจากความจริงที่ว่าหงส์กั้งและหอกซึ่งดึงโครงการไปในทิศทางที่เข้าใจยาก เพียงแค่ใช้ความพยายามมากเกินไป

อย่าทำผิดพลาดโง่ๆ ซ้ำๆ และเลือกทิศทางที่มีช่วงงานที่ชัดเจนและเหมาะสมกับโมเดลการคำนวณแบบกระจาย คุณสามารถเข้าใจคนที่พยายามทำทุกอย่างในคราวเดียว แน่นอนว่ามีให้เลือกมากมาย และหลายสิ่งหลายอย่างดูน่าสนใจอย่างยิ่งทั้งจากมุมมองของ R&D และการพัฒนา และจากมุมมองของเศรษฐศาสตร์ การใช้เครือข่ายแบบกระจายคุณสามารถ:

  • ฝึกอบรมโครงข่ายประสาทเทียม
  • ประมวลผลกระแสสัญญาณ
  • คำนวณโครงสร้างโปรตีน
  • เรนเดอร์ฉาก XNUMX มิติ
  • จำลองอุทกพลศาสตร์
  • ทดสอบกลยุทธ์การซื้อขายสำหรับตลาดหลักทรัพย์

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

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

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

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

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

การโต้ตอบในเครือข่ายมีสามด้าน: ผู้ให้บริการทรัพยากร ผู้ให้บริการงาน และผู้ดำเนินการเครือข่าย (หรือที่เรียกว่าศูนย์ควบคุม เครือข่าย ฯลฯ ในข้อความ)

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

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

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

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

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

ปัญหาของการแบ่งส่วนและการกระจายการคำนวณจะต้องได้รับการแก้ไขไม่เพียง แต่จากมุมมองของการปรับเวลาดำเนินการให้เหมาะสมเท่านั้น แต่ยังรวมถึงมุมมองของการใช้ทรัพยากรและการประหยัดพลังงานอย่างเหมาะสมที่สุดเนื่องจากประสิทธิภาพทางเศรษฐกิจของเครือข่ายขึ้นอยู่กับสิ่งนี้ . หากการแก้ปัญหาไม่สำเร็จขอแนะนำให้ติดตั้งเครื่องขุดบนโหนดหรือปิดเครื่องเพื่อไม่ให้เกิดเสียงดังและไม่เปลืองไฟฟ้า

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

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

ผลลัพธ์ของการคำนวณจะผ่านขั้นตอนการประกอบ หลังจากนั้นผู้ใช้จะได้รับผลการเรนเดอร์ และเครือข่ายจะได้รับรางวัล

ดังนั้นองค์ประกอบการทำงานของกรอบแนวนอนที่ออกแบบมาสำหรับการสร้างระบบการเรนเดอร์แบบกระจายจึงเกิดขึ้น:

  1. บัญชีผู้ใช้ส่วนบุคคลพร้อมการเข้าถึงเว็บ
  2. ชุดซอฟต์แวร์สำหรับการติดตั้งบนโหนด
  3. โดยระบบควบคุม:
    • ระบบย่อยการควบคุมการเข้าถึง
    • การเรนเดอร์ระบบย่อยการสลายตัวของงาน
    • ระบบย่อยการกระจายงาน
    • การรวมระบบย่อย
    • ภูมิทัศน์เซิร์ฟเวอร์และระบบย่อยการจัดการโทโพโลยีเครือข่าย
    • การบันทึกและระบบย่อยการตรวจสอบ
    • ระบบย่อยของผู้เชี่ยวชาญการเรียนรู้
    • Rest API หรืออินเทอร์เฟซอื่นๆ สำหรับนักพัฒนาภายนอก

คุณคิดอย่างไร? หัวข้อนี้ก่อให้เกิดคำถามอะไรบ้าง และคุณสนใจคำตอบอะไรบ้าง

ที่มา: will.com

เพิ่มความคิดเห็น