การวัดเปรียบเทียบสมรรถนะของคอมพิวเตอร์

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

ค่าประสิทธิภาพของตัวประมวลผล 
โดยทั่วไปมักมีการเข้าใจที่ผิดว่าค่าความถี่ของสัญาณนาฬิกา (MHz, GHz) เพียงอย่างเดียว หรือค่าของจำนวนคำสั่งที่ทำเสร็จในหนึ่งรอบสัญญาณนาฬิกา (Instructions executed Per Clock, IPC) เพียงอย่างเดียวเป็นค่าประสิทธิภาพของตัวประมวลผล ในความเป็นจริงค่าประสิทธิภาพที่ถูกต้องของตัวประมวลผลคือค่าของความถี่สัญาณนาฬิกาและค่าของจำนวนคำสั่งที่ทำเสร็จในหนึ่งรอบสัญญาณนาฬิกา ดังสมการ [4, 5]

การเพิ่มประสิทธิภาพการทำงานของตัวประมวลผลจะสามารถทำได้ในสองลักษณะคือ การเพิ่มความถี่ของสัญญาณนาฬิกา หรือการเพิ่มค่าของ IPC ซึ่งการเพิ่มค่าของความถี่สัญญาณนาฬิกาสามารถเพิ่มได้โดยการปรับเปลี่ยนกระบวนการผลิต (Manufacturing Process) และ IPC จะสามารถทำได้โดยการออกแบบโครงสร้างของตัวประมวลผลในระดับ Micro Architecture เพื่อให้ได้ตัวประมวลผลที่มีประสิทธิภาพในการทำงานที่สูงที่สุด

Benchmark ดรรชนีชี้วัดประสิทธิภาพคอมพิวเตอร์ 
คำว่า Benchmark ในความเข้าใจโดยทั่วไปความหมายคือ เครื่องมือสำหรับชี้วัด หรือดรรชนีชี้วัดประสิทธิภาพของการทำงาน หรือระบบการทำงานที่ต้องการวัดผลลัพธ์ โดยให้ผลการวัดออกมาเป็นค่าเชิงปริมาณ ที่นับได้หรือรับรู้ได้ในเชิงรูปธรรม
Benchmark สำหรับระบบคอมพิวเตอร์ นั้นถูกใช้เป็นตัวชี้วัดประสิทธิภาพการทำงานของระบบคอมพิวเตอร์ ในด้านการวัดประสิทธิภาพการทำงานเชิงระบบ และการทำงานเชิงโปรแกรม ซึ่งเป็น 2 ประเภทหลัก ของโปรแกรมประเภท Benchmark ในปัจจุบัน
 การวัดประสิทธิภาพเชิงระบบ (System Synthetic) เป็นการวัดประสิทธิภาพการทำงานเชิงสังเคราะห์ของระบบ โดยผลที่ได้จากการทดสอบจะเป็นการวัดประสิทธิภาพในส่วนของการทำงานของโพรเชสเซอร์ เช่น การทำงานของระบบประมวลผลเชิงเลขจำนวนเต็ม (Integer) การทำงานของระบบทศนิยม (Floating Point unit) การทดสอบประสิทธิภาพการทำงานของอุปกรณ์รอบข้างต่างๆ เช่น การทดสอบระบบแสดงผล หน่วยความจำ ฮาร์ดดิสก์ ซีดีรอม ระบบเสียง
 การวัดประสิทธิภาพเชิงโปรแกรม (Application Synthetic) เป็นการวัดประสิทธิภาพในส่วนการทำงานของระบบคอมพิวเตอร์โดยรวมเมื่อทำงานกับโปรแกรมประยุกต์ประเภทต่างๆ ซึ่งกลุ่มของโปรแกรมประยุกต์ที่ใช้ทดสอบจะเป็นโปรแกรมที่ใช้กันอย่างแพร่หลาย เช่น โปรแกรมชุดออฟฟิศ โปรแกรมชุดอินเทอร์เน็ตเบราว์เซอร์ โปรแกรมชุดกราฟิก โดยจำลองสภาพแวดล้อมการทำงานในการทดสอบ

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

โปรแกรมประเภท Benchmark สำหรับ PC ได้มาจากแนวความคิดในการทดสอบประสิทธิภาพการทำงานของคอมพิวเตอร์ที่เป็นระบบงานใหญ่ๆ ตั้งแต่ mini computer จนถึง super computer และมีระบบปฏิบัติการแบบยูนิกซ์ พัฒนามาสู่ PC การทดสอบทำได้โดยการนำเอาข้อมูลทดสอบที่ถูกสร้างขึ้นเพื่อจุดประสงค์เฉพาะเจาะจง เช่น หากต้องการทดสอบประสิทธิภาพการทำงานของระบบทศนิยมของโพรเชสเซอร์ ข้อมูลตัวอย่างก็จะเป็นสมการทางคณิตศาสตร์ที่มีการคำนวณทศนิยมจำนวนหนึ่ง จากนั้นโปรแกรมจะทำการคำนวณเวลาที่ใช้ในการทำคำสั่งกับข้อมูลนั้นจนจบ แล้วเทียบออกมาเป็นคะแนนที่เป็นจำนวนเท่าของเครื่องอ้างอิง (เครื่องอ้างอิงคือเครื่องที่นำมาทดสอบด้วยโปรแกรม Benchmark ในครั้งแรก และได้ผลการทดสอบออกมาค่าหนึ่ง จากนั้น ค่าที่ได้นี้จะถูกนำมาแปลงเป็น Index เริ่มต้นที่มีค่าเท่ากับ 1.0)
เช่นหากได้คะแนน Index จากเครื่องทดสอบเท่ากับ 42.8 หมายความว่า เครื่องที่ทดสอบมีประสิทธิภาพในการทำงานเป็น 42.8 เท่าของเครื่องอ้างอิง

ความเชื่อถือได้ของ Benchmark 
ผลที่ได้จากการทดสอบมีความน่าเชื่อถือได้ในระดับใดนั้น เป็นสิ่งที่อธิบายได้ยากในขอบเขต Benchmark เนื่องจากในการทดสอบนั้น แต่ละครั้งจะมีค่าแปรร่วม หรือ พารามิเตอร์ ที่เข้ามาเกี่ยวข้องในหลายๆส่วน ทำให้การทดสอบเหล่านี้ไวต่อสิ่งรอบข้าง การทดสอบโดยใช้โปรแกรม Benchmark ตัวเดียวกัน กับเครื่องทดสอบ เครื่องเดียวกัน ทดสอบโดยระบบปฏิบัติการตัวเดียวกัน การทดสอบครั้งแรกทดสอบโดยไม่มีการปรับแต่งระบบ และการทดสอบครั้งที่ 2 ทดสอบโดยการปรับแต่งระบบปฏิบัติการเพียงเล็กน้อย อาจทำให้ผลการทดสอบต่างกันได้ตั้งแต่ 10% ขึ้นไป

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

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

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

Benchmark ที่เป็นที่ยอมรับ 
สำหรับอุตสาหกรรม PC กลุ่มทดสอบและวิจารณ์ระบบ ส่วนใหญ่จะให้การยอมรับโปรแกรมสำหรับทดสอบ Benchmark ที่พัฒนาโดยกลุ่มบริษัทที่เชี่ยวชาญการทดสอบ Benchmark สำหรับ PC ซึ่งได้แก่ โปรแกรมตระกูล winbench winstone จาก ziff davis โปรแกรม Sysmark จากค่าย BAPCO และ 3D mark จาก madonion นอกจากนี้ยังมีโปรแกรมทดสอบต่างๆ อีกหลายตัวที่ใช้กับในกลุ่มนักทดสอบอิสระ และโปรแกรมต่างๆ ที่กล่าวถึงมีการทำงานอย่างไร

Winbench 
โปรแกรมทดสอบ winbench เป็นโปรแกรมที่มุ่งเน้นการทดสอบประสิทธิภาพเชิงของระบบในรายละเอียดการทำงานในส่วนต่างๆของระบบ เช่น การทดสอบ CPU mark การทดสอบ FPU mark การทดสอบระบบแสดงผล ซึ่งค่าที่ได้จะเป็นดรรชนีที่สะท้อนถึงประสิทธิภาพของชิ้นส่วนที่นำมาประกอบเป็นเครื่องคอมพิวเตอร์

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

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

PC Mark 
โปรแกรมทดสอบ PC Mark เป็นโปรแกรมที่มุ่งเน้นการทดสอบประสิทธิภาพเชิงของระบบในรายละเอียดการทำงานในส่วนต่างๆของระบบ เช่น การทดสอบ CPU mark การทดสอบ FPU mark การทดสอบระบบแสดงผล ซึ่งค่าที่ได้จะเป็นดรรชนีที่สะท้อนถึงประสิทธิภาพของชิ้นส่วนที่นำมาประกอบเป็นเครื่องคอมพิวเตอร์เช่นเดียวกันกับ winbench

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

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

อ้างอิง 

 Walter J. Price Motorola, A Benchmark Tutorial IEEE Micro, Oct 1989, pp 28 – 43
 Intel Corporation, iCOMP® Index 3.0 Performance Brief, May 2000
 สัญญา คล่องในวัย, Bench Mark ดรรชนีชี้วัดประสิทธิภาพคอมพิวเตอร์, สารเนคเทค ปีที่8 ฉบับที่ 38 มกราคม – กุมภาพันธ์ 2544
 AMD, Understanding Processor Performance White Paper, Aug 24 2001
 Intel, Inside the NetBurst™ Micro-Architecture of the Intel® Pentium® 4 Processor

แหล่งข้อมูลอื่น 
 Java Micro Benchmark
 70 benchmarks

การวัดเปรียบเทียบสมรรถนะของคอมพิวเตอร์
ประสิทธิภาพคอมพิวเตอร์