บริษัทตรวจสอบภายใน

เรื่อง เทคนิคการเขียนโปรแกรม Map/Reduce สำหรับการประมวลผลข้อมูลขนาดใหญ่ (ตอนที่ 2)

เทคนิควิธี Tagged Map/Reduce


เทคนิควิธีการทำ Tagged Map/Reduce เป็นวิธีการเขียนโปรแกรมประมวลผลขอมูลขนาดใหญ่ที่เน้นในเรื่องของการรักษาความปลอดภัยให้กับข้อมูล โดยการกำหนดการทำงานภายในฟังก์ชัน Map และฟังก์ชัน Reduce ดังตัวอย่างรูปที่ 1



บริษัทตรวจสอบภายใน

รูปที่ 1 Example code corresponding to original map (left) and tagged-map(right) for the WordCount job [1]


รูปที่ 1 แสดงตัวอย่างโค๊ดของฟังก์ชันการทำ Map ให้กับข้อมูล ซึ่งทางซ้าย คือ ฟังก์ชัน Map ที่ไม่ได้ระบุการติด Tagged กับข้อมูล ส่วนโค๊ดทางขวา คือ มีการระบุการติด Tagged ให้กับข้อมูล โดยทั่วไป Map/Reduce จะจัดการกับข้อมูลอินพุตและเอาต์พุตให้อยู่ในรูปของค่าคู่คีย์ ส่วนในการติด Tagged Map/Reduce จะกำหนดค่าข้อมูลอินพุตและเอาต์พุตเป็นค่าคู่ โดยที่ t หมายถึงสัญลักษณ์ที่แสดงว่าเป็น Sensitive Data หรือ Non-Sensitive Data


เทคนิควิธีการทำ Tagged Map/Reduce เกิดจากแนวคิดที่ว่าบน Hybrid Could [2] เป็นการทำงานร่วมกันระหว่าง Private Could กับ Public Could ที่จะใช้ความยึดหยุ่นของระบบ Public Could ในการโหลดหรือจัดการกับข้อมูลที่อยู่นอกเหนือความสามารถของทรัพยากรภายใน Private Could ที่จะทำได้ แต่ในขณะที่ Private Could สามารถเชื่อถือได้ในการรักษาความปลอดภัยสำหรับการทำ Map/Reduce ให้กับข้อมูล ส่วน Public Could อาจมีความเสี่ยงในการรั่วไหลของข้อมูลที่สำคัญ Flow Freely [3] โดยไม่มีการป้องกันที่เหมาะสม ซึ่งการทำ Map/Reduce ทั่วไปไม่ได้ถูกออกแบบมาสำหรับการประมวลผลผสมผสานระหว่าง Sensitive Data ที่ประมวลผลบน Private Cloud และ Non-sensitive Data ที่ประมวลผลบน Public Cloud ถ้าข้อมูลสามารถไหลไปมาได้อย่างอิสระบน Hybrid Cloud ย่อมเพิ่มความเสี่ยงในการรั่วไหลของข้อมูล Tagged Map/Reduce จึงถูกนำมาใช้ในการแยกข้อมูลที่เป็น Sensitive Data กับ Non-sensitive Data ออกจากกันบน Hybrid Cloud



บริษัทตรวจสอบภายใน

รูปที่ 2 Tagged Map/Reduce Flow [4]


การติด Tagged ให้กับข้อมูลนั้นจะทำขยายต่อจากการทำ Map/Reduce ทั่วไป โดยการติด Tagged พร้อมกันไปกันค่าคู่ Key/Value แท็กจะทำหน้าที่เหมือนผู้ช่วยสำหรับการย้ายถ่ายโอนข้อมูลภายใน Hybrid Cloud เพื่อให้มั่นใจว่าไม่มีข้อมูลที่สำคัญสามารถรั่วไหลออกไปจาก Private Cloud ได้ จากรูปที่ 2 แสดงการทำงานของ Tagged Map/Reduce จากมุมมองของผู้เขียนโปรแกรมหรือผู้ใช้ สี่เหลี่ยมสีเท่าหมายถึงไฟล์ข้อมูลที่ถูกติด Tagged เพื่อแสดงถึงข้อมูลที่เป็น Sensitive Data ที่ถูกจัดตารางการทำงานให้ไปประมวลผลบน Private Cloud ส่วนข้อมูลที่ไม่ถูกติด Tagged จะถูกส่งไปประมวลผลบน Public Cloud ข้อมูลที่เป็น Non-sensitive Data ที่เกิดขึ้นระหว่างการทำ Map/Reduce บน Hybrid Cloud สามารถถูกโอนถ่ายของมูลไปมาได้ แต่ข้อมูล Sensitive Data ไม่สามารถทำได้ต้องประมวลผลบน Private Cloud เท่านั้น จะเห็นได้ว่าการติด Tagged สำหรับการแยก Sensitive Data ออกจาก Non-sensitive Data อย่างชัดเจนนั้น สามารถช่วยในการป้องกันการรั่วไหลของข้อมูลที่สำคัญในการประมวลผลบน Hybrid Cloud และสำหรับการทดสอบการประสิทธิภาพการทำงานของ Tagged Map/Reduce ก็ได้มีการกำหนดโหมดในการจัดตารางงานแบ่งออกเป็น 4 โหมด ได้แก่

บริษัทตรวจสอบภายใน

รูปที่ 3 Single-Phase Mode (SP), Two-Phase Crossing Mode (TPC), Two-Phase Non-crossing Mode (TPNC) and Hand-off Mode (HO) [4]


1. Single-Phase Mode (SP) การทำงานภายในโหมดนี้จะเริ่มด้วยการทำ Map ให้กับข้อมูลโดยการแยกข้อมูลที่เป็น Non-sensitive Data ทำงานบน Public Cloud และแยก Sensitive Data ทำงานบน Private Cloud ส่วนการทำ Reduce จะมีการโอนถ่ายข้อมูลจาก Public Cloud ให้ทำการ Reduce ที่โนดเดียวกันบน Private Cloud
2. Two-Phase Crossing Mode (TPC) การทำ Map/Reduce ในโหมดนี้จะมีการโอนถ่ายข้อมูลไปมาระหว่าง Hybrid Cloud โดยข้อมูลที่เป็น Non-sensitive Data ที่เกิดใน Private Cloud สามารถถูกส่งกลับไปบน Private Cloud เพื่อทำการ Reduce และจะถูกส่งกลับมายัง Private Cloud อีกครั้งเพื่อทำการ Reduce ครั้งสุดท้าย
3. Two-Phase Non-crossing Mode (TPNC) การทำ Map/Reduce ในโหมดนี้จะไม่มีการโอนถ่ายข้อมูลข้ามไปมาระหว่าง Hybrid Cloud ถึงแม้จะมีข้อมูลที่เป็น Non-sensitive Data เกิดขึ้นบน Private Cloud ก็ตาม ข้อมูลบน Public Cloud จะถูกส่งกลับมาทำการ Reduce ในครั้งสุดท้าย
4. Hand-off Mode (HO) การทำ Map/Reduce ในโหมดนี้จะแยกออกจากกันอย่างชัดเจน เมื่อมีข้อมูลที่เป็น Non-sensitive Data เกิดขึ้นบน Private Cloud ข้อมูลจะถูกส่งไปให้บน Public Cloud เพื่อทำการ Reduce กับข้อมูล โดยไม่มีการส่งกลับมายัง Private Cloud
เทคนิควิธีการทำ Tagged Map/Reduce ได้มีการทำการทดลองกับข้อมูลที่ประกอบไปด้วย Sensitive Data กับ Non-Sensitive Data แล้วทำการเปรียบเทียบประสิทธิภาพการทำงานทั้ง 4 โหมดกับ Hadoop โดยทำการวัดการเกิด bottleneck ระหว่างการทำ Inter-cloud communication การวัดเวลาที่ใช้ในการประมวลผลในการทำ MR Job และเวลาที่ถูกใช้บน CPU time ที่ประมวลผลบน Public cloud ผลจากการทดลองได้ดังนี้ [4]

บริษัทตรวจสอบภายใน

รูปที่ 4 Inter-Cloud communication [4]


จากรูปที่ 4 จะเห็นได้ว่าการทดสอบ Inter-cloud communication โหมด TPNC และ HO จะเกิด bottleneck น้อยกว่าโหมด SP,TPC และ Hadoop เนื่องจากเกิดการโอนถ่ายข้อมูลระหว่างการทำ Map/Reduce บน Hybrid Cloud น้อยกว่าโหมดอื่น ๆ

บริษัทตรวจสอบภายใน

รูปที่ 5 Job elapsed time [4]


จากรูปที่ 5 สามารถสรุปได้ว่าโหมดทั้ง 4 โหมดการทำงาน เมื่อการทำ Map/Reduce มีข้อมูลที่ประกอบไปด้วย Sensitive Data เป็นจำนวนมาก จะใช้เวลาในการทำ MR job เพิ่มขึ้นเรื่อย ๆ มากกว่าการทำ Map/Reduce ใน Hadoop ที่ไม่มีฟังก์ชันการติด Tagged ให้กับข้อมูล เป็นเพราะความต้องการความปลอดภัยในการป้องกันการรั่วไหนของข้อมูลบน Hybrid Cloud จึงจำเป็นต้องใช้เวลาในการทำ Map/Reduce มากขึ้น

บริษัทตรวจสอบภายใน

รูปที่ 6 Computation outsourcing ratio [4]


จากรูปที่ 6 สามารถสรุปได้ว่า CPU time ที่ถูกใช้ในการประมวลผลบน Public cloud โหมด Hand-off Mode (HO) สามารถทำ Computation outsourcing ratio ได้ดีกว่าโหมดอื่น ๆ เนื่องจากในโหมดนี้จะแยกการทำ Map/Reduce ออกจากกันอย่างชัดเจน ไม่มีการส่งข้ามไปมาบน Hybrid Cloud


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


1. Chunwang, Z., C. Ee-Chien, and R.H.C. Yap. Tagged-MapReduce: A General Framework for Secure Computing with Mixed-Sensitivity Data on Hybrid Clouds. in Cluster, Cloud and Grid Computing (CCGrid), 2014 14th IEEE/ACM International Symposium on. 2014.
2. Zhang, K., et al., Sedic: Privacy-aware data intensive computing on hybrid clouds. In CCS. 2011.
3. Ristenpart, T., et al., Hey, you, get off of my cloud: exploring information leakage in third-party compute clouds, in Proceedings of the 16th ACM conference on Computer and communications security. 2009, ACM: Chicago, Illinois, USA. p. 199-212.
4. Chunwang, Z., C. Ee-Chien, and R.H.C. Yap. Tagged-MapReduce: A General Framework for Secure Computing with Mixed-Sensitivity Data on Hybrid Clouds. in Cluster, Cloud and Grid Computing (CCGrid), 2014 14th IEEE/ACM International Symposium on. 2014.


ดร. สุวรรณี ธูปจีน
อังคารที่ 16 มกราคม 2561


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