วิศวกรรมประสิทธิภาพภายในวิศวกรรมระบบครอบคลุมชุดของบทบาท ทักษะ กิจกรรม แนวทางปฏิบัติ เครื่องมือ และสิ่งที่ส่งมอบที่นำไปใช้ในทุกขั้นตอนของวงจรชีวิตการพัฒนาระบบ ซึ่งทำให้มั่นใจได้ว่าโซลูชันจะได้รับการออกแบบ นำไปใช้งาน และสนับสนุนการปฏิบัติงานเพื่อตอบสนองความต้องการด้านประสิทธิภาพ ที่กำหนดไว้สำหรับการแก้ปัญหา วิศวกรรมประสิทธิภาพเกี่ยวข้องกับการแลกเปลี่ยนระหว่างประเภทของประสิทธิภาพอย่างต่อเนื่อง ในบางครั้งนักออกแบบ CPUสามารถหาวิธีสร้างCPU ให้มีประสิทธิภาพโดยรวมดีขึ้นโดยการปรับปรุงประสิทธิภาพในด้านใดด้านหนึ่ง ดังที่แสดงด้านล่าง โดยไม่ลดทอนประสิทธิภาพของ CPU ในด้านอื่นๆ ยกตัวอย่างเช่นการสร้าง CPU ออกจากดีขึ้นเร็วขึ้นทรานซิสเตอร์ อย่างไรก็ตาม บางครั้งการผลักดันประสิทธิภาพประเภทหนึ่งไปสู่จุดสูงสุดจะทำให้ CPU มีประสิทธิภาพโดยรวมที่แย่ลง เนื่องจากแง่มุมที่สำคัญอื่นๆ ถูกเสียสละเพื่อให้ได้ตัวเลขที่ดูน่าประทับใจ ตัวอย่างเช่นอัตรานาฬิกาของชิป(ดูตำนานเมกะเฮิรตซ์ ) Application Performance Engineering (APE) เป็นวิธีการเฉพาะภายในวิศวกรรมประสิทธิภาพที่ออกแบบมาเพื่อตอบสนองความท้าทายที่เกี่ยวข้องกับประสิทธิภาพของแอปพลิเคชันในสภาพแวดล้อมไอทีบนมือถือ คลาวด์ และภาคพื้นดินที่มีการกระจายมากขึ้น ซึ่งรวมถึงบทบาท ทักษะ กิจกรรม แนวทางปฏิบัติ เครื่องมือและผลงานที่นำไปใช้ในทุกขั้นตอนของวงจรชีวิตของแอปพลิเคชัน เพื่อให้แน่ใจว่าแอปพลิเคชันจะได้รับการออกแบบ นำไปใช้งาน และสนับสนุนในการปฏิบัติงานเพื่อให้เป็นไปตามข้อกำหนดด้านประสิทธิภาพที่ไม่ได้ใช้งาน
ประสิทธิภาพของคอมพิวเตอร์ของตัวชี้วัด (สิ่งที่จะวัด) ประกอบด้วยห้องว่าง , เวลาตอบสนอง , ความจุของช่อง , ความล่าช้า , เวลาเสร็จสิ้น , เวลาการให้บริการ , แบนด์วิดธ์ , ผ่าน , ประสิทธิภาพญาติ , scalability , ประสิทธิภาพต่อวัตต์ , อัตราการบีบอัด , ระยะเวลาในการเรียนการสอนเส้นทางและความเร็วขึ้น มีเกณฑ์มาตรฐานของCPU [2] ความพร้อมใช้งานของระบบมักจะวัดจากปัจจัยของความน่าเชื่อถือ - เมื่อความน่าเชื่อถือเพิ่มขึ้น ความพร้อมใช้งานก็เช่นกัน (กล่าวคือเวลาหยุดทำงานน้อยลง) ความพร้อมใช้งานของระบบอาจเพิ่มขึ้นด้วยกลยุทธ์ที่เน้นไปที่การเพิ่มความสามารถในการทดสอบและการบำรุงรักษา ไม่ใช่ที่ความน่าเชื่อถือ การปรับปรุงการบำรุงรักษาโดยทั่วไปง่ายกว่าความน่าเชื่อถือ ค่าประมาณการซ่อมบำรุง (อัตราการซ่อม) โดยทั่วไปก็แม่นยำกว่าเช่นกัน อย่างไรก็ตาม เนื่องจากความไม่แน่นอนในการประมาณการความน่าเชื่อถือโดยส่วนใหญ่แล้วจะมีขนาดใหญ่มาก จึงมีแนวโน้มที่จะครอบงำปัญหาความพร้อมใช้งาน (ความไม่แน่นอนของการคาดการณ์) แม้ว่าระดับความสามารถในการบำรุงรักษาจะสูงมาก เวลาในการตอบกลับคือระยะเวลาทั้งหมดที่ใช้ในการตอบกลับคำขอใช้บริการ ในการคำนวณซึ่งเป็นบริการที่สามารถเป็นหน่วยงานจากง่าย ๆIO ดิสก์ที่จะโหลดที่ซับซ้อนของหน้าเว็บ เวลาตอบสนองเป็นผลรวมของตัวเลขสามตัว: [3]
• เวลารอ - คำขอต้องรอนานแค่ไหนสำหรับคำขอที่อยู่ในคิวก่อนจึงจะทำงานได้
• เวลาในการส่ง – ระยะเวลาในการย้ายคำขอไปยังคอมพิวเตอร์ที่ทำงานและการตอบกลับกลับไปยังผู้ร้องขอ ผู้บริโภคส่วนใหญ่เลือกสถาปัตยกรรมคอมพิวเตอร์ (โดยปกติคือสถาปัตยกรรมIntel IA32 ) เพื่อให้สามารถเรียกใช้ซอฟต์แวร์ที่คอมไพล์ล่วงหน้าที่มีอยู่แล้วจำนวนมากได้ เนื่องจากไม่ค่อยมีความรู้เกี่ยวกับการวัดประสิทธิภาพคอมพิวเตอร์ บางตัวจึงเลือก CPU เฉพาะตามความถี่ในการทำงาน (ดูตำนานเมกะเฮิรตซ์ ) นักออกแบบระบบบางคนที่สร้างคอมพิวเตอร์แบบขนานเลือกซีพียูตามความเร็วต่อดอลลาร์ ความจุของช่องทางคือแคบขอบเขตบนอัตราของข้อมูลที่สามารถส่งได้อย่างน่าเชื่อถือมากกว่าช่องทางสื่อสาร โดยทฤษฎีบทการเข้ารหัสช่องสัญญาณรบกวนความจุช่องสัญญาณของช่องสัญญาณที่กำหนดคืออัตราข้อมูลที่จำกัด (ในหน่วยข้อมูลต่อหน่วยเวลา) ที่สามารถทำได้โดยมีโอกาสเกิดข้อผิดพลาดเล็กน้อยตามอำเภอใจ [4] [5] ทฤษฎีสารสนเทศซึ่งพัฒนาโดยคลอดด์ อี. แชนนอนในช่วงสงครามโลกครั้งที่สองกำหนดแนวคิดของความจุของช่องสัญญาณและให้แบบจำลองทางคณิตศาสตร์โดยที่ใครๆ ก็คำนวณได้ ผลลัพธ์ที่สำคัญระบุว่าความจุของช่องสัญญาณตามที่กำหนดไว้ข้างต้นนั้นมาจากข้อมูลร่วมกันสูงสุดระหว่างอินพุตและเอาต์พุตของช่องสัญญาณ โดยที่การขยายสูงสุดนั้นสัมพันธ์กับการกระจายอินพุต [6] เวลาแฝงเป็นการหน่วงเวลาระหว่างสาเหตุและผลของการเปลี่ยนแปลงทางกายภาพบางอย่างในระบบที่กำลังสังเกต เวลาแฝงเป็นผลมาจากความเร็วที่จำกัดซึ่งปฏิสัมพันธ์ทางกายภาพใดๆ อาจเกิดขึ้นได้ ความเร็วนี้ต่ำกว่าหรือเท่ากับความเร็วแสงเสมอ ดังนั้นทุกระบบทางกายภาพที่มีมิติเชิงพื้นที่แตกต่างจากศูนย์จะพบกับเวลาแฝงบางประเภท คำจำกัดความที่แม่นยำของเวลาแฝงขึ้นอยู่กับระบบที่กำลังสังเกตและลักษณะของการกระตุ้น ในการสื่อสาร ขีดจำกัดล่างของเวลาแฝงจะถูกกำหนดโดยสื่อที่ใช้สำหรับการสื่อสาร ในระบบการสื่อสารแบบสองทางที่เชื่อถือได้ เวลาแฝงจะจำกัดอัตราสูงสุดที่ข้อมูลสามารถส่งได้ เนื่องจากมักจะมีการจำกัดปริมาณข้อมูลที่ "อยู่ในเที่ยวบิน" ในช่วงเวลาใดเวลาหนึ่ง ในด้านปฏิสัมพันธ์ระหว่างมนุษย์และเครื่องจักร เวลาแฝงที่มองเห็นได้ (ความล่าช้าระหว่างสิ่งที่ผู้ใช้สั่งและเมื่อคอมพิวเตอร์ให้ผลลัพธ์) มีผลอย่างมากต่อความพึงพอใจและความสามารถในการใช้งานของผู้ใช้ คอมพิวเตอร์เรียกใช้ชุดคำสั่งที่เรียกว่ากระบวนการ ในระบบปฏิบัติการ การดำเนินการของกระบวนการสามารถเลื่อนออกไปได้หากกระบวนการอื่นดำเนินการอยู่ด้วย นอกจากนี้ ระบบปฏิบัติการยังสามารถกำหนดเวลาที่จะดำเนินการตามคำสั่งของกระบวนการได้ ตัวอย่างเช่น สมมติว่าโปรเซสมีคำสั่งให้ตั้งค่าเอาต์พุตแรงดันไฟของการ์ดคอมพิวเตอร์เป็น high-low-high-low และอื่นๆ ที่อัตรา 1000 Hz ระบบปฏิบัติการอาจเลือกที่จะปรับการตั้งเวลาของการเปลี่ยนแต่ละครั้ง (สูง-ต่ำหรือต่ำ-สูง) ตามนาฬิกาภายใน เวลาแฝงคือความล่าช้าระหว่างคำสั่งกระบวนการที่ควบคุมการเปลี่ยนแปลงและฮาร์ดแวร์ที่เปลี่ยนแรงดันไฟฟ้าจากสูงไปต่ำหรือต่ำไปสูง นักออกแบบระบบที่สร้างระบบคอมพิวเตอร์แบบเรียลไทม์ต้องการรับประกันการตอบสนองในกรณีที่แย่ที่สุด ซึ่งทำได้ง่ายกว่าเมื่อ CPU มีเวลาแฝงการขัดจังหวะต่ำและเมื่อมีการตอบสนองที่กำหนด ในระบบเครือข่ายคอมพิวเตอร์ แบนด์วิดท์คือการวัดอัตราบิตของทรัพยากรการสื่อสารข้อมูลที่มีอยู่หรือที่ใช้ไป ซึ่งแสดงเป็นบิตต่อวินาทีหรือทวีคูณของมัน (บิต/s, kbit/s, Mbit/s, Gbit/s เป็นต้น) แบนด์วิดท์บางครั้งกำหนดอัตราบิตสุทธิ (aka. อัตราบิตสูงสุด อัตราข้อมูล หรืออัตราบิตที่มีประโยชน์ของชั้นกายภาพ) ความจุของช่องสัญญาณ หรือปริมาณงานสูงสุดของเส้นทางการสื่อสารแบบลอจิคัลหรือทางกายภาพในระบบการสื่อสารแบบดิจิทัล ตัวอย่างเช่น การทดสอบแบนด์วิดธ์จะวัดปริมาณงานสูงสุดของเครือข่ายคอมพิวเตอร์ เหตุผลของการใช้งานนี้คือตามกฎของ Hartley อัตราข้อมูลสูงสุดของลิงก์การสื่อสารทางกายภาพนั้นแปรผันตามแบนด์วิดท์ในหน่วยเฮิรตซ์ ซึ่งบางครั้งเรียกว่าแบนด์วิดท์ความถี่ แบนด์วิดท์สเปกตรัม แบนด์วิดท์ RF แบนด์วิดท์สัญญาณ หรือแบนด์วิดท์แอนะล็อก ในเครือข่ายการสื่อสาร ปริมาณงานมีความหมายเหมือนกันกับการใช้แบนด์วิดท์ดิจิทัล ในเครือข่ายไร้สายหรือเครือข่ายการสื่อสารโทรศัพท์มือถือที่ประสิทธิภาพของระบบรางในหน่วยบิต / วินาที / Hz / พื้นที่บิต / วินาที / Hz / ไซต์หรือบิต / วินาที / Hz / มือถือเป็นระบบสูงสุดผ่าน (รวมผ่าน) หารด้วย แบนด์วิดธ์แบบอะนาล็อกและการวัดพื้นที่ครอบคลุมของระบบบางส่วน ในวงจรรวม บล็อกในแผนภาพการไหลของข้อมูลมักมีอินพุตเดียวและเอาต์พุตเดียว และทำงานบนแพ็กเก็ตข้อมูลที่ไม่ต่อเนื่อง ตัวอย่างของบล็อกดังกล่าวFFTโมดูลหรือคูณไบนารี เพราะหน่วยงานของผ่านมีซึ่งกันและกันของหน่วยสำหรับความล่าช้าการขยายพันธุ์ซึ่งเป็น 'วินาทีต่อข้อความ' หรือ 'วินาทีต่อการส่งออก' ผ่านสามารถใช้ในการเกี่ยวข้องกับอุปกรณ์คอมพิวเตอร์ที่มีประสิทธิภาพการทำงานที่ทุ่มเทเช่นASICหรือหน่วยประมวลผลแบบฝังตัวไป ช่องทางการสื่อสาร ทำให้การวิเคราะห์ระบบง่ายขึ้น Scalability คือความสามารถของระบบ เครือข่าย หรือกระบวนการในการจัดการปริมาณงานที่เพิ่มขึ้นในลักษณะที่มีความสามารถ หรือความสามารถในการขยายเพื่อรองรับการเติบโตนั้น ปริมาณไฟฟ้าที่คอมพิวเตอร์ใช้ สิ่งนี้มีความสำคัญอย่างยิ่งสำหรับระบบที่มีแหล่งพลังงานจำกัด เช่น พลังงานแสงอาทิตย์ แบตเตอรี่ พลังงานของมนุษย์ นักออกแบบระบบที่สร้างคอมพิวเตอร์คู่ขนานเช่นฮาร์ดแวร์ของ Googleเลือก CPU โดยพิจารณาจากความเร็วต่อวัตต์ของพลังงาน เนื่องจากค่าใช้จ่ายในการเปิด CPU นั้นมีค่ามากกว่าต้นทุนของ CPU เอง [7] การบีบอัดมีประโยชน์เนื่องจากช่วยลดการใช้ทรัพยากร เช่น พื้นที่จัดเก็บข้อมูลหรือความสามารถในการรับส่งข้อมูล เนื่องจากข้อมูลที่บีบอัดต้องถูกคลายการบีบอัดเพื่อใช้งาน การประมวลผลพิเศษนี้จะกำหนดต้นทุนทางคอมพิวเตอร์หรืออื่นๆ ผ่านการคลายการบีบอัด สถานการณ์นี้อยู่ไกลจากการเป็นอาหารกลางวันฟรี การบีบอัดข้อมูลอยู่ภายใต้การแลกเปลี่ยนความซับซ้อนของกาล-อวกาศ นี่เป็นคุณลักษณะด้านประสิทธิภาพที่สำคัญของระบบมือถือ ตั้งแต่สมาร์ทโฟนที่คุณพกติดตัวไปจนถึงระบบฝังตัวแบบพกพาในยานอวกาศ ผลกระทบของคอมพิวเตอร์หรือคอมพิวเตอร์ที่มีต่อสิ่งแวดล้อม ระหว่างการผลิตและการรีไซเคิล ตลอดจนระหว่างการใช้งาน วัดกำลังดำเนินการกับวัตถุประสงค์ของการลดของเสียลดวัสดุที่เป็นอันตรายและลดของคอมพิวเตอร์รอยเท้าทางนิเวศน์ จำนวนทรานซิสเตอร์คือจำนวนทรานซิสเตอร์บนวงจรรวม (IC) จำนวนทรานซิสเตอร์เป็นตัววัดความซับซ้อนของไอซีที่พบบ่อยที่สุด
• คือจำนวนคำสั่งที่ดำเนินการจริง ( instruction path length ) หนาแน่นรหัสของชุดคำสั่งอย่างรุนแรงส่งผลกระทบต่อN ค่าของNสามารถกำหนดได้อย่างแม่นยำโดยใช้ตัวจำลองชุดคำสั่ง (ถ้ามี) หรือโดยการประมาณค่า—โดยอิงจากการกระจายความถี่โดยประมาณหรือตามจริงของตัวแปรอินพุตบางส่วน และโดยการตรวจสอบรหัสเครื่องที่สร้างขึ้นจากคอมไพเลอร์HLL ไม่สามารถกำหนดได้จากจำนวนบรรทัดของซอร์สโค้ด HLL N ไม่ได้รับผลกระทบจากกระบวนการอื่นที่ทำงานบนโปรเซสเซอร์เดียวกัน จุดสำคัญที่นี่คือโดยปกติฮาร์ดแวร์จะไม่ติดตาม (หรืออย่างน้อยก็ทำให้ใช้งานได้ง่าย) ค่า N สำหรับโปรแกรมที่ดำเนินการ ดังนั้น ค่าจึงสามารถกำหนดได้อย่างแม่นยำโดยการจำลองชุดคำสั่งเท่านั้น ซึ่งไม่ค่อยได้ปฏิบัติ แม้แต่ในเครื่องเดียว คอมไพเลอร์ที่ต่างกันหรือคอมไพเลอร์ตัวเดียวกันกับสวิตช์การเพิ่มประสิทธิภาพคอมไพเลอร์ที่ต่างกันก็สามารถเปลี่ยน N และ CPI ได้—เกณฑ์มาตรฐานจะทำงานเร็วขึ้นหากคอมไพเลอร์ใหม่สามารถปรับปรุง N หรือ C โดยไม่ทำให้อีกอันแย่ลง แต่มักจะมีการประนีประนอม ระหว่างพวกเขา—จะดีกว่าไหม เช่น ใช้คำสั่งที่ซับซ้อนสองสามคำสั่งที่ใช้เวลานานในการดำเนินการ หรือใช้คำสั่งที่ดำเนินการเร็วมาก แม้ว่าจะต้องใช้เวลามากกว่าในการดำเนินการตามเกณฑ์มาตรฐาน นักออกแบบ CPU มักจะต้องใช้ชุดคำสั่งเฉพาะดังนั้นจึงไม่สามารถเปลี่ยน N ได้ บางครั้งผู้ออกแบบมุ่งเน้นไปที่การปรับปรุงประสิทธิภาพโดยทำการปรับปรุงที่สำคัญใน f (ด้วยเทคนิคต่างๆ เช่น ไพพ์ไลน์ที่ลึกกว่าและแคชที่เร็วกว่า) ในขณะที่ (หวังว่า) จะไม่เสียสละ C มากเกินไป - นำไปสู่การออกแบบ CPU ปีศาจความเร็ว บางครั้งนักออกแบบมุ่งเน้นไปที่การปรับปรุงประสิทธิภาพโดยทำการปรับปรุงที่สำคัญใน CPI (ด้วยเทคนิคต่างๆ เช่นการดำเนินการที่ไม่อยู่ในลำดับ , superscalar CPUs, แคชที่ใหญ่ขึ้น, แคชที่มีอัตราการตีที่ดีขึ้น, การคาดคะเนสาขาที่ดีขึ้น, การดำเนินการเก็งกำไรฯลฯ ) ในขณะที่ ( หวังว่า) อย่าเสียสละความถี่สัญญาณนาฬิกามากเกินไป - นำไปสู่การออกแบบ CPU ที่ชาญฉลาด [9]สำหรับชุดคำสั่งที่กำหนด (และด้วยเหตุนี้คงที่ N) และกระบวนการเซมิคอนดักเตอร์ ประสิทธิภาพสูงสุดของเธรดเดียว (1/t) จำเป็นต้องมีความสมดุลระหว่างเทคนิคที่ชาญฉลาดและเทคนิค speedracer [8]