Seamless Hardware/Software Performance Co-Monitoring in a Codesign Simulation Environment with RTOS Support
|
|
|
- Miranda Lindsey
- 10 years ago
- Views:
Transcription
1 Seamless Hardware/Software Performance Co-Monitoring in a Codesign Simulation Environment with RTOS Support L. Moss 1, M. de Nanclas 1, L. Filion 1, S. Fontaine 1, G. Bois 1 and M. Aboulhamid 2 1 Department of Computer Engineering, École Polytechnique de Montréal 2 Department of Computer Science and Operational Research, Université de Montréal {moss, denancla, filion, fontaine, bois}@grm.polymtl.ca, [email protected] Abstract Simulation monitoring tools are needed in hardware/software codesign for performance debugging, model validation and hardware/software ing purposes. Existing tools are either hardware- or softwarecentric and lack integrated and seamless co-monitoring. This paper presents a system-level co-monitoring tool that can monitor the computation and communication activities of SystemC user modules, as well as bus, memory and processor usage, on a variety of hardware/software embedded configurations that may include an RTOS. We also describe how performance metrics are generated during or after simulation and made accessible to users or external applications. Finally, experimental results show that such comonitoring does not disturb the simulation s internal timing and only moderately increases the simulation s wall clock run time (by 11-22% for hardware/software ed architectures). 1. Introduction Hardware/software codesign is an increasingly popular methodology used to design embedded systems at the system level by simultaneously developing the system s hardware and software user modules. This methodology needs to be supported by monitoring tools that are able to gather data and metrics on the performance of embedded systems simulated in a hardware/software codesign environment. Such monitoring tools can be used for performance debugging purposes and for design space exploration, either by human designers analyzing design performances or by automated hardware/software ing algorithms. These tools can also be used to validate high-level performance estimation methods or to feed data into a performance estimation model, as in [1]. Our SPACE platform, which has been thoroughly explained in [2] as a SystemC [3] virtual platform for the exploration of hardware/software embedded systems including real-time operating systems (RTOS), was instrumented in order to allow for performance comonitoring. This platform supports the functional ing of a system specification into several SystemC modules and their mapping to hardware and software s. The instrumentation presented in this paper allows for the collection of metrics on the execution time of hardware user modules and on channel/bus, memory and processor usage. Also, a non-intrusive instrumentation of instruction set simulators (ISS) monitors RTOS context switches and calls to communication functions. This powers the collection of metrics on the execution time of software user modules and on communications between all user modules, no matter whether the communications are between hardware modules, between software modules or are crossing the hardware/software. This ability to seamlessly monitor SystemC user modules, both in software and hardware, is what we call co-monitoring. Since the publication of [2], our virtual platform has seen several enhancements; one of these is the integration of a bus cycle accurate (BCA) protocol in order to suitably reflect the true behavior of a processor. Also, a collection of support IP blocks, such as timers, UARTs and memory controllers, is now provided. These components simulate platform behaviors that are similar to real implementations. An important feature of our virtual platform, exploited in this paper, is that all communications keep the same application programming interface (API) at anytime and any location in the virtual platform, while seamless movement of user modules between hardware and software is allowed. Communications are based on fixed IDs attributed to every single user module, be it mapped to hardware or software. Hence, the code written to communicate to a module never changes, regardless of /DATE EDAA
2 where the module is (hardware or software) or if it changes from one simulation to another. By keeping the same API, users can really explore their design with minimum effort. From a monitoring point of view, this ensures full transparency of communications and a simplification of the monitoring engine. This paper s main contribution is a novel RTOS-aware co-monitoring architecture that seamlessly and nonintrusively monitors both hardware and software user modules computations and communications. In other words, our co-monitoring yields the same kind of performance data for every user module independently of the hardware/software ing of the system, without disrupting the simulation s internal timing and without requiring any changes in user module source code when modules are moved between hardware and software s. Finally, an efficient and flexible mechanism to compute, store and access a history of performance metrics is described. 2. Related work There are commercial tools, such as Mentor Graphics Seamless [4], Coware Platform Architect [5] and Xilinx Monitor [6], that offer cycle-accurate monitoring information on hardware user modules, bus usage, memory accesses and processors. However, they lack sufficient visibility into the system-level operations of software user modules. The software binary is either treated as a black box in which the software user modules are melded together, for instance when collecting statistics on cache usage, or metrics are collected at a too low level, for example in tracking when the processor enters or exits each function. The interpretation of the semantics of these function calls is then entirely left to the user. In particular, these tools do not automatically monitor RTOS context switches and communications made by software user modules, and the kind of performance data produced depends on the module s location in hardware or software. There exists in the literature some ISS-based works that allow flexible monitoring of software user code without disturbing its execution or distorting its simulated run time. These tools typically count the number of times a given software region has been executed and monitor the time periods spent in it. For instance, FLATSIM [7] is a profiling tool that automatically tracks the entry and exit points of both functions and loops whereas the Comet Profiler [8] tracks the execution of software code blocks specifically labeled in user source code. While these two tools give an estimation of what the performance of the monitored software regions would be if they were instead implemented in hardware, they do not offer a cycleaccurate simulation of a ed hardware/software system and do not monitor memory accesses, bus transactions and end-to-end module communications inside and between s. The advantage of our co-monitoring is that it combines the advantages of both approaches, simultaneously monitoring hardware user modules, buses and memory devices as well as software user modules, without requiring modifications in user code both when enabling monitoring and when re-ing the system. 3. Co-monitoring architecture Our co-monitoring is based on the general framework illustrated in Figure 1. First, the virtual platform is instrumented in order to send event notifications to a central SystemC monitoring component. This component processes the events to assemble co-monitoring records and forwards these records to a log file or to a metrics generator outside of the SystemC simulation. During or after the simulation, the metrics generator computes performance metrics and statistics over these records and sends the results to a graphical user interface (GUI), or to another program using the performance analysis API. Figure 1: General Co-monitoring Framework 3.1. Co-monitoring records Our co-monitoring framework is based on the following basic record types: End-to-end transfer: This record type gives information about a completed end-to-end communication between a user module and another component, which may be a second user module. This information includes the identification of source and destination components, the start and stop time of the read operation at one end and of the counterpart write operation at the other end, and the data length of the transfer. Bus transfer: This record type contains information about the transfer of a data packet on a bus, such as the identity of the bus, the time at which the packet arrives in the bus, the times at which it starts and ends to be transferred, the source and destination components as well as its data length. A single end-to-end transfer may generate more than one bus transfer, because the packet may need to travel on more than one bus to reach its destination (for instance, in multi-processor systems) and
3 because the communication protocol may require an acknowledgment to be sent. Memory access: This collects information related to a read or a write access to a memory, particularly the identity of the accessing and accessed components as well as the access time, address and length. User module computation: This represents a user module s computation phase and gives the computation s begin and end time. For software modules, such a record also contains the number of instructions, broken down by type, executed during this computation. Note that this is the only case where record contents differ according to the hardware or software location of user modules. The information on instruction frequencies by type can be used to estimate the degree of parallelism as well as the data- or control-orientation of user modules [9] Platform instrumentation Different approaches must be taken for the instrumentation of hardware and software components. The difference is due to the fact that hardware components can do arbitrarily complex operations without affecting the SystemC simulation clock time (though they do take non-zero wall clock time) whereas software instructions are executed in a cycle-accurate manner on an ISS. To preserve the simulation cycle-accurate timing, we must ensure that the simulation clock time is not distorted by the monitoring of software user modules. Figure 2 gives a general picture of the platform instrumentation. In order to minimize the amount of code inserted into platform models, generic instrumentation macros were implemented. This also allows co-monitoring to be easily enabled or disabled at compile time. These macros are responsible for collecting data on significant events and passing that information to the central monitoring component, which generates and timestamps the monitoring records presented in the previous section. The instrumentation of hardware components is straightforward, since the relevant macros can be directly inserted into their respective platform models. Thus, bus models and memory models are instrumented by their designer whereas this is done automatically for hardware user modules through the instrumentation of our virtual platform s API functions. This instrumentation also takes advantage of timing annotations that are present in user modules, whether they were inserted manually, through a behavioral synthesis tool or via estimation techniques. As explained above, software user modules cannot directly call monitoring macros, since doing so would mean executing additional software instructions and disrupting the simulation s timing. Each ISS is instead given an ISS monitoring component which calls the macros on behalf of the software user modules. Because the ISS monitor is itself a SystemC component, it can fulfill its role without distorting the simulation clock time. In our virtual platform, all user modules in all applications call up to four API functions for their communication operations, which are to read from or write to a device or another user module. These API calls are independent of both the target processor and the embedded RTOS used. Software modules start and stop their computations when their context is switched in and out by the RTOS scheduler. The functions used for context switching depend only on the RTOS, not on the processor on which it runs or on the user model. This limits the effort required for implementing the software monitoring environment, since there is little variation in the functions to look for. The ISS monitor tracks the ISS program counter to detect when the execution flow reaches an entry or exit point in one of these functions. The ISS monitor then takes action depending on the event that occurred. For instance, if a communication function has just been entered, the ISS monitor retrieves from the stack and registers the parameters passed to the function and then transfers the information about the started communication to the central monitor. If a context switch has been requested, the ISS monitor will similarly retrieve the IDs of the user modules being switched in and out, and will thus keep track of the user module currently being executed by the ISS. If the end of a communication function has been reached, the ISS monitor uses our virtual platform s communication model to determine which communication has just been terminated. In every case, the central monitor uses the information extracted by the ISS monitor to produce appropriate co-monitoring records. The co-monitoring instrumentation is always automatically adjusted for the simulation of any new system ing, each time a user module is moved from hardware to software (or vice-versa), meaning that a hardware user module becomes a software user module (or vice-versa) after re-ing. Figure 2: Platform instrumentation. Dashed lines represent monitoring components lines of sight
4 3.3. Metrics generation The co-monitoring records produced by the instrumented SystemC simulation are passed on to a metrics generator either synchronously through socket communication or asynchronously through the file system. In addition to being platform-independent and language-independent, this interprocess communication method enables both local and remote analysis. The metrics generator processes the records to generate metrics about bus, memory and processor usage, channel transfer rates, read and write communications between user modules (minimum, maximum, average and standard deviation of end-to-end communication time as well as the amount of data transferred), and execution times for each user module. The generation of each of these metrics can be turned on and off and a performance analysis API makes them available to external programs, for example a hardware/software ing tool. These metrics can be computed over the full length of the simulation or subdivided into a series of time-based analysis intervals whose length is adjustable at runtime. When using analysis intervals, each metric is computed for each interval using all records comprised within the interval. Figure 3 gives an example of a metric, end-toend communication times between two given modules, computed with analysis intervals of 50 microseconds. To avoid large memory space to be taken by the records, especially for long simulations, records are preprocessed into atomic intervals so that each record needs not be kept in memory, except when detailed Gantt charts are required. Metrics and statistics (maximums, minimums, averages, sums and standard deviations) are computed for each atomic interval, whose time span is fixed before the simulation starts. This method allows the re-generation of metrics and statistics for different interval lengths at runtime, by combining an integral number of atomic intervals into a larger analysis interval. This can be used for starting with a coarse-grained plot and progressively decreasing the analysis interval length in order to zero in on interesting points Metrics presentation Graphical user interfaces for performance metrics are described here in order to illustrate the possibilities offered by co-monitoring and how it can be integrated into a larger hardware/software codesign framework. A GUI, fed by the metrics generator, provides several ways to visualize collected data, primarily geared toward performance analysis. Time-based plots show statistics on data transiting on buses, on end-to-end transfers between components, on memory accesses and on processor usage. Heatmap views also illustrate how much communication occurs between every pair of components and how much different memory regions are accessed per analysis interval. Gantt charts can also be used to have a more detailed view of the activities of buses, memory devices and hardware and software user modules. These graphs make it possible to pinpoint bottlenecks and heavily used segments of memory, to find deadlocks, to look for long blocking requests, and more. Figures 3 and 4 are screenshots from this GUI and respectively depict a timebased plot and a heatmap view. Figure 3: Statistical graph of end-to-end communication times between two user modules Figure 4: Heatmap of the number of transactions between each pair of components in a simulation 4. Experimental results The SPACE virtual platform [2] features three levels of abstraction, two of which are untimed and are used for validating system specifications and untimed functional ings. The third one offers timed functional (TF) and cycle-accurate simulations of ed systems. Performance co-monitoring was implemented in the latter level of abstraction for three different kinds of architectures. The first one is an all-hw TF architecture in which user modules are all put into the HW and communicate through a virtual TF FIFO channel. The second one is an all-hw architecture in which
5 communications travel on a BCA model of the IBM CoreConnect OPB bus [10]. The last one, which exploits the full power of hardware/software comonitoring, uses a BCA OPB bus, a Xilinx MicroBlaze [11] ISS and a µc/os-ii RTOS kernel [12] to provide a cycle-accurate simulation of bus communications and of software execution. Results are presented here on the comonitoring of a digital RF filter and of a JPEG picture processor. All our simulations were run on a Windows XP workstation with a 2.8 GHz Pentium IV processor, a 7200 RPM hard drive and 1 GB of RAM Digital RF filter The digital RF filter example has been thoroughly presented in [2] and is shown in Figure 5. In short, the Producer generates a periodic flow of data that is filtered and then stored in memory by the Mux. The Controller periodically adjusts the memory address used by the Mux, requests analysis of the data and changes the Filter s coefficients according to the results of the analysis. Figure 5: RF filter. Dashed lines represent control signals, solid lines are data transfers Architecture Comm. channel HW SW HW-TF TF All None HW-BCA OPB All None PART1 OPB Producer, Filter, Controller Mux, Analyzer PART2 OPB Producer, Filter, Analyzer Mux, Controller PART3 OPB Producer, Filter, Mux Controller, Analyzer Table 1: Five architectures of the RF filter We simulated five different architectures for the RF filter, three of which were ed between hardware and software, as shown in Table 1. Each architecture was simulated with and without co-monitoring in order to measure how much overhead is added when instrumenting the SystemC simulation and outputting the monitoring records to a log file. Table 2 compares the SystemC and wall clock times taken by each simulation. Our tests confirm that the simulation s SystemC clock time stays exactly the same whether monitoring is enabled or not. This means that our co-monitoring does not disturb the timing of system-level simulations. On the other hand, co-monitoring does increase the wall clock run time of the simulation, which means that the user has to wait longer before the simulation ends. Wall clock run SystemC clock Architecture Plain Monitored Plain = Monitored HW-TF HW-BCA PART PART PART Table 2: Results for five architectures of the RF filter example with and without co-monitoring Communication path (as shown in Figure 5) Communication volume (kb) (1) Producer Filter (2) Filter Mux (3) Mux Memory (4) Controller Mux (5) Controller Analyzer (6) Memory Analyzer (7) Analyzer Controller (8) Controller Filter Instruction and data memory ISS Table 3: Communication volumes in the RF filter, with the Analyzer and Controller in SW (PART3) For all-hw architectures, the absolute size of this increase is small (7-8 seconds) whereas its relative size is significant (33-44% of the non-monitored wall clock run time), which reflects the fact that all-hw SystemC simulations are very fast. For ed architectures, the absolute overhead is larger (17-32 seconds) whereas the relative overhead is modest (11-17%). The larger absolute overhead in ed architectures is due to the operations of the ISS monitor and to the monitoring of every data and instruction memory access made by the ISS (see last line of Table 3), whereas the smaller relative overhead reflects the fact that an ISS simulation is inherently much more time-consuming than an all-hw SystemC simulation. Also, Table 3 shows that co-monitoring is able to measure the communication volume between a pair of components, whether they are both in hardware (paths 1, 2 and 3 in Figure 5), both in software (paths 5 and 7) or are split between HW and SW (paths 4, 6 and 8).
6 4.2. JPEG picture processor The JPEG picture processor example has been detailed in [2] as an edge detection application for JPEG images. Figure 6 illustrates the components and communication paths for this example. Like in the preceding example, the picture processor was simulated with and without co-monitoring for five architectures, as shown in Table 4. Each simulation was run for 9 JPEG images with a dimension of 128x128. Table 5 summarizes our findings. Again, the wall clock overhead is smaller in absolute terms (8-11s) and larger in relative terms (33-42%) for all-hw architectures, and the reverse is true for ed architectures ( seconds or 14-22% of the wall clock run time). 5. Conclusions This paper explained how to get, with relatively little overhead, a rich set of performance data from an embedded system simulated in a hardware/software codesign environment. In particular, it demonstrated how the activities of hardware and software user modules can be seamlessly and non-intrusively monitored inside and across boundaries and how performance metrics and statistics could be efficiently extracted from monitoring records obtained from the instrumented model. Future work remains ahead in the refinement of this co-monitoring tool. Monitoring for software user modules at a higher level of abstraction, in which the software is not run on an ISS but rather inside a host process for faster simulation, is still under development. Also in the works is a hardware/software ing application that would make use of co-monitoring to drive the ing algorithm. Finally, the technique used for co-monitoring is currently employed to implement a non-intrusive ISSbased RTOS monitoring tool. References Figure 6: JPEG picture processor example Architecture Comm. channel HW SW HW-TF TF All None HW-BCA OPB All None PART1 OPB HUFF, IDCT, Extractor YUV2RGB, Edge, Iquant PART2 OPB HUFF, IDCT, Extractor, Edge, Iquant YUV2RGB PART3 OPB HUFF, IDCT, Edge, Iquant Extractor, YUV2RGB Table 4: Five picture processor architectures Wall clock run SystemC clock Architecture Plain Monitored Plain = Monitored HW-TF HW-BCA PART PART PART Table 5: Results for five picture processor architectures with and without co-monitoring [1] K. Ueda, K. Sakanushi, Y. Takeuchi, and M. Imai, "Architecture-level performance estimation method based on system-level profiling," IEE Proceedings-Computers and Digital Techniques, vol. 152, no. 1, 2005, pp [2] J. Chevalier, M. de Nanclas, L. Filion, O. Benny, M. Rondonneau, G. Bois, and M. Aboulhamid, "A SystemC Refinement Methodology for Embedded Software," IEEE Design & Test of Computers, vol. 23, no. 2, 2006, pp [3] "SystemC," Open SystemC Initiative, [4] "Seamless," Mentor Graphics Corp, [5] "CoWare Platform Architect," CoWare Inc., [6] A. Donlin and T. Lenart, "Performance Analysis and Visualization of SystemC Models," presented at 5th North American SystemC User Group Meeting, San Jose, [7] D. C. Suresh, W. A. Najjar, F. Vahid, J. R. Villarreal, and G. Stitt, "Profiling tools for hardware/software ing of embedded applications," Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'03), 2003, pp [8] M. Finc and A. Zemva, "Profiling soft-core processor applications for hardware/software ing," Journal of Systems Architecture, vol. 51, no. 5, 2005, pp [9] M. Holzer and M. Rupp, "Static Code Analysis of Functional Descriptions in SystemC," Third IEEE International Workshop on Electronic Design, Test and Applications (DELTA'06), 2006, pp [10] "On-Chip Peripheral Bus," IBM, [11] "MicroBlaze Soft Processor Core," Xilinx Inc., [12] "µc/os-ii," Micrium Inc.,
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada [email protected] Micaela Serra
SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley
SystemC Tutorial John Moondanos Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley SystemC Introduction Why not leverage experience of C/C++ developers for H/W & System Level Design? But
LogiCORE IP AXI Performance Monitor v2.00.a
LogiCORE IP AXI Performance Monitor v2.00.a Product Guide Table of Contents IP Facts Chapter 1: Overview Target Technology................................................................. 9 Applications......................................................................
Accurate Measurement of the Mains Electricity Frequency
Accurate Measurement of the Mains Electricity Frequency Dogan Ibrahim Near East University, Faculty of Engineering, Lefkosa, TRNC [email protected] Abstract The frequency of the mains electricity supply
ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU
ESE566 REPORT3 Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU Nov 19th, 2002 ABSTRACT: In this report, we discuss several recent published papers on design methodologies of core-based
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102
A Hardware and Software Monitor for High-Level System-on-Chip Verification
A Hardware and Software Monitor for High-Level System-on-Chip Verification M. El Shobaki and L. Lindh International Symposium on Quality Electronic Design, 2001 Presenter: Gu, Ruei-Ting What s the problem?
The Role of Precise Timing in High-Speed, Low-Latency Trading
The Role of Precise Timing in High-Speed, Low-Latency Trading The race to zero nanoseconds Whether measuring network latency or comparing real-time trading data from different computers on the planet,
Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip
Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip Ms Lavanya Thunuguntla 1, Saritha Sapa 2 1 Associate Professor, Department of ECE, HITAM, Telangana
Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip
Outline Modeling, simulation and optimization of Multi-Processor SoCs (MPSoCs) Università of Verona Dipartimento di Informatica MPSoCs: Multi-Processor Systems on Chip A simulation platform for a MPSoC
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
Performance Analysis and Visualization of SystemC Models. Adam Donlin and Thomas Lenart Xilinx Research
Performance Analysis and Visualization of SystemC Models Adam Donlin and Thomas Lenart Xilinx Research Overview Performance Analysis!= Functional Verification Analysis and Visualization Overview Simulation
Control 2004, University of Bath, UK, September 2004
Control, University of Bath, UK, September ID- IMPACT OF DEPENDENCY AND LOAD BALANCING IN MULTITHREADING REAL-TIME CONTROL ALGORITHMS M A Hossain and M O Tokhi Department of Computing, The University of
Scalability and Classifications
Scalability and Classifications 1 Types of Parallel Computers MIMD and SIMD classifications shared and distributed memory multicomputers distributed shared memory computers 2 Network Topologies static
Cisco Performance Visibility Manager 1.0.1
Cisco Performance Visibility Manager 1.0.1 Cisco Performance Visibility Manager (PVM) is a proactive network- and applicationperformance monitoring, reporting, and troubleshooting system for maximizing
A SoC design flow based on UML 2.0 and SystemC
A SoC design flow based on UML 2.0 and SystemC Sara Bocchio 1, Elvinia Riccobene 2, Alberto Rosti 1, and Patrizia Scandurra 3 1 STMicroelectronics, AST Agrate Lab R&I, Italy {sara.bocchio, alberto.rosti}@st.com
FPGA area allocation for parallel C applications
1 FPGA area allocation for parallel C applications Vlad-Mihai Sima, Elena Moscu Panainte, Koen Bertels Computer Engineering Faculty of Electrical Engineering, Mathematics and Computer Science Delft University
BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH
WHITE PAPER METRIC-DRIVEN VERIFICATION ENSURES SOFTWARE DEVELOPMENT QUALITY BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH INTRODUCTION The complexity of electronic systems is rapidly
find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1
Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems
Early Hardware/Software Integration Using SystemC 2.0
Early Hardware/Software Integration Using SystemC 2.0 Jon Connell, ARM. Bruce Johnson, Synopsys, Inc. Class 552, ESC San Francisco 2002 Abstract Capabilities added to SystemC 2.0 provide the needed expressiveness
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Interconnection Networks
Advanced Computer Architecture (0630561) Lecture 15 Interconnection Networks Prof. Kasim M. Al-Aubidy Computer Eng. Dept. Interconnection Networks: Multiprocessors INs can be classified based on: 1. Mode
Influence of Load Balancing on Quality of Real Time Data Transmission*
SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 6, No. 3, December 2009, 515-524 UDK: 004.738.2 Influence of Load Balancing on Quality of Real Time Data Transmission* Nataša Maksić 1,a, Petar Knežević 2,
Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor
Von der Hardware zur Software in FPGAs mit Embedded Prozessoren Alexander Hahn Senior Field Application Engineer Lattice Semiconductor AGENDA Overview Mico32 Embedded Processor Development Tool Chain HW/SW
features at a glance
hp availability stats and performance software network and system monitoring for hp NonStop servers a product description from hp features at a glance Online monitoring of object status and performance
System Software Integration: An Expansive View. Overview
Software Integration: An Expansive View Steven P. Smith Design of Embedded s EE382V Fall, 2009 EE382 SoC Design Software Integration SPS-1 University of Texas at Austin Overview Some Definitions Introduction:
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
Codesign: The World Of Practice
Codesign: The World Of Practice D. Sreenivasa Rao Senior Manager, System Level Integration Group Analog Devices Inc. May 2007 Analog Devices Inc. ADI is focused on high-end signal processing chips and
Performance Guideline for syslog-ng Premium Edition 5 LTS
Performance Guideline for syslog-ng Premium Edition 5 LTS May 08, 2015 Abstract Performance analysis of syslog-ng Premium Edition Copyright 1996-2015 BalaBit S.a.r.l. Table of Contents 1. Preface... 3
A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS
A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software Jaehwan Lee, Kyeong Keol Ryu and Vincent John Mooney III School of Electrical and Computer Engineering Georgia
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software
Scalability Factors of JMeter In Performance Testing Projects
Scalability Factors of JMeter In Performance Testing Projects Title Scalability Factors for JMeter In Performance Testing Projects Conference STEP-IN Conference Performance Testing 2008, PUNE Author(s)
OPC COMMUNICATION IN REAL TIME
OPC COMMUNICATION IN REAL TIME M. Mrosko, L. Mrafko Slovak University of Technology, Faculty of Electrical Engineering and Information Technology Ilkovičova 3, 812 19 Bratislava, Slovak Republic Abstract
Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer. Dr. Johan Kraft, Percepio AB
Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer Dr. Johan Kraft, Percepio AB Debugging embedded software can be a challenging, time-consuming and unpredictable factor in development
Design Issues in a Bare PC Web Server
Design Issues in a Bare PC Web Server Long He, Ramesh K. Karne, Alexander L. Wijesinha, Sandeep Girumala, and Gholam H. Khaksari Department of Computer & Information Sciences, Towson University, 78 York
The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a
Technical White Paper: WEb Load Testing To perform as intended, today s mission-critical applications rely on highly available, stable and trusted software services. Load testing ensures that those criteria
The Complete Performance Solution for Microsoft SQL Server
The Complete Performance Solution for Microsoft SQL Server Powerful SSAS Performance Dashboard Innovative Workload and Bottleneck Profiling Capture of all Heavy MDX, XMLA and DMX Aggregation, Partition,
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Automatic Logging of Operating System Effects to Guide Application-Level Architecture Simulation
Automatic Logging of Operating System Effects to Guide Application-Level Architecture Simulation Satish Narayanasamy, Cristiano Pereira, Harish Patil, Robert Cohn, and Brad Calder Computer Science and
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
Impedance 50 (75 connectors via adapters)
VECTOR NETWORK ANALYZER PLANAR TR1300/1 DATA SHEET Frequency range: 300 khz to 1.3 GHz Measured parameters: S11, S21 Dynamic range of transmission measurement magnitude: 130 db Measurement time per point:
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance M. Rangarajan, A. Bohra, K. Banerjee, E.V. Carrera, R. Bianchini, L. Iftode, W. Zwaenepoel. Presented
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
CMS Central Monitoring System
General In This Section CMS for Windows CMS Hardware CMS Functional Spec Relational Database Monitoring Interface Communication Network CMS Central Monitoring System General CMS Central Monitoring System
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.
Specifications for ARINC 653 compliant RTOS & Development Environment Notes and terms of conditions Vendor shall note the following terms and conditions/ information before they submit their quote. 1.
Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing
www.ijcsi.org 227 Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing Dhuha Basheer Abdullah 1, Zeena Abdulgafar Thanoon 2, 1 Computer Science Department, Mosul University,
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Network (RHN) Satellite server is an easy-to-use, advanced systems management platform
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Satellite server is an easy-to-use, advanced systems management platform for your Linux infrastructure.
A Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You [email protected] ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could
CICS Transactions Measurement with no Pain
CICS Transactions Measurement with no Pain Prepared by Luiz Eduardo Gazola 4bears - Optimize Software, Brazil December 6 10, 2010 Orlando, Florida USA This paper presents a new approach for measuring CICS
Operating System Support for Multiprocessor Systems-on-Chip
Operating System Support for Multiprocessor Systems-on-Chip Dr. Gabriel marchesan almeida Agenda. Introduction. Adaptive System + Shop Architecture. Preliminary Results. Perspectives & Conclusions Dr.
EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com
Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and
Parallel Ray Tracing using MPI: A Dynamic Load-balancing Approach
Parallel Ray Tracing using MPI: A Dynamic Load-balancing Approach S. M. Ashraful Kadir 1 and Tazrian Khan 2 1 Scientific Computing, Royal Institute of Technology (KTH), Stockholm, Sweden [email protected],
NanoMon: An Adaptable Sensor Network Monitoring Software
NanoMon: An Adaptable Sensor Network Monitoring Software Misun Yu, Haeyong Kim, and Pyeongsoo Mah Embedded S/W Research Division Electronics and Telecommunications Research Institute (ETRI) Gajeong-dong
EnduraData Cross Platform File Replication and Content Distribution (November 2010) A. A. El Haddi, Member IEEE, Zack Baani, MSU University
1 EnduraData Cross Platform File Replication and Content Distribution (November 2010) A. A. El Haddi, Member IEEE, Zack Baani, MSU University Abstract In this document, we explain the various configurations
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Cisco Application Networking Manager Version 2.0
Cisco Application Networking Manager Version 2.0 Cisco Application Networking Manager (ANM) software enables centralized configuration, operations, and monitoring of Cisco data center networking equipment
TLM-2.0 in Action: An Example-based Approach to Transaction-level Modeling and the New World of Model Interoperability
DVCon 2009 TLM-2.0 in Action: An Example-based Approach to Transaction-level Modeling and the New World of Model Interoperability John Aynsley, Doulos TLM Introduction CONTENTS What is TLM and SystemC?
Implementing Network Monitoring Tools
Section 1 Network Systems Engineering Implementing Network Monitoring Tools V.C.Asiwe and P.S.Dowland Network Research Group, University of Plymouth, Plymouth, United Kingdom e-mail: [email protected]
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
SIP Registration Stress Test
SIP Registration Stress Test Miroslav Voznak and Jan Rozhon Department of Telecommunications VSB Technical University of Ostrava 17. listopadu 15/2172, 708 33 Ostrava Poruba CZECH REPUBLIC [email protected],
Real-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin
BUS ARCHITECTURES Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin Keywords: Bus standards, PCI bus, ISA bus, Bus protocols, Serial Buses, USB, IEEE 1394
Real-Time Analysis of CDN in an Academic Institute: A Simulation Study
Journal of Algorithms & Computational Technology Vol. 6 No. 3 483 Real-Time Analysis of CDN in an Academic Institute: A Simulation Study N. Ramachandran * and P. Sivaprakasam + *Indian Institute of Management
NVIDIA Tools For Profiling And Monitoring. David Goodwin
NVIDIA Tools For Profiling And Monitoring David Goodwin Outline CUDA Profiling and Monitoring Libraries Tools Technologies Directions CScADS Summer 2012 Workshop on Performance Tools for Extreme Scale
Switched Interconnect for System-on-a-Chip Designs
witched Interconnect for ystem-on-a-chip Designs Abstract Daniel iklund and Dake Liu Dept. of Physics and Measurement Technology Linköping University -581 83 Linköping {danwi,dake}@ifm.liu.se ith the increased
7a. System-on-chip design and prototyping platforms
7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit
Network device management solution
iw Management Console Network device management solution iw MANAGEMENT CONSOLE Scalability. Reliability. Real-time communications. Productivity. Network efficiency. You demand it from your ERP systems
A Real Time, Object Oriented Fieldbus Management System
A Real Time, Object Oriented Fieldbus Management System Mr. Ole Cramer Nielsen Managing Director PROCES-DATA Supervisor International P-NET User Organisation Navervej 8 8600 Silkeborg Denmark [email protected]
Digital Signal Controller Based Automatic Transfer Switch
Digital Signal Controller Based Automatic Transfer Switch by Venkat Anant Senior Staff Applications Engineer Freescale Semiconductor, Inc. Abstract: An automatic transfer switch (ATS) enables backup generators,
Architectures and Platforms
Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation
DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL
IJVD: 3(1), 2012, pp. 15-20 DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL Suvarna A. Jadhav 1 and U.L. Bombale 2 1,2 Department of Technology Shivaji university, Kolhapur, 1 E-mail: [email protected]
Using the TASKING Software Platform for AURIX
Using the TASKING Software Platform for AURIX MA160-869 (v1.0rb3) June 19, 2015 Copyright 2015 Altium BV. All rights reserved. You are permitted to print this document provided that (1) the use of such
Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall.
Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall. 5401 Butler Street, Suite 200 Pittsburgh, PA 15201 +1 (412) 408 3167 www.metronomelabs.com
An Interactive Visualization Tool for the Analysis of Multi-Objective Embedded Systems Design Space Exploration
An Interactive Visualization Tool for the Analysis of Multi-Objective Embedded Systems Design Space Exploration Toktam Taghavi, Andy D. Pimentel Computer Systems Architecture Group, Informatics Institute
A Design Technique: Data Integration Modeling
C H A P T E R 3 A Design Technique: Integration ing This chapter focuses on a new design technique for the analysis and design of data integration processes. This technique uses a graphical process modeling
Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda
Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through
AXI Performance Monitor v5.0
AXI Performance Monitor v5.0 LogiCORE IP Product Guide Vivado Design Suite Table of Contents IP Facts Chapter 1: Overview Advanced Mode...................................................................
Computer Networks. Definition of LAN. Connection of Network. Key Points of LAN. Lecture 06 Connecting Networks
Computer Networks Lecture 06 Connecting Networks Kuang-hua Chen Department of Library and Information Science National Taiwan University Local Area Networks (LAN) 5 kilometer IEEE 802.3 Ethernet IEEE 802.4
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
Optimizing Configuration and Application Mapping for MPSoC Architectures
Optimizing Configuration and Application Mapping for MPSoC Architectures École Polytechnique de Montréal, Canada Email : [email protected] 1 Multi-Processor Systems on Chip (MPSoC) Design Trends
Networking Virtualization Using FPGAs
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical and Computer Engineering University of Massachusetts,
