Daniel Aarno
Intel
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Daniel Aarno.
Archive | 2010
Jakob Engblom; Daniel Aarno; Bengt Werner
This chapter describes use cases for and benefits of full-system simulation, based on more than a decade of commercial use of the Simics simulator. Simics has been used to simulate a wide range of systems, from simple single-processor embedded boards to multiprocessor servers and heterogeneous telecom clusters, leading to an emphasis on scalability and flexibility. The most important features and implementation techniques for a high-performance full-system simulator will be described and the techniques to achieve high simulation performance will be discussed in detail. As the ability to efficiently model systems is critical for a full-system simulator, tools and best practices for creating such models will be described. It will be shown how full-system simulation plays a significant role in the development of complex electronic systems, from system definition through development to deployment.
modeling, analysis, and simulation on computer and telecommunication systems | 2015
Eric Nilsson; Daniel Aarno; Erik Carstensen; Håkan Grahn
Virtual platforms provide benefits to developers in terms of a more rapid development cycle since development may begin before next-generation hardware is available. However, there is a distinct lack of graphics virtualization in industry-grade virtual platforms, leading to performance issues that may reduce the benefits virtual platforms otherwise have over execution on actual hardware. This paper demonstrates graphics acceleration by the means of paravirtualizing OpenGL ES in the Wind River Simics full-system simulator. We propose a solution for paravirtualized graphics using magic instructions to share memory between target and host systems, and present an implementation utilizing this method. The study illustrates the benefits and drawbacks of paravirtualized graphics acceleration and presents a performance analysis of strengths and weaknesses compared to software rasterization. Additionally, benchmarks are devised to stress key aspects in the solution, such as communication latency and computationally intensive applications. We assess paravirtualization as a viable method to accelerate graphics in system simulators, this reduces frame times up to 34 times compared to that of software rasterization. Furthermore, magic instructions are identified as the primary bottleneck of communication latency in the implementation.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Simics users often need to model the physical world or look deep into the implementation of computer components. Rather than using Simics itself to create such models, it sometimes makes more sense to integrate Simics with other simulators, leaving each simulator to do what it does best. Chapter 9 addresses the reasons for and the main issues involved in creating such simulator integrations. The chapter provides a discussion on the general issues involved in integrating simulators and proven design patterns for such integrations.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Simics structures a virtual platform into a hierarchical structure of reusable components, with typed connectors. The components mimic the physical or logical breakdown of a system. The Simics system panel can be used to provide a visualization of a system that makes sense to the end user. Chapter 4 presents the Simics component system, as well as the system panel and script systems, which are used to build systems from individual device and processor models.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Simics is designed to be an extensible and programmable system, allowing users to customize the tool to solve their particular problem in the best way possible. Over the years, Simics has been used for things and in situations that were not intended or even imagined by its developers. Chapter 8 discusses how Simics can be extended by its users, including aspects such as cache modeling and fault injection.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Network simulation is an integral part of Simics, and many Simics target systems are networked in one way or another. Simics is used to simulate very large networks of systems, scaling up to several thousand target processors spread across dozens or even hundreds of networked boards. Chapter 5 shows how network simulation is done in Simics and how simulation can be scaled up to very large systems.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Following the introduction to modeling, Chapter 7 provides a tutorial-style example on how to develop a model of a direct memory access (DMA) controller, properly connect it to a virtual platform using PCIe, and to enable a device driver to interact with it. The example covers a wide range of important modeling concepts, such as handling, PCIe configuration and I/O accesses, interrupts, parsing of data structures, and how to model the passing of time.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Chapter 6 introduces the reader to how to best perform transaction-level modeling of individual devices and how such models are built in Simics. It covers the Device Modeling Language (DML), as well as device modeling in C, C++, Python, and SystemC. Chapter 6 provides detailed step-by-step instructions for how to create a simple device model in Simics.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Chapter 3 covers the core values of a fast virtual platform: developing, debugging, analyzing, and testing software. A virtual platform like Simics lets users run software of all kinds, targeting all kinds of hardware, on a laptop or a development or test server. With the software running on Simics, the benefits of using simulation can be realized: determinism, checkpointing, reverse execution, full control, and insight. Chapter 3 describes how Simics is used to develop and debug software, including the features of the Simics system-level reversible debugger.
Full-System Simulation with Simics | 2015
Daniel Aarno; Jakob Engblom
Chapter 2 defines the basic terminology used throughout the book and introduces the reader to the Simics architecture, design, interface, and execution model. It describes how Simics works and why it works the way it does.