ABSTRACT
Real-time systems need a time-predictable execution platform to be able to determine the worst-case execution time statically. In order to be time-predictable, several advanced processor features, such as out-of-order execution and other forms of speculation, have to be avoided. However, just using simple processors is not an option for embedded systems with high demands on computing power. In order to provide high performance and predictability we argue to use multiprocessor systems with a time-predictable memory interface. In this paper we present the scalability of a Java chip-multiprocessor system that is designed to be time-predictable. Adding time-predictable caches is mandatory to achieve scalability with a shared memory multi-processor system. As Java bytecode retains information about the nature of memory accesses, it is possible to implement a memory hierarchy that takes the characteristics of different types of accesses into account. For tasks with low communication the measured speedup of this time-predictable system is in the range of 6 to 7 for eight processor cores, compared to execution on a single-core processor.
- Christoph Cullmann, Christian Ferdinand, Gernot Gebhard, Daniel Grund, Claire Maiza, Jan Reineke, Benoît Triquet, and Reinhard Wilhelm. Predictability considerations in the design of multi-core embedded systems. In Proceedings of Embedded Real Time Software and Systems, May 2010.Google Scholar
- Benedikt Huber, Wolfgang Puffitsch, and Martin Schoeberl. Worst-case execution time analysis driven object cache design. Concurrency and Computation: Practice and Experience, 24(8):753--771, 2012. Google ScholarDigital Library
- Thomas Lundqvist and Per Stenström. Timing anomalies in dynamically scheduled microprocessors. In Proceedings of the 20th IEEE Real-Time Systems Symposium (RTSS 1999), pages 12--21, Washington, DC, USA, 1999. IEEE Computer Society. Google ScholarDigital Library
- M. Paolieri, E. Quinones, F. J. Cazorla, and M. Valero. An analyzable memory controller for hard real-time CMPs. Embedded Systems Letters, IEEE, 1(4):86--90, December 2009. Google ScholarDigital Library
- Marco Paolieri, Eduardo Quiñones, Francisco J. Cazorla, Guillem Bernat, and Mateo Valero. Hardware support for WCET analysis of hard real-time multicore systems. In The 36th International Symposium on Computer Architecture (ISCA 2009), pages 57--68, Austin, Texas, USA, 20--24, June 2009. ACM. Google ScholarDigital Library
- David A. Patterson. Reduced instruction set computers. Commun. ACM, 28(1):8--21, 1985. Google ScholarDigital Library
- Christof Pitter and Martin Schoeberl. A real-time Java chip-multiprocessor. ACM Trans. Embed. Comput. Syst., 10(1):9:1--34, 2010. Google ScholarDigital Library
- Wolfgang Puffitsch. Data caching, garbage collection, and the Java memory model. In Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2009), pages 90--99, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- Martin Schoeberl. JOP: A Java Optimized Processor for Embedded Real-Time Systems. PhD thesis, Vienna University of Technology, 2005.Google Scholar
- Martin Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1--2:265--286, 2008. Google ScholarDigital Library
- Martin Schoeberl. Time-predictable cache organization. In Proceedings of the First International Workshop on Software Technologies for Future Dependable Distributed Systems (STFSSD 2009), pages 11--16, Tokyo, Japan, March 2009. IEEE Computer Society. Google ScholarDigital Library
- Martin Schoeberl. A time-predictable object cache. In Proceedings of the 14th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2011), pages 99--105, Newport Beach, CA, USA, March 2011. IEEE Computer Society. Google ScholarDigital Library
- Martin Schoeberl, Benedikt Huber, and Wolfgang Puffitsch. Data cache organization for accurate timing analysis. Real-Time Systems, pages 1--28, 2012. published online, to appear in print. Google ScholarDigital Library
- Martin Schoeberl, Thomas B. Preusser, and Sascha Uhrig. The embedded Java benchmark suite JemBench. In Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2010), pages 120--127, New York, NY, USA, August 2010. ACM. Google ScholarDigital Library
- Martin Schoeberl, Wolfgang Puffitsch, Rasmus Ulslev Pedersen, and Benedikt Huber. Worst-case execution time analysis for a Java processor. Software: Practice and Experience, 40/6:507--542, 2010. Google ScholarDigital Library
- Sascha Uhrig. Evaluation of different multithreaded and multicore processor configurations for soPC. In Koen Bertels, Nikitas J. Dimopoulos, Cristina Silvano, and Stephan Wong, editors, Embedded Computer Systems: Architectures, Modeling, and Simulation, 9th International Workshop, SAMOS, volume 5657 of Lecture Notes in Computer Science, pages 68--77. Springer, 2009. Google Scholar
- Reinhard Wilhelm, Daniel Grund, Jan Reineke, Marc Schlickling, Markus Pister, and Christian Ferdinand. Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. IEEE Transactions on CAD of Integrated Circuits and Systems, 28(7):966--978, 2009. Google ScholarDigital Library
- Martin Zabel. Effiziente Mehrkernarchitektur für eingebettete Java-Bytecode-Prozessoren. PhD thesis, Technische Universität Dresden, Fakultät Informatik, 2011.Google Scholar
- Martin Zabel and Rainer G. Spallek. Application requirements and efficiency of embedded java bytecode multi-cores. In JTRES '10: Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems, pages 46--52, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
Index Terms
- On the scalability of time-predictable chip-multiprocessing
Recommendations
An Effective Instruction Optimization Method for Embedded Real-Time Java Processor
ICPPW '05: Proceedings of the 2005 International Conference on Parallel Processing WorkshopsA method to optimize instructions in embedded real-time java processors is proposed. It can reduce the CPI (Cycles per Instruction) and simplify the implementation of complex instructions, as well as make the WCET (Worst Case Execution Time) of the ...
A Java processor architecture for embedded real-time systems
Architectural advancements in modern processor designs increase average performance with features such as pipelines, caches, branch prediction, and out-of-order execution. However, these features complicate worst-case execution time analysis and lead to ...
Comments