DATENBLATT PTC Perc ® WENN MILLISEKUNDEN DEN UNTERSCHIED AUSMACHEN Die Virtual-Machine-Lösungen und Entwicklungstools der PTC Perc Produktfamilie für Systeme mit einem oder mehreren Prozessorkernen haben sich für komplexe, erfolgskritische Echtzeitanwendungen bestens bewährt. Java Virtual Machines (VMs) sind heute allgegenwärtig, insbesondere in der wachsenden Welt des Internets der Dinge (Internet of Things, IoT) und des industriellen Internets der Dinge (Industrial Internet of Things, IIoT). Doch für den Einsatz in anspruchsvollen eingebetteten Anwendungen sind traditionelle Java VMs im Allgemeinen zu unvorhersehbar und unzuverlässig. PTC Perc verbindet vorhersehbare und zuverlässige Performance mit Kompatibilität mit der Java Standard Edition. PTC Perc bietet klare, überzeugende Vorzüge: einen produktiveren Entwicklungszyklus und effizientere, zuverlässigere Programme. Diese Vorteile führen zu einer schnelleren Markteinführung, niedrigeren Kosten und höherer Kundenzufriedenheit. Darum ist PTC Perc die am häufigsten in der Praxis bewährte VM für Echtzeit-Java-Entwickler. Produktiverer Entwicklungszyklus PTC Perc bietet volle Kompatibilität mit den Standard-Klassenbibliotheken der Standard Edition – und nicht nur mit eingeschränkten „Personal“-, „Micro“- oder „Compact“-Teilmengen. Damit genießen Entwickler eine bessere Bibliotheksunterstützung und können komplexere Anwendungen entwickeln. Leistungsstarke Entwicklungstools wie symbolische Debugger Seite 1 von 4 | PTC Perc sowie Laufzeit-Leistungsmonitore und -Profilerstellungsfunktionen sorgen für ein umfassendes Entwicklungserlebnis. Integrierte Management-APIs und Befehls-Shells ermöglichen Einblick und Kontrolle über die internen Abläufe der VM. Für alle wichtigen Echtzeitbetriebssysteme sind vielfältige native Compiler- und BetriebssystemPortierungen verfügbar. Effizientere und zuverlässigere Programme Mit einem branchenführenden, patentierten Echtzeit-Garbage-Collector von höchster Zuverlässigkeit und Performance bietet PTC Perc bislang nie dagewesene, bis auf die Millisekunde genaue Vorhersagbarkeit in Echtzeit. EchtzeitThreads, -Synchronisierung und -Timer bieten Entwicklern die ultimative Plattform für die Verwaltung der Anwendungsausführung mit deterministischem, zuverlässigem Echtzeitverhalten. Dank umfassender, voroptimierter Bibliotheken können sich Entwickler ganz auf die Optimierung anwendungsspezifischer Module konzentrieren. Insgesamt machen diese Leistungsmerkmale PTC Perc zur idealen VM-Umgebung und zum perfekten Toolset für Software, speziell für komplexe Projekte wie intelligente Gateways, Echtzeit-Leitsysteme, Netzwerkinfrastruktur-Managementebenen und industrielle Automation. ptc.com DATENBLATT PTC Perc Unterstützung für moderne Prozessoren PTC Perc ist sowohl als Einzelprozessorvariante als auch als SMP-Variante mit Unterstützung für Systeme mit mehreren Prozessorkernen erhältlich. PTC Perc ist außerdem für 32-Bit- und 64-Bit-Mikroprozessorfamilien verfügbar. Java ist eine Programmiersprache und Ausführungsumgebung mit integrierter Unterstützung für Parallelisierung, die für Prozessoren mit mehreren Kernen hervorragend geeignet ist. Die meisten Garbage-CollectionTechnologien sind allerdings nicht strukturiert und nutzen die Vorteile mehrerer Prozessoren nicht aus, da sie auf Systemen mit mehreren Prozessorkernen nicht parallel laufen können. Um die Leistung dieser neuen Prozessoren in vollem Umfang auszunutzen, ist eine intelligentere GC-Technologie erforderlich. PTC Perc löst einige der größten Herausforderungen, die es gibt, und verbindet vorhersehbare und zuverlässige Performance mit Kompatibilität mit der Java Standard Edition. Dadurch ist es mittlerweile eine der meistgenutzten Virtual Machines im Echtzeitbereich. Moderne Anwendungen werden immer komplexer und umfangreicher. Dadurch belasten sie die Hardwareplattformen, auf denen sie laufen, ganz erheblich. Die Industrie hat mit Systemen mit mehreren Prozessen oder Prozessorkernen auf diese Herausforderung reagiert. PTC Perc erfüllt die Anforderungen dieser neuen Architekturen und bietet darüber hinaus alle Leistungsmerkmale, Funktionen und die Performance, die Entwickler von Embedded Software und Echtzeitanwendungen benötigen. Durch die parallele Garbage Collection (GC) in PTC Perc werden nicht verwendete Objekte von mehreren Prozessoren gesammelt, während Verarbeitungs-Threads der JavaApplikation parallel weiterlaufen. So kann die Garbage-Collection-Rate optimal mit der Speicherzuordnungsrate der Anwendung abgestimmt werden. SMP-Planung mit PTC Perc ZEITGEBER/DISPATCHER Priorität 32 Java-Thread GC-Worker-Thread GC-Worker-Thread Java-Thread Java-Thread GC-Worker-Thread GC-Worker-Thread Nativ Java-Thread Java-Thread Höchste Priorität Nativ Java-Thread Java-Thread Java-Thread Java-Thread Zurückgestellter Thread Nativ Priorität 3 Priorität 2 Priorität 1 KERN 0 KERN 1 KERN 2 KERN 3 Java-Thread Java-Thread WARTESCHLANGE BEREIT Seite 2 von 4 | PTC Perc ptc.com DATENBLATT SMP-spezifische Leistungsmerkmale von PTC Perc: Linux Hardware • Beeindruckendes deterministisches Echtzeitverhalten mit typischer Wartezeit von <1 ms auf x86 mit 1,6 GHz oder höher PTC Perc IoT Gateway Stack • Unterstützung für Linux /x86-, Linux/PPC- und Linux/ ARM-SMP-Kernels und beliebte Multiprozessorkernfähige RTOS (RealTime Operating Systems) ® die nicht nur die Netzwerksoftware enthalten, sondern auch Java-VMs und IoT-Plattformdienste und -Bibliotheken. VDC Research, ein führendes Marktforschungsunternehmen, das sich mit dem Internet der Dinge und dem Markt für eingebettete Software beschäftigt, geht davon aus, dass „selbst neuere Geräteklassen wie Gateways Echtzeitfunktionen für automatisierungs-/ steuerungsorientierte Anwendungen“ benötigen. Für Anwendungen, die Echtzeit-Performance und IoTKonnektivität erfordern, ist PTC Perc die ideale Lösung. Intelligente Gateways für IoT/IIoT/M2M und PTC Perc Mit dem Internet der Dinge entstand eine neue Klasse von Hardware, die Endgeräte und Sensoren mit der Cloud verbindet. Viele dieser Geräte werden mit Softwareerweiterungen geliefert, Drittanbietertools Eclipse Native Toolchain ENTWICKLUNGS-HOST Profil erstellen Debuggen Natives Kompilieren/Debuggen AnwendungsC/C++-Code-Thread Direktspeicher Analysieren Virtual-Machine-API Verwalten Shell PProfiler Kompilieren Timing-API PConsole Java-Anwendungscode Java SE-Bibliotheken Shell Statischer Link Drittanbieterbibliotheken Accelerator Update PTC Perc Echtzeit-Java • Inkrementelle GC, kann durch Java-Threads mit höherer Priorität außer Kraft gesetzt werden ROMizer Cloud OSGi • Neuer Garbage Collector (GC) mit Multithreading läuft schneller und nutzt die verfügbaren CPUs/ Prozessorkerne aus PTC Perc Tools Gerät Konfig Web • Festlegen der Affinität der verfügbaren CPUs/ Prozessorkerne auf PTC Perc SMP für Mischung aus Java- und nativen Anwendungen DB Anwendungscode (Java) • Parallele Ausführung mehrerer Java-Threads in allen verfügbaren CPUs/Prozessorkernen JNI PTC PERC VIRTUAL MACHINE RTOS/CPU ZIELSYSTEM PTC Perc Toolchain Seite 3 von 4 | PTC Perc ptc.com DATENBLATT Hauptmerkmale Standard-Klassenbibliotheken • Die überzeugendsten Leistungsmerkmale von Java (inklusive JNI, RMI, JDBC, Sammlungen, Parallelisierbarkeit, XML usw.) als Bestandteil der Standard Edition Eingebettete Grafikunterstützung • AWT/Swing auf ausgewählten Plattformen • Direktspeicher-API für Compiler-optimierten Zugriff auf Puffer und Memory Mapped I/O VM-Management-API • Feinabstimmung während der Bearbeitung • Programmgesteuerter Zugriff auf PTC Perc VM-Threads, Monitore, Arbeitsspeicher, GC, Dateien und Netzwerk PConsole- und PProfiler-Tools • Grafische Darstellung der Arbeitsspeicherauslastung, Thread-Aktivität und CPU-Auslastung von Java-Applikationen • Kürzere Time-to-Market und Optimierung der System-Performance durch schnelle Erkennung und Korrektur von Speicherlecks und Engpässen ROMizer • Schnellere Ausführung durch statische Verknüpfung von VM, Bibliotheken und Anwendungs-Objektcode in einem einzigen ausführbaren Abbild Unterstützung für Ancillary Tool • Nutzung von RTOS-Anbieter- und nativen Entwicklungs-Toolchains Weitere Informationen: ptc.com/developer-tools/perc Accelerator • AOT und JIT liefern überragende Performance durch bis zu 20-mal größere Leistung als interpretierte Implementierungen • Dynamisches Laden von nativ kompilierten Java-Klassen Shell © 2016, PTC. Alle Rechte vorbehalten. Die Inhalte dieser Seiten werden ausschließlich zu Informationszwecken bereitgestellt und beinhalten keinerlei Gewährleistung, Verpflichtung, Bedingung oder Angebot seitens PTC. Änderungen der Informationen vorbehalten. PTC, das PTC Logo, PTC Perc und alle PTC Produktnamen und Logos sind Warenzeichen oder eingetragene Warenzeichen von PTC und/oder Tochterunternehmen in den USA und anderen Ländern. Alle anderen Produkt- oder Firmennamen sind Eigentum ihrer jeweiligen Besitzer. Releasetermine und Funktionsumfänge können nach Ermessen von PTC geändert werden. J07570–PTC Perc–0816–de • Kürzere Entwicklungsdauer durch direkten Zugriff auf die laufende VM über serielle oder Telnet-Verbindung • Optimierung der System-Performance und Funktionalität durch Remote-Visualisierung von Informationen und direkte Steuerung der laufenden VM-Klassen Remote-Debuggen • Weniger Zeit-, Geld- und Programmieraufwand • Nahtloses Debuggen auf dem Zielgerät Seite 4 von 4 | PTC Perc ptc.com