Computerleistung
Im Computer, Computerleistung ist die Menge an nützlichen Arbeiten von a Computersystem. Außerhalb spezifischer Kontexte wird die Computerleistung in Bezug auf die Genauigkeit geschätzt. Effizienz und Ausführungsgeschwindigkeit Computer Programm Anweisungen. Wenn es um eine hohe Computerleistung geht, können eine oder mehrere der folgenden Faktoren beteiligt sein:
- Kurz Reaktionszeit für ein bestimmtes Stück Arbeit.
- Hoch Durchsatz (Rate der Verarbeitungsarbeit).
- Niedrige Nutzung von Computerressource(s).
- Schnell (oder sehr kompakt) Datenkompression und Dekompression.
- Hohe Verfügbarkeit des Computersystems oder der Anwendung.
- Hoch Bandbreite.
- Kurz Datenübertragung Zeit.
Technische und nichttechnische Definitionen
Die Leistung eines Computersystems kann unter Verwendung eines oder mehrerer der oben aufgeführten Metriken in messbaren technischen Begriffen bewertet werden. Auf diese Weise kann die Leistung sein
- Verglichen im Vergleich zu anderen Systemen oder demselben System vor/nach Änderungen
- In absoluter Begriffe, z. für die Erfüllung einer vertraglichen Verpflichtung
Während sich die obige Definition auf einen wissenschaftlichen, technischen Ansatz bezieht, die folgende Definition gegeben durch Arnold Allen wäre nützlich für ein nichttechnisches Publikum:
Das Wort Leistung In der Computerleistung bedeutet das Gleiche, was Leistung in anderen Kontexten bedeutet, das heißt: "Wie gut macht der Computer die Arbeit, die er tun soll?"[1]
Als Aspekt der Softwarequalität
Computer Software Leistung, besonders Computerprogramm Reaktionszeit ist ein Aspekt von Softwarequalität Das ist wichtig in Mensch -Computer -Interaktionen.
Performance Engineering
Performance Engineering innerhalb Systemtechnik umfasst die Reihe von Rollen, Fähigkeiten, Aktivitäten, Praktiken, Tools und Erstellungen, die in jeder Phase des Lebenszyklus der Systementwicklung angewendet werden, was sicherstellt, dass eine Lösung entworfen, implementiert und operativ unterstützt wird, um die Leistungsanforderungen zu erfüllen für die Lösung definiert.
Performance Engineering befasst sich kontinuierlich mit Kompromisse zwischen Arten von Leistung. Gelegentlich a CPU -Designer kann einen Weg finden, um a zu machen Zentralprozessor Mit einer besseren Gesamtleistung durch Verbesserung eines der unten dargestellten Aspekte der Leistung, ohne die Leistung der CPU in anderen Bereichen zu beeinträchtigen. Zum Beispiel, um die CPU aus besserer, schneller aufzubauen Transistoren.
Manchmal führt es jedoch zu einer extremen Leistung zu einer CPU mit schlechterer Gesamtleistung, da andere wichtige Aspekte geopfert wurden, um eine beeindruckende Zahl zu erhalten, beispielsweise die des Chips Taktfrequenz (Siehe Megahertz Mythos).
Anwendungsleistungstechnik
Application Performance Engineering (APE) ist eine spezifische Methodik innerhalb Performance Engineering Entwickelt, um die Herausforderungen zu bewältigen, die mit der Anwendungsleistung in zunehmend verteilten Mobil-, Cloud- und terrestrischen IT -Umgebungen verbunden sind. Es umfasst die Rollen, Fähigkeiten, Aktivitäten, Praktiken, Tools und Erstellungen, die in jeder Phase des Anwendungslebenszyklus angewendet werden, die sicherstellen, dass eine Anwendung entworfen, implementiert und operativ unterstützt wird, um die nicht funktionalen Leistungsanforderungen zu erfüllen.
Aspekte der Leistung
Computerleistung Metriken (Dinge zu messen) enthalten Verfügbarkeit, Reaktionszeit, Kanalkapazität, Latenz, Abschlusszeit, Servicezeit, Bandbreite, Durchsatz, relative Effizienz, Skalierbarkeit, Leistung pro Watt, Kompressionsrate, Anweisungspfadlänge und beschleunigen. Zentralprozessor Benchmarks sind verfügbar.[2]
Verfügbarkeit
Die Verfügbarkeit eines Systems wird typischerweise als Faktor seiner Zuverlässigkeit gemessen - mit zunehmender Zuverlässigkeit, ebenso wie die Verfügbarkeit (dh weniger Ausfallzeit). Die Verfügbarkeit eines Systems kann auch durch die Strategie erhöht werden, sich auf die Erhöhung der Testbarkeit und Wartbarkeit und nicht auf die Zuverlässigkeit zu konzentrieren. Die Verbesserung der Wartbarkeit ist im Allgemeinen einfacher als die Zuverlässigkeit. Wartbarkeitsschätzungen (Reparaturraten) sind im Allgemeinen genauer. Da die Unsicherheiten bei den Zuverlässigkeitsschätzungen in den meisten Fällen sehr groß sind, dominiert es wahrscheinlich das Problem der Verfügbarkeitssicherheit (Vorhersageunsicherheit), auch wenn die Wartbarkeitsniveaus sehr hoch sind.
Reaktionszeit
Die Antwortzeit ist die Gesamtzeit, die benötigt wird, um auf eine Serviceanfrage zu reagieren. Im Computer kann dieser Service jede Arbeitseinheit von einem einfachen sein Festplatte IO zum Laden eines Komplexes Website. Die Antwortzeit ist die Summe von drei Zahlen:[3]
- Servicezeit - Wie lange dauert es, um die angeforderte Arbeit zu erledigen.
- Wartezeit - Wie lange muss die Anfrage auf die Anfragen warten, die vor dem Vorgang abgestimmt sind, bevor sie ausgeführt wird.
- Übertragungszeit - Wie lange dauert es, um die Anfrage auf den Computer zu verschieben, und die Antwort an den Requestor zurück.
Verarbeitungsgeschwindigkeit
Die meisten Verbraucher wählen eine Computerarchitektur (normalerweise Intel IA-32 Architektur) in der Lage zu sein, eine große Basis bereits vorhandener, vorbereiteter Software ausführen zu können. Wenn Sie relativ uninformiert auf Computer -Benchmarks sind, wählen einige von ihnen eine bestimmte CPU basierend auf der Betriebsfrequenz (siehe Megahertz Mythos).
Einige Systemdesigner, die parallele Computer bauen, wählen CPUs basierend auf der Geschwindigkeit pro Dollar.
Kanalkapazität
Kanalkapazität ist die engste Obergrenze für die Rate von Information das kann zuverlässig über a übertragen werden Kommunikationskanal. Bis zum Lauter Kanal-CodierungssatzDie Kanalkapazität eines bestimmten Kanals ist die begrenzende Informationsrate (in Einheiten von Information pro Zeiteinheit), die mit willkürlich kleiner Fehlerwahrscheinlichkeit erreicht werden können.[4][5]
Informationstheorie, entwickelt von Claude E. Shannon während Zweiter Weltkriegdefiniert den Begriff der Kanalkapazität und liefert ein mathematisches Modell, mit dem man es berechnen kann. Das Schlüsselergebnis besagt, dass die Kapazität des Kanals, wie oben definiert, durch das Maximum der angegeben wird gegenseitige Information zwischen Eingang und Ausgabe des Kanals, wobei die Maximierung in Bezug auf die Eingangsverteilung liegt.[6]
Latenz
Die Latenz ist eine Zeitverzögerung zwischen der Ursache und der Wirkung einiger physikalischer Veränderungen des zu beobachtenden Systems. Latenz ist ein Ergebnis der begrenzten Geschwindigkeit, mit der jede physikalische Interaktion stattfinden kann. Diese Geschwindigkeit ist immer niedriger oder gleich der Lichtgeschwindigkeit. Daher wird jedes physikalische System mit räumlichen Dimensionen ungleich Null eine Art Latenz erleben.
Die genaue Definition der Latenz hängt vom beobachteten System und der Art der Stimulation ab. In der Kommunikation wird die untere Latenzgrenze durch das Medium bestimmt, das für die Kommunikation verwendet wird. In zuverlässigen Zwei-Wege-Kommunikationssystemen begrenzt die Latenz die maximale Rate, die Informationen übertragen werden können, da häufig die Menge an Informationen, die zu einem Zeitpunkt "im Flug" sind, häufig begrenzt werden. Im Bereich der Human-Machine-Interaktion wirkt sich die wahrnehmbare Latenz (Verzögerung zwischen den Befehlen der Benutzer und wann der Computer die Ergebnisse liefert) stark auf die Benutzerzufriedenheit und die Benutzerfreundlichkeit aus.
Computer werden Anweisungssätze ausgeführt, die als Prozess bezeichnet werden. In Betriebssystemen kann die Ausführung des Prozesses verschoben werden, wenn auch andere Prozesse ausgeführt werden. Darüber hinaus kann das Betriebssystem planen, wann die Aktion, die der Prozess befindet, ausführen soll. Angenommen, ein Prozess befiehlt beispielsweise, dass die Spannungsausgabe einer Computerkarte mit einer Geschwindigkeit von 1000 Hz hoch-hohe Höhe eingestellt wird. Das Betriebssystem kann die Planung jedes Übergangs (High-Low oder niedrigem) basierend auf einer internen Uhr einstellen. Die Latenz ist die Verzögerung zwischen dem Prozessanweis, der den Übergang befehligt, und der Hardware, die die Spannung tatsächlich von hoch auf niedrig oder niedrig übersetzt.
Systemdesigner Gebäude Echtzeit-Computing Systeme möchten die schlechteste Reaktion garantieren. Das ist einfacher, wenn die CPU niedrig ist Latenz unterbrechen und wenn es eine deterministische Reaktion hat.
Bandbreite
Beim Computernetzwerk ist die Bandbreite eine Messung der Bit-Rate verfügbarer oder verbrauchter Datenkommunikationsressourcen, die in Bit pro Sekunde oder Multiples davon ausgedrückt wird (Bit/S, Kbit/S, Mbit/S, Gbit/S usw.).
Die Bandbreite definiert manchmal die Nettobitrate (auch bekannt als Spitzenbitrate, Informationsrate oder physische Schicht nützliche Bitrate), Kanalkapazität oder den maximalen Durchsatz eines logischen oder physischen Kommunikationspfads in einem digitalen Kommunikationssystem. Beispielsweise messen Bandbreitentests den maximalen Durchsatz eines Computernetzwerks. Der Grund für diese Verwendung ist, dass nach Hartleys Gesetz die maximale Datenrate einer physischen Kommunikationsverbindung proportional zu ihrer Bandbreite in Hertz ist, die manchmal als Frequenzbandbreite, Spektralbandbreite, RF -Bandbreite, Signalbandbreite oder analoge Bandbreite bezeichnet wird.
Durchsatz
Im Allgemeinen ist der Durchsatz die Produktionsrate oder die Rate, mit der etwas verarbeitet werden kann.
In Kommunikationsnetzwerken ist der Durchsatz im Wesentlichen für den Verbrauch der digitalen Bandbreite synonym. Im drahtlose Netzwerke oder Zellkommunikationsnetzwerke, das System spektraler Effizienz In Bit/S/Hz/Area -Einheit ist Bit/S/Hz/Site oder Bit/S/Hz/Cell der maximale Systemdurchsatz (Aggregatdurchsatz) geteilt durch die analoge Bandbreite und ein gewisses Maß für den Systemabdeckungsbereich.
In integrierten Schaltungen oft ein Block in a Datenflussdiagramm hat einen einzelnen Eingang und eine einzelne Ausgabe und arbeitet mit diskreten Informationspaketen. Beispiele für solche Blöcke sind Fft Module oder Binäre Multiplikatoren. Weil die Einheiten des Durchsatzes die gegenseitige Einheit für sind Ausbreitungsverzögerung, was "Sekunden pro Nachricht" oder "Sekunden pro Ausgabe" ist, kann der Durchsatz verwendet werden, um ein Rechengerät zu verknüpfen, das eine dedizierte Funktion wie eine ausführt Asic oder eingebetteter Prozessor zu einem Kommunikationskanal, Vereinfachung der Systemanalyse.
Relative Effizienz
Skalierbarkeit
Skalierbarkeit ist die Fähigkeit eines Systems, eines Netzwerks oder eines wachsenden Arbeitsaufwands in der Lage oder der Fähigkeit, vergrößert zu werden, um dieses Wachstum aufzunehmen
Energieverbrauch
Die Menge an elektrische Energie vom Computer verwendet (Energieverbrauch). Dies wird besonders wichtig für Systeme mit begrenzten Stromquellen wie Solar, Batterien und menschlicher Kraft.
Leistung pro Watt
Systemdesigner Gebäude Parallele Computer, wie zum Beispiel Googles HardwareWählen Sie CPUs basierend auf ihrer Geschwindigkeit pro Watt Strom, da die Kosten für die Stromversorgung der CPU die Kosten der CPU selbst überwiegen.[7]
Für SpaceFlight -Computer ist die Verarbeitungsgeschwindigkeit pro Watt -Verhältnis ein nützlicheres Leistungskriterium als die RAW -Verarbeitungsgeschwindigkeit.[8]
Kompressionsrate
Komprimierung ist nützlich, da sie zur Reduzierung der Ressourcenverwendung wie Datenspeicherraum oder Übertragungskapazität hilft. Da komprimierte Daten zur Verwendung dekomprimiert werden müssen, führt diese zusätzliche Verarbeitung durch Dekompression rechnerische oder andere Kosten. Diese Situation ist weit davon entfernt, ein kostenloses Mittagessen zu sein. Die Datenkomprimierung unterliegt einem Komplexitätskompromiss für Raum-Zeit-Komplexität.
Größe und Gewicht
Dies ist eine wichtige Leistungsfunktion von mobilen Systemen, von den Smartphones, die Sie in Ihrer Tasche zu den tragbaren eingebetteten Systemen in einem Raumfahrzeug halten.
Umweltbelastung
Die Auswirkung eines Computers oder Computers auf die Umgebung, während der Herstellung und des Recyclings sowie während der Verwendung. Messungen werden mit den Zielen ergriffen, Abfall zu reduzieren, gefährliche Materialien zu reduzieren und die eines Computers zu minimieren ökologischer Fußabdruck.
Transistorzahl
Die Anzahl der Transistor ist die Anzahl der Anzahl von Transistoren auf an Integrierter Schaltkreis (IC). Die Anzahl der Transistor ist das häufigste Maß für die IC -Komplexität.
Benchmarks
Weil es so viele Programme gibt, um eine CPU über alle Aspekte der Leistung zu testen, Benchmarks wurden entwickelt.
Die berühmtesten Benchmarks sind die Specinta und Specfp Benchmarks entwickelt von Standard -Leistungsbewertungsunternehmen und das vom eingebettete Mikroprozessor -Benchmark -Konsortium eingebettete Mikroprozessor -Benchmark -Konsortium entwickelte Zertifizierungsmarkierungsnetz EEMBC.
Software -Leistungstests
Im Software -Engineering werden im Allgemeinen Tests durchgeführt, um festzustellen, wie ein System in Bezug auf Reaktionsfähigkeit und Stabilität unter einer bestimmten Arbeitsbelastung ausgeführt wird. Es kann auch dazu dienen, andere Qualitätsattribute des Systems zu untersuchen, zu messen, zu validieren oder zu überprüfen, z. B. Skalierbarkeit, Zuverlässigkeit und Ressourcenverbrauch.
Leistungstests sind eine Teilmenge von Performance Engineering, eine aufkommende Informatikpraxis, die sich bemüht, die Leistung in die Implementierung, das Design und die Architektur eines Systems aufzubauen.
Profilerstellung (Leistungsanalyse)
Im Softwareentwicklung, Profiling ("Programmprofiling", "Software -Profilerstellung") ist eine Form von Dynamische Programmanalyse das misst beispielsweise den Raum (Speicher) oder die Zeit Komplexität eines Programms, das Verwendung bestimmter Anweisungenoder Häufigkeit und Funktionsdauer. Die häufigste Verwendung von Profiling -Informationen besteht darin, das Programm zu unterstützen Optimierung.
Profilerstellung wird erreicht, indem das Programm instrumentiert wird Quellcode oder sein binäres ausführbares Formular mit einem Tool namens a Profiler (oder Code -Profiler). Eine Reihe verschiedener Techniken können von Profilern verwendet werden, wie z. B. ereignisbasierte, statistische, instrumentierte und Simulationsmethoden.
Leistungsstimmung
Leistungsstimmung ist die Verbesserung von System Leistung. Dies ist in der Regel eine Computeranwendung, aber dieselben Methoden können auf Wirtschaftsmärkte, Bürokratien oder andere komplexe Systeme angewendet werden. Die Motivation für eine solche Aktivität wird als Leistungsproblem bezeichnet, die real oder erwartet werden kann. Die meisten Systeme reagieren auf erhöhte Belastung mit einem gewissen Grad an abnehmender Leistung. Die Fähigkeit eines Systems, eine höhere Last zu akzeptieren Skalierbarkeitund das Ändern eines Systems für eine höhere Last ist ein Synonym für die Leistungseinstellung.
Die systematische Abstimmung folgt folgenden Schritten:
- Bewerten Sie das Problem und legen Sie numerische Werte fest, die akzeptables Verhalten kategorisieren.
- Messen Sie die Leistung des Systems vor der Änderung.
- Identifizieren Sie den Teil des Systems, der für die Verbesserung der Leistung von entscheidender Bedeutung ist. Dies nennt man die Engpass.
- Ändern Sie diesen Teil des Systems, um den Engpass zu entfernen.
- Messen Sie die Leistung des Systems nach der Änderung.
- Wenn die Änderung die Leistung besser macht, übernehmen Sie sie. Wenn die Änderung die Leistung verschlimmert, stellen Sie sie wieder so, wie sie war.
Wahrgenommene Leistung
Die wahrgenommene Leistung im Computertechnik bezieht sich darauf, wie schnell eine Software -Funktion ihre Aufgabe zu erfüllen scheint. Das Konzept gilt hauptsächlich für Nutzerakzeptanz Aspekte.
Die Zeitspanne, die eine Anwendung zum Starten benötigt, oder eine Datei zum Herunterladen wird nicht schneller erstellt, indem ein Startbildschirm (siehe Schildbildschirm) oder ein Dialogfeld "Dateifortschritt" angezeigt wird. Es erfüllt jedoch einige menschliche Bedürfnisse: Es erscheint dem Benutzer schneller und bereitet einen visuellen Hinweis darauf, dass sie wissen, dass das System ihre Anfrage bearbeitet.
In den meisten Fällen erhöht sich die zunehmende reale Leistung die wahrgenommene Leistung, aber wenn die reale Leistung aufgrund körperlicher Einschränkungen nicht erhöht werden kann, können Techniken verwendet werden, um die wahrgenommene Leistung zu erhöhen.
Leistungsgleichung
Die Gesamtzeit (Zeitspanne (t), um ein bestimmtes Benchmark -Programm auszuführen, ist
- , oder gleichwertig
- [9]
wo
- ist "die Leistung" in Bezug auf Zeit-zu-Execute
- ist die Anzahl der tatsächlich ausgeführten Anweisungen (die Anweisungspfadlänge). Das Codedichte des Befehlssatz stark beeinflussen N. Der Wert von N kann entweder bestimmt werden exakt durch Verwendung eines Anweisungssatz Simulator (falls verfügbar) oder nach Schätzung - sie basiert teilweise auf geschätzten oder tatsächlichen Frequenzverteilung von Eingabevariablen und durch Untersuchung der generierten Untersuchung Maschinensprache von einem Hll Compiler. Es kann nicht aus der Anzahl der Zeilen des HLL -Quellcodes bestimmt werden. N wird nicht von anderen Prozessen betroffen, die auf demselben Prozessor ausgeführt werden. Der wesentliche Punkt hier ist, dass Hardware normalerweise keinen Wert von n für ausgeführte Programme im Auge (oder zumindest leicht verfügbar macht). Der Wert kann daher nur durch selten praktizierende Simulation des Befehlssatzes bestimmt werden.
- ist die Taktfrequenz in Zyklen pro Sekunde.
- ist der Durchschnitt Zyklen pro Anweisung (CPI) für diesen Benchmark.
- ist der Durchschnitt Anweisungen pro Zyklus (IPC) Für diesen Benchmark.
Sogar auf einer Maschine ein anderer Compiler oder derselbe Compiler mit unterschiedlich Compiler -Optimierung Switches können N und CPI ändern-der Benchmark wird schneller ausgeführt, wenn der neue Compiler N oder C verbessern kann, ohne den anderen zu verschlimmern Das Ausführen oder Anweisungen, die sehr schnell ausgeführt werden, dauert lange, obwohl mehr von ihnen erforderlich ist, um den Benchmark auszuführen?
Ein CPU -Designer ist häufig erforderlich, um eine bestimmte Implementierung zu implementieren Befehlssatzund daher kann nicht verändern N. Manchmal konzentriert sich ein Designer auf die Verbesserung der Leistung, indem sie erhebliche Verbesserungen bei F (mit Techniken wie tieferen Pipelines und schnelleren Caches) vornehmen, während (hoffentlich) nicht zu viel C-zu einem Geschwindigkeits-Dämon-CPU-Design zugänglich ist . Manchmal konzentriert sich ein Designer auf die Verbesserung der Leistung, indem sie erhebliche Verbesserungen im CPI vornehmen (mit Techniken wie z. Ausführende Ausführung, Superscalar CPUs, größere Caches, Caches mit verbesserten Trefferraten, verbessert Zweigvorhersage, Spekulative Ausführungusw.), während (hoffentlich) nicht zu viel Taktfrequenz opfern - zu einem Brainiac CPU -Design.[10]Für einen gegebenen Anweisungssatz (und damit festen N) und Semiconductor-Prozess erfordert die maximale Leistung mit einem Thread (1/t) ein Gleichgewicht zwischen Gehirntechniken und Speedracer-Techniken.[9]
Siehe auch
- Algorithmische Effizienz
- Computerleistung durch Größenordnungen
- Netzwerkleistung
- Latenz ausgerichtete Prozessorarchitektur
- Optimierung (Informatik)
- RAM -Aktualisierungsrate
- Vollständig Befehlssatz
- Hardware-Beschleunigung
- Beschleunigen
- Cache -Ersatzrichtlinien
Verweise
- ^ Computerleistungsanalyse mit Mathematica von Arnold O. Allen, Academic Press, 1994. $ 1,1 Einführung, S. 1.
- ^ Messungsprogramm Ähnlichkeit: Experimente mit Spec -CPU -Benchmark -Suiten, Citeseerx 10.1.1.123.501
- ^ Wescott, Bob (2013). Das jedes Computer Performance -Buch, Kapitel 3: Nützliche Gesetze. CreateSpace. ISBN 1482657759.
- ^ Saleem Bhatti. "Kanalkapazität". Vorlesungsnotizen für M.Sc.Datenkommunikationsnetzwerke und verteilte Systeme D51 - Grundlegende Kommunikation und Netzwerke. Archiviert von das Original am 2007-08-21.
- ^ Jim Lesurf. "Signale sehen aus wie Geräusch!". Informationen und Messung, 2. Aufl..
- ^ Thomas M. Cover, Joy A. Thomas (2006). Elemente der Informationstheorie.John Wiley & Sons, New York.
- ^ "Archivierte Kopie". Archiviert von das Original Am 2005-03-27. Abgerufen 2009-01-21.
{{}}
: CS1 Wartung: Archiviertes Kopie als Titel (Link)[1] - ^ D. J. Shirley;und M. K. McLelland. "Der SC-7 Risc SpaceFlight Computer der nächsten Generation". p. 2.
- ^ a b Paul Demone."Die unglaubliche schrumpfende CPU".2004.[2] Archiviert 2012-05-31 bei der Wayback -Maschine
- ^ "Brainiacs, Geschwindigkeitsdämonen und Abschied" von Linley Gwennap