3 research outputs found

    Embedded Processor Selection/Performance Estimation using FPGA-based Profiling

    Get PDF
    In embedded systems, modeling the performance of the candidate processor architectures is very important to enable the designer to estimate the capability of each architecture against the target application. Considering the large number of available embedded processors, the need has increased for building an infrastructure by which it is possible to estimate the performance of a given application on a given processor with a minimum of time and resources. This dissertation presents a framework that employs the softcore MicroBlaze processor as a reference architecture where FPGA-based profiling is implemented to extract the functional statistics that characterize the target application. Linear regression analysis is implemented for mapping the functional statistics of the target application to the performance of the candidate processor architecture. Hence, this approach does not require running the target application on each candidate processor; instead, it is run only on the reference processor which allows testing many processor architectures in very short time

    SimuBoost: Scalable Parallelization of Functional System Simulation

    Get PDF
    Für das Sammeln detaillierter Laufzeitinformationen, wie Speicherzugriffsmustern, wird in der Betriebssystem- und Sicherheitsforschung häufig auf die funktionale Systemsimulation zurückgegriffen. Der Simulator führt dabei die zu untersuchende Arbeitslast in einer virtuellen Maschine (VM) aus, indem er schrittweise Instruktionen interpretiert oder derart übersetzt, sodass diese auf dem Zustand der VM arbeiten. Dieser Prozess ermöglicht es, eine umfangreiche Instrumentierung durchzuführen und so an Informationen zum Laufzeitverhalten zu gelangen, die auf einer physischen Maschine nicht zugänglich sind. Obwohl die funktionale Systemsimulation als mächtiges Werkzeug gilt, stellt die durch die Interpretation oder Übersetzung resultierende immense Ausführungsverlangsamung eine substanzielle Einschränkung des Verfahrens dar. Im Vergleich zu einer nativen Ausführung messen wir für QEMU eine 30-fache Verlangsamung, wobei die Aufzeichnung von Speicherzugriffen diesen Faktor verdoppelt. Mit Simulatoren, die umfangreichere Instrumentierungsmöglichkeiten mitbringen als QEMU, kann die Verlangsamung um eine Größenordnung höher ausfallen. Dies macht die funktionale Simulation für lang laufende, vernetzte oder interaktive Arbeitslasten uninteressant. Darüber hinaus erzeugt die Verlangsamung ein unrealistisches Zeitverhalten, sobald Aktivitäten außerhalb der VM (z. B. Ein-/Ausgabe) involviert sind. In dieser Arbeit stellen wir SimuBoost vor, eine Methode zur drastischen Beschleunigung funktionaler Systemsimulation. SimuBoost führt die zu untersuchende Arbeitslast zunächst in einer schnellen hardwaregestützten virtuellen Maschine aus. Dies ermöglicht volle Interaktivität mit Benutzern und Netzwerkgeräten. Während der Ausführung erstellt SimuBoost periodisch Abbilder der VM (engl. Checkpoints). Diese dienen als Ausgangspunkt für eine parallele Simulation, bei der jedes Intervall unabhängig simuliert und analysiert wird. Eine heterogene deterministische Wiederholung (engl. heterogeneous deterministic Replay) garantiert, dass in dieser Phase die vorherige hardwaregestützte Ausführung jedes Intervalls exakt reproduziert wird, einschließlich Interaktionen und realistischem Zeitverhalten. Unser Prototyp ist in der Lage, die Laufzeit einer funktionalen Systemsimulation deutlich zu reduzieren. Während mit herkömmlichen Verfahren für die Simulation des Bauprozesses eines modernen Linux über 5 Stunden benötigt werden, schließt SimuBoost die Simulation in nur 15 Minuten ab. Dies sind lediglich 16% mehr Zeit, als der Bau in einer schnellen hardwaregestützten VM in Anspruch nimmt. SimuBoost ist imstande, diese Geschwindigkeit auch bei voller Instrumentierung zur Aufzeichnung von Speicherzugriffen beizubehalten. Die vorliegende Arbeit ist das erste Projekt, welches das Konzept der Partitionierung und Parallelisierung der Ausführungszeit auf die interaktive Systemvirtualisierung in einer Weise anwendet, die eine sofortige parallele funktionale Simulation gestattet. Wir ergänzen die praktische Umsetzung mit einem mathematischen Modell zur formalen Beschreibung der Beschleunigungseigenschaften. Dies erlaubt es, für ein gegebenes Szenario die voraussichtliche parallele Simulationszeit zu prognostizieren und gibt eine Orientierung zur Wahl der optimalen Intervalllänge. Im Gegensatz zu bisherigen Arbeiten legt SimuBoost einen starken Fokus auf die Skalierbarkeit über die Grenzen eines einzelnen physischen Systems hinaus. Ein zentraler Schlüssel hierzu ist der Einsatz moderner Checkpointing-Technologien. Im Rahmen dieser Arbeit präsentieren wir zwei neuartige Methoden zur effizienten und effektiven Kompression von periodischen Systemabbildern

    Optimizing Simulation In Multiprocessor Platforms Using Dynamic-compiled Simulation

    No full text
    Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)Contemporary SoC design involves the proper selection of cores from a reference platform. Such selection implies the design exploration of CPUs, which requires simulation platforms with high performance and flexibility. Applying retarget able instruction-set simulation tools in this environment can simplify the design of new architectures. The increasing system complexity makes the traditional approach to simulation inefficient for today's architectures. The dynamic-compiled instruction-set simulation compiles application code blocks, at runtime, to accelerate the simulation with high efficiency. This paper presents a retarget able dynamic-compiled simulator to improve the performance in multiprocessor platforms. Three architectures were modeled - MIPS, SPARC and PowerPC - and tested in platforms with 1, 2, 4 and 8 processors. The performance on platforms with dynamic-compiled simulators was 3 times better than interpreted simulators, using large programs. Dynamic-compiled simulators outside the platforms with single core programs reached the 139 Million Instructions per Seconds on average. © 2012 IEEE.8087 Brazilian Computer Society (SBC),CAPES,FAPERJ,Cons. Nac. Desenvolv. Cient. Tecnol. (CNPq),Ministerio da Ciencia, Tecnologia e InovacaoConselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)Rigo, S., Araujo, G., Bartholomeu, M., Azevedo, R., ArchC: A systemc-based architecture description language SBAC-PAD '04, Foz Do Iguaçu, PR, Brasil, 2004, pp. 66-73. , Proceedings of the 16th Symposium on Computer Architecture and High Performance Computing, serPees, S., Zivojnovic, V., Ropers, A., Meyr, H., Fast simulation of the TI TMS 320c54x DSP Proc. Int. Conf. on Signal Processing Application and Technology (ICSPAT), San Diego, Sep 1997, pp. 995-999Araujo, G., Rigo, S., Azevedo, R., Processor design with ArchC (2008) Processor Description Languages, , P. Mishra and N. Dutt, Eds. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., ch. 11Garcia, M.S., Azevedo, R., Rigo, S., Optimizing a retargetable compiled simulator to achieve near-native performance WSCAD-SCC '10, Petrópolis, RJ, Brasil, 2010, pp. 33-39. , Proceedings of the 11th Symposium on Computing Systems, ser(2012), http://www.systemc.orgCai, L., Gajski, D., Transaction level modeling: An overview CODES+ISSS '03, New York, NY, USA, 2003, pp. 19-24. , Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, serLattner, C., Adve, V., Llvm: A compilation framework for lifelong program analysis & transformation CGO '04, Palo Alto, California, 2004, pp. 0-75. , Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, serBurtscher, M., Ganusov, I., Automatic synthesis of highspeed processor simulators MICRO 37, Portland, Oregon, 2004, pp. 55-66. , Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture, serBartholomeu, M., Azevedo, R., Rigo, S., Araujo, G., Optimizations for compiled simulation using instruction type information SBAC-PAD '04, Foz Do Iguaçu, PR, Brasil, 2004, pp. 74-81. , Proceedings of the 16th Symposium on Computer Architecture and High Performance Computing, serCmelik, B., Keppel, D., Shade: A fast instruction-set simulator for execution profiling SIGMETRICS '94, Nashville, Tennessee, United States, 1994, pp. 128-137. , Proceedings of the 1994 ACM SIGMETRICS conference on Measurement and modeling of computer systems, serZivojnovic, V., Pees, S., Meyr, H., Lisa - Machine description language and generic machine model for hw/sw codesign VLSISP '96, San Francisco, USA, 1996, pp. 127-136. , Proceedings of the IEEE Workshop on VLSI Signal Processing, serHalambi, A., Grun, P., Ganesh, V., Khare, A., Dutt, N., Nicolau, A., Expression: A language for architecture exploration through compiler/simulator retargetability (1999) DATE '99, pp. 485-490. , Proceedings of the conference on Design, automation and test in Europe, ser. Munich, Germany: ACMReshadi, M., Mishra, P., Dutt, N., Instruction set compiled simulation: A technique for fast and flexible instruction set simulation DAC '03, Anaheim, CA, USA, 2003, pp. 758-763. , Proceedings of the 40th annual Design Automation Conference, serQin, W., D'Errico, J., Zhu, X., A multiprocessing approach to accelerate retargetable and portable dynamic-compiled instruction-set simulation CODES+ISSS '06, Seoul, Korea, 2006, pp. 193-198. , Proceedings of the 4th international conference on Hardware/software codesign and system synthesis, serHong, D.-Y., Hsu, C.-C., Yew, P.-C., Wu, J.-J., Hsu, W.-C., Liu, P., Wang, C.-M., Chung, Y.-C., Hqemu: A multi-threaded and retargetable dynamic binary translator on multicores (2012) CGO '12, pp. 104-113. , http://doi.acm.org/10.1145/2259016.2259030, Proceedings of the Tenth International Symposium on Code Generation and Optimization, ser. New York, NY, USA: ACM, [Online]. AvailableBellard, F., Qemu, a fast and portable dynamic translator (2005) ATEC '05, pp. 41-41. , http://dl.acm.org/citation.cfm?id=1247360.1247401, Proceedings of the annual conference on USENIX Annual Technical Conference, ser. Berkeley, CA, USA: USENIX Association, [Online]. AvailableHelmstetter, C., Joloboff, V., Xinlei, Z., Xiaopeng, G., Fast Instruction Set Simulation Using LLVM-based Dynamic Translation (2011) International MultiConference of Engineers and Computer Scientists 2011, 2188, pp. 212-216. , http://hal.inria.fr/hal-00646947, IAENG. Hong Kong, Chine: Springer, Jul. [Online]. AvailableAzevedo, R., Rigo, S., Bartholomeu, M., Araujo, G., Araujo, C., Barros, E., The archc architecture description language and tools (2005) Int. J. Parallel Program., 33, pp. 453-484. , OctoberKane, G., (1988) MIPS RISC Architecture, , Upper Saddle River, NJ, USA: Prentice-Hall, IncDiefendorff, K., Silha, E., The powerpc user instruction set architecture (1994) IEEE Micro, 14, pp. 30-41. , OctoberPaul, R.P., (1999) SPARC Architecture, Assembly Language Programming, and C, , 2nd ed. Upper Saddle River, NJ, USA: Prentice Hall PTRIqbal, S.M.Z., Liang, Y., Grahn, H., Parmibench - An open-source benchmark for embedded multiprocessor systems (2010) IEEE Computer Architecture Letters, 9, pp. 45-48Woo, S.C., Ohara, M., Torrie, E., Singh, J.P., Gupta, A., The splash-2 programs: Characterization and methodological considerations (1995) SIGARCH Comput. Archit. News, 23 (2), pp. 24-36. , http://doi.acm.org/10.1145/225830.223990, May [Online]. AvailableGuthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown, R.B., Mibench: A free, commercially representative embedded benchmark suite Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop on, Dec. 2001, pp. 3-1
    corecore