Novas Software, Inc. Introduction. Goal. PART I: Original Technology Donation 1. Data Dump Reader
|
|
|
- Tiffany Barber
- 10 years ago
- Views:
Transcription
1 Novas Software, Inc Introduction SystemVerilog is both a design and verification language For this reason, VPI has been recently extended to handle coverage and assertion data, and there is a proposal to update it with the new data types and testbench facilities of SystemVerilog that are not covered in the original VPI The wealth of design and verification data access mechanisms in VPI makes it an ideal vehicle for tool integration VPI can potentially replace today's arcane, inefficient, and error-prone file based data exchanges with a new mechanism for tool interface likely enabling innovative flows A single access API eases the interoperability investments for both vendors and users Reducing interoperability barriers allows vendors to focus on tool enhancements by adding proprietary extensions Users, on the other hand, will be able to create integrated design flows from a multitude of best-in-class vendors spanning the realms of design and verification (eg simulators, debuggers, formal tools, coverage or testbench tools and so on) Goal The purpose of this donation is to enhance the SystemVerilog design data dumping facilities We propose to extend VPI with read/write dumping facilities so that it acts as an extended API for data access tool interaction irrespective of whether this data is in memory or a file (ie whether in host memory or in persistent form as in file) and also irrespective of the tool the user is interacting with To that end, Novas is donating several technology elements from its read/write API of the Novas proprietary dump format (Fast File Signal DataBase: FSDB) In the first part of this document we describe the original donation extracted from the FSDB reader/writer documentation In the second part we describe in brief how we propose to enhance the current VPI by merging the aforementioned ideas and facilities into it PART I: Original Technology Donation 1 Data Dump Reader The dump file may contain two kinds of information: 1) Design hierarchies: which include dumped scopes and variables (and their data types) and represents their inter-relationship This is sometimes referred to as the tree portion 2) Value changes: of the stored variables throughout the dump time ranges 1 Note that we primarily describe here the facilities that do not replicate any similar VPI functionality Where appropriate, we will point out the areas where VPI functionality exits and can be reused with a slight update (not discussed here) We will also where appropriate remove any Novas terminology and replace it with a generic form System Verilog 31a Donation Page 1 9/16/2003
2 Novas Software, Inc The Reader tells the application the design hierarchies via tree callback function The Reader tells the application the value changes via a Value-Change (VC) traverse handle, which provides many functions to traverse the value changes back and forth Note that after the design hierarchies have been traversed in a tree callback function, the Reader does not keep the design hierarchies with a well-defined data structure in memory; it is up to the application to keep this information Note that the application can create more than one value-change traverse handle for the same variable, thus providing different views of the value changes Each value-change traverse handle has an internal index, which is used to point to the current time and value change In fact, the value-change traverse is done by increasing or decreasing this internal index The Flow of Reading of the dump file is as follows: o Open the dump file o Traverse the design hierarchies o Select variables we are interested in o Load variables' value changes onto memory o Create value-change traverse handle for variables o Traverse the value changes via traverse functions o Close the dump file Opening/Closing the dump file, and traversing the design hierarchies are facilities already found in the VPI and will not be covered here 2 Load Variables' Value Changes onto Memory Once the variables (the application is interested in) have been selected (by addition to the LoadSignalList), the value changes of these variables are loaded onto memory by calling ddrloadsignals() Note that value changes of unselected variables are not loaded onto memory Traversing the Value Changes Traversing value changes is done via value-change traverse class defined by data dump Reader The class (ddrvctrvs) contains numerous member functions used to traverse the value changes back and forth In tree callback function, the application knows the vpihandle of each variable These handles are very important because when the application needs to traverse the value changes of a variable, the original handle is the key to create a value-change traverse object associated with it By supplying the vpi 2 As appropriate we will share our expertise as part of the committee work to update those mechanisms if needed System Verilog 31a Donation Page 2 9/16/2003
3 Novas Software, Inc handle, the application calls the API, ddrcreatevctrvshdl, to create a traverse object handle and points the pointer at it; such a handle is called a traverse handle After that, the application can call the member functions with that traverse handle, such as ddrgotoxtag, ddrgotonextvc, ddrgetvc, and so on, to traverse the value changes back and forth Here is a sample code segment ddrobject *obj; vpihandle var_handle; ddrvctrvshdl vc_trvs_hdl; byte_t *vc; unsigned64 time; vc_trvs_hdl = obj->ddrcreatevctraversehndl(var_idcode); vc_trvs_hdl->ddrgetminxtag((void*)&time); vc_trvs_hdl->ddrgotoxtag(&time); for ( ; ; ) { if (DD_RC_SUCCESS!= vc_trvs_hdl->ddrgotonextvc()) break; vc_trvs_hdl->ddrgetxtag((void*)&time); // Time of VC vc_trvs_hdl->ddrgetvc((void*)&vc); // VC data } The code segment creates a value-change (VC) traverse object associated with a variable, whose handle is represented by var_handle, and creates a traverse handle, vc_trvs_hdl With this traverse handle, it first calls ddrgetminxtag to query the minimum time where the value has changed, then it moves the internal index to that time by calling ddrgotoxtag; and, finally, it calls ddrgotonextvc to move the internal index forward repeatedly until there is no value change behind ddrgetxtag gets the actual time where this VC (data obtained by ddrgetvc) happens (note the hold value semantics between VCs for HDL variables in general, this is not the case for some other variables eg assertion variables See the Section on Jump Behavior for more details) The traverse handle is a pointer that points to a traverse object, and the value-changes are traversed via the member functions of the traverse object Here is a short description of each member functions More details are in the function list section o ddrgotoxtag: moves the internal index to the proper position, based on the time specified by the application o ddrgotoprevvc: moves the internal index to the previous time and value change o ddrgotonextvc: moves the internal index to the next time and value change o ddrgetxtag: returns the current time, based on the internal index o ddrgetvc: returns the current value change, based on the internal index o ddrgetminxtag: returns the minimum time where value change occurs o ddrgetmaxxtag: returns the maximum time where value change occurs o ddrhasincorevc: tell the application if this variable has value changes System Verilog 31a Donation Page 3 9/16/2003
4 Novas Software, Inc o ddrfree: is used to free the data structures of the traverse handle itself The value changes of the associated variable are not freed Jump Behavior Jump behavior refers to the behavior of ddrgotoxtag() The application specifies a time to which it would like to jump, but the specified time may or not have value changes Data Dump Reader will align the return time if necessary In Figure 1 below, the whole simulation run is from time 0 to time 65, and a variable has value change at time 0, 15 and 50 Figure 1 Jump Behavior Illustration If we create a value-change traverse handle associated with this variable and try to jump to a different time, the result will be determined as follows: o Jump to 10; return time is 0 o Jump to 15; return time is 15 o Jump to 65; return time is 50 o Jump to 30; return time is 15 o Jump to (-1); return time is 0 o Jump to 50; return time is 50 If the jump time has a value change, then the internal index of the traverse handle will point to that time Therefore, the return time is exactly the same as the jump time If the jump time does not have a value change, and if the jump time is not less than the minimum time of the whole trace 3 run, then the return time is aligned forward If the jump time is less than the minimum time, then the return time will be the minimum time Reader Function List NOTE: In the following ddvarhandle is any unique var handle it can be replaced by vpihandle ddrc ddrobject::ddraddtosignallist(ddvarhandle vh); Purpose: Add signal we are interested in to signal list The chosen scheme is based on variable handle since it identifies a unique signal vh: the var handle of the signal that application is interested in 3 The word trace can be replaced by simulation, we use trace here for generality since a dump file can be generated by several tools System Verilog 31a Donation Page 4 9/16/2003
5 Novas Software, Inc Example: ddobject -> ddraddtosignallist(handle); ddrc ddrobject::ddrresetsignallist(); Purpose: Reset signal list, ie empties signal list so that it contains no signals None Example: ddobject -> ddrresetsignallist(); bool_t ddrobject::ddrisinsignallist(ddvarhandle vh); Purpose: Check the signal to see if it is in signal list or not, while the signal is specified by its handle Var handle which identifies a signal TRUE if the signal is in signal list, FALSE otherwise Example: ddobject -> ddrisinsignallist(handle); ddrc ddrobject::ddrloadsignals(); Purpose: Load the value changes of the signals that are in signal list onto memory That means if a signal is not added into signal list, then ddrloadsignals won t load its value changes onto memory None Example: ddobject -> ddrloadsignals(); ddrc ddrobject::ddrunloadsignals(); Purpose: Unload the value changes of the signals from memory, which means all in-core value changes will be unloaded Note that signals have a reference count If a signal's reference count is not zero, its value changes will not be unloaded None Example: ddobject -> ddrunloadsignals(); ddrvctrvshdl ddrobject::ddrcreatevctrvshdl(ddvarhandle vh); Purpose: Create a traverse handle associated with the signal which is specified by its handle Application can traverse the value changes of the signal via its traverse handle, and there could be multiple traverse handles associated with a signal System Verilog 31a Donation Page 5 9/16/2003
6 Novas Software, Inc vh: the handle which identifies the signal Non-null if successful, null otherwise Example: vc_traverse_handle = ddobject -> ddrcreatevctrvshdl(handle); ddrc ddrvcvctrvs::ddrgotoxtag(unsigned64 *xtag); Purpose: Try to move value change traverse index to xtag, if there is no value change at xtag, then the value change traverse index is aligned based on the jump behavior defined by DD reader, and the xtag will be updated based on the aligned traverse index For details, please refer to DD reader document, look for jump behavior section If there is a value change occurring at xtag, then value change traverse index is move to that xtag *xtag: a pointer which represents the xtag where we want to go ddrc ddrvcvctrvs::ddrgetxtag(unsigned64 *ret_xtag); Purpose: Get xtag based on value change traverse index Usually, this API is called after ddrgotoxtag is made successfully *ret_xtag: a pointer representing returned xtag Example: vc_traverse_handle -> ddrgetxtag(&time); ddrc ddrvcvctrvs::ddrgetvc(byte_t **ret_vc); Purpose: Get value change based on value change traverse index **ret_vc: Pointer to pointer to byte_t representing the value change Example: vc_traverse_handle -> ddrgetvc(&vc_ptr); Note: You can get the value that is specially associated with an assertion variable (see IsAssertionVar) by using structure ddrassertionvarvalue 4 for example: struct ddrassertionvarvalue { unsigned64 begin_xtag; // begin time unsigned64 end_xtag; // end time str_t result; // result: success, failure, }; ddrc ddrvcvctrvs::ddrgotonextvc(); Purpose: Move value change traverse index to the next value change, if there is no value-change behind value change traverse index, then calling of this API will fail 4 This is just a placeholder the actual data will be that of the VPI variable of object type vpiassertion System Verilog 31a Donation Page 6 9/16/2003
7 Novas Software, Inc None Example: vc_traverse_handle -> ddrgotonextvc(); ddrc ddrvcvctrvs::ddrgotoprevvc(); Purpose: Move value change traverse index to the previous value change If there is no valuechange before value change traverse index, then the calling of this API will return fail None Example: vc_traverse_handle -> ddrgotoprevvc(); bool_t ddrvcvctrvs::ddrhasincorevc(); Purpose: Check the signal to see if it has value change or not Usually, this API is used when the data file is still growing or in processing None TRUE if the signal has value change, FALSE otherwise Example: vc_traverse_handle -> ddrhasincorevc(); ddrc ddrvcvctrvs::ddrgetminxtag(unsigned64 *ret_xtag); Purpose: Get the xtag of the first value change Since simulation xtag is in ascending order and the first value change of each signal might occur at different xtag, so ddrgetminxtag is used to get the xtag of the first value change, and the xtag would be the minimum one for that signal *ret_xtag: pointer representing the xtag of the first value change Example: vc_traverse_handle -> ddrgetminxtag(&time)) ddrc ddrvcvctrvs::ddrgetmaxxtag(unsigned64 *ret_xtag); Purpose: Get the xtag of the last value change Since the time xtag is in ascending order and usually the last value change of each signal occurs at different xtags, so ddrgetmaxxtag is used to get the xtag of the last value change, and the xtag would be the maximum one for that signal *ret_xtag: pointer representing the xtag of the first value change Example: vc_traverse_handle -> ddrgetmaxxtag(&time)) void ddrvcvctrvs::ddrfree(); System Verilog 31a Donation Page 7 9/16/2003
8 Novas Software, Inc Purpose: Free the value change traverse object When the traverse object is freed, the reference count of the signal it is associated with will be decremented by one Only when the reference count of a signal is zero could its value changes be unloaded by ddrobject::ddrunloadsignals() Hence it is import to free a traverse object when it is no longer in use Note that this routine does not free the value changes associated with the signal It just frees the traverse object itself User must call ddrobject::ddrunloadsignals() to actually unload a signal's value changes None None Example: vc_traverse_handle -> ddrfree(); bool_t ddrvcvctrvs::ddrisitassertionvar(); Purpose: Check to see if the var that the ddrvcvctrvs currently traversing is an assertion var or not none : TRUE if the signal is an assertion var FALSE otherwise Dump Data Writer A dump file may contain two kinds of information: design hierarchies, and value changes The design hierarchies include the hierarchies between each scope (design entity) and the variables that each scope holds The value changes are the waveform data Each value change includes a time and a value In order to write information into the dump file, Writer supports two kinds of creation mode: tree creation mode and value change creation mode Under tree creation mode, the application calls Writer APIs to create the design hierarchies, variables and their data types Under value change creation mode, the application creates the VC data A handle for a variable can be used to write out the data A variable may have more than one name ie an alias For example, a variable may be called bus in scope top, and data_bus in scope system But both bus and data_bus refer to the same variable that has a unique handle The application can create an alias to a variable by calling variable creation API with the different name but the same handle A dump file may contain none, one, or multiple design hierarchies The design hierarchy is like a multi-tree A node corresponds to a scope of the design hierarchy A scope can contain scopes and variables The capability that a scope can contain scopes recursively builds the design hierarchy In order to traverse the design hierarchy, we must introduce the current scope concept: meaning which node we are at now in the writing process Some of the tree creation APIs can move the current scope to another one so that the application can describe and build the design hierarchy The current scope also determines which scope the newly created variables belong to: if a variable is created, then it belongs to the current scope The writer is best built around a time-based scheme: the application stops at a specific time where value changes occurred, then it figures out what variables have value changes at that specific time Finally, it creates the System Verilog 31a Donation Page 8 9/16/2003
9 Novas Software, Inc value changes of those variables at that specific time The same steps repeat until it reaches the maximum time of the run The value change creation is composed of 2 steps: o Tag time creation o Value creation at that tag The time is created by calling ddwcreatexcoorbyhnl, while the value is created by calling ddwcreatevarvalbyhndl API Writer Function List bool_t ddwbegintree(ddwobject *obj); Purpose: Begin of tree creation and sets current scope to root scope *obj: Pointer to DD writer object TRUE on success; FALSE on failure void ddwendtree(ddwobject *obj); Purpose: End of tree creation It closes a tree creation void ddwcreatescope(ddwobject *obj, byte_t type, str_t name); Purpose: Create a sub-scope under current scope and then current scope goes to the newly created sub-scope *obj: Pointer to DD writer object type: Scope type name: Pointer to string which represents scope name none void ddwcreateupscope(ddwobject *obj); Purpose: Make current scope go to its parent scope *obj: Pointer to DD writer object none ddrc ddwcreatevarbyhndl(ddwobject *obj, ddwvardata *data); ddrc ddwcreateassertionvarbyhndl(ddwobject *obj, ddwassertionvardata *data); Purpose: Create a var by handle *obj: Pointer to DD writer object *data: A pointer to var data Return DD_RC_SUCCESS/FAIL System Verilog 31a Donation Page 9 9/16/2003
10 Novas Software, Inc void ddwcreatexcoorbyhnl(ddwobject *obj, unsigned64 time); Purpose: Create an xtag where a value change has occurred Time is a 64-bit unsigned integer *obj: Pointer to DD writer object time: 64-bit unsigned integer none System Verilog 31a Donation Page 10 9/16/2003
11 Novas Software, Inc PART II: How to Integrate into VPI Note: The assertion portion has already been partially integrated into the Assertion VPI extension Reader: The idea is to integrate into VPI using the same flavor and shape of the VPI routines So the donation routines will be added as new types and/or object properties into VPI instead of adding new methods So the integration outline is as follows 5 : o A new set of #define would be added to accommodate the new types or object properties o The VC traverse handle would be obtained appropriately from the original variable handle using vpi_handle() method o The time traversal APIs would be integrated as additions to vpi_control() eg Next, Prev and so on o The get APIs (value/current, min, or max time) would be added into the vpi_get(), and vpi_get_value() methods o Dump object or file would be obtained by extensions to the systfs as in extending $dumpvars/$readvars to get any special information (along the same strategy followed in Verilog 2001 for dump enhancements to Verilog) Writer: VPI already has the basic concept of Value Change callbacks; incorporating writer calls into those should accomplish the value change writing in a seamless way Conclusion In summary, we propose here a set of enhancements donated by Novas Software, Inc to Accellera as part of our continuing involvement in the SystemVerilog standardization effort We envision that by working closely with the other user and vendor members of the SV committees (SV-CC in particular) we will further improve SystemVerilog by adding a data dump component 5 Section 27 in the SystemVerilog 31 LRM on the Assertion API serves as a model of this strategy System Verilog 31a Donation Page 11 9/16/2003
Use, Analysis, and Debug of SystemVerilog Assertions
Use, Analysis, and Debug of SystemVerilog Assertions Agenda Introduction Source Code Tracing Assertion Checking Analyzing and Debugging Waveform Active Annotation Property Result Table Standards: The Life
The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.
Logging makes sense for testbench debug The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao. SystemVerilog provides
Binary Search Trees (BST)
Binary Search Trees (BST) 1. Hierarchical data structure with a single reference to node 2. Each node has at most two child nodes (a left and a right child) 3. Nodes are organized by the Binary Search
Introduction to Functional Verification. Niels Burkhardt
Introduction to Functional Verification Overview Verification issues Verification technologies Verification approaches Universal Verification Methodology Conclusion Functional Verification issues Hardware
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly
Memory Allocation. Static Allocation. Dynamic Allocation. Memory Management. Dynamic Allocation. Dynamic Storage Allocation
Dynamic Storage Allocation CS 44 Operating Systems Fall 5 Presented By Vibha Prasad Memory Allocation Static Allocation (fixed in size) Sometimes we create data structures that are fixed and don t need
Hierarchy storage in Tachyon. [email protected], [email protected], [email protected]
Hierarchy storage in Tachyon [email protected], [email protected], [email protected] Hierarchy storage in Tachyon... 1 Introduction... 1 Design consideration... 2 Feature overview... 2 Usage design...
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
Automating Root-Cause Analysis to Reduce Time to Find Bugs by Up to 50%
Automating Root-Cause Analysis to Reduce Time to Find Bugs by Up to 50% By Kishore Karnane and Corey Goss, Cadence Design Systems If you re spending more than 50% of your verification effort in debug,
MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) -----------------------------------------
=============================================================================================================================== DATA STRUCTURE PSEUDO-CODE EXAMPLES (c) Mubashir N. Mir - www.mubashirnabi.com
Getting off the ground when creating an RVM test-bench
Getting off the ground when creating an RVM test-bench Rich Musacchio, Ning Guo Paradigm Works [email protected],[email protected] ABSTRACT RVM compliant environments provide
Simple Network Management Protocol
56 CHAPTER Chapter Goals Discuss the SNMP Management Information Base. Describe SNMP version 1. Describe SNMP version 2. Background The (SNMP) is an application layer protocol that facilitates the exchange
1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The
Analog Monitoring Tool AMT 0.3b User Manual
Analog Monitoring Tool AMT 0.3b User Manual 1 Introduction AMT (Analog Monitoring Tool) is a tool for checking the correctness of analog and mixed-signal simulation traces with respect to a formal specification
Common Data Structures
Data Structures 1 Common Data Structures Arrays (single and multiple dimensional) Linked Lists Stacks Queues Trees Graphs You should already be familiar with arrays, so they will not be discussed. Trees
Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R
Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent
Unified Coverage Interoperability Standard (UCIS)
Unified Coverage Interoperability Standard (UCIS) Version 1.0 June 2, 2012 Copyright 2012 Accellera Systems Initiative Inc. All rights reserved. Accellera Systems Initiative, 1370 Trancas Street #163,
Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
Lecture 2 CS 3311. An example of a middleware service: DNS Domain Name System
Lecture 2 CS 3311 An example of a middleware service: DNS Domain Name System The problem Networked computers have names and IP addresses. Applications use names; IP uses for routing purposes IP addresses.
Software Version 10.0d. 1991-2011 Mentor Graphics Corporation All rights reserved.
ModelSim Tutorial Software Version 10.0d 1991-2011 Mentor Graphics Corporation All rights reserved. This document contains information that is proprietary to Mentor Graphics Corporation. The original recipient
PicoScope 5000 Series (A API)
PicoScope 5000 Series A API PC Oscilloscopes Programmer's Guide PicoScope 5000 Series A API Programmer's Guide I Contents 1 Introduction...1 1 Overview...1...2 2 Minimum PC requirements 3 License agreement...3
ModelSim-Altera Software Simulation User Guide
ModelSim-Altera Software Simulation User Guide ModelSim-Altera Software Simulation User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01102-2.0 Document last updated for Altera Complete
A binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:
Binary Search Trees 1 The general binary tree shown in the previous chapter is not terribly useful in practice. The chief use of binary trees is for providing rapid access to data (indexing, if you will)
10CS35: Data Structures Using C
CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a
8.1 Min Degree Spanning Tree
CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree
RTAP Database Lifecycle Management
SYSTEMS INC. RTAP Database Lifecycle Management Abstract: This paper will describe the typical RTAP database lifecycle and how the tessernet Systems Inc. tools can make this process easier to manage and
Fast Arithmetic Coding (FastAC) Implementations
Fast Arithmetic Coding (FastAC) Implementations Amir Said 1 Introduction This document describes our fast implementations of arithmetic coding, which achieve optimal compression and higher throughput by
Bigdata High Availability (HA) Architecture
Bigdata High Availability (HA) Architecture Introduction This whitepaper describes an HA architecture based on a shared nothing design. Each node uses commodity hardware and has its own local resources
(Refer Slide Time: 1:17-1:40 min)
Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture # 37 Network management Good day, so today we will talk about network management.
1 Abstract Data Types Information Hiding
1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content
Hypertable Architecture Overview
WHITE PAPER - MARCH 2012 Hypertable Architecture Overview Hypertable is an open source, scalable NoSQL database modeled after Bigtable, Google s proprietary scalable database. It is written in C++ for
VHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *
Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest
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?
Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University
Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications
DATA STRUCTURES USING C
DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give
Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc()
CS61: Systems Programming and Machine Organization Harvard University, Fall 2009 Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc() Prof. Matt Welsh October 6, 2009 Topics for today Dynamic
Optional custom API wrapper. C/C++ program. M program
GT.M GT.M includes a robust, high performance, multi-paradigm, open-architecture database. Relational, object-oriented and hierarchical conceptual models can be simultaneously applied to the same data
The V8 JavaScript Engine
The V8 JavaScript Engine Design, Implementation, Testing and Benchmarking Mads Ager, Software Engineer Agenda Part 1: What is JavaScript? Part 2: V8 internals Part 3: V8 testing and benchmarking What is
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
Chapter 3: Restricted Structures Page 1
Chapter 3: Restricted Structures Page 1 1 2 3 4 5 6 7 8 9 10 Restricted Structures Chapter 3 Overview Of Restricted Structures The two most commonly used restricted structures are Stack and Queue Both
Big Data and Scripting. Part 4: Memory Hierarchies
1, Big Data and Scripting Part 4: Memory Hierarchies 2, Model and Definitions memory size: M machine words total storage (on disk) of N elements (N is very large) disk size unlimited (for our considerations)
1 First Steps. 1.1 Introduction
1.1 Introduction Because you are reading this book, we assume you are interested in object-oriented application development in general and the Caché postrelational database from InterSystems in particular.
Output: 12 18 30 72 90 87. struct treenode{ int data; struct treenode *left, *right; } struct treenode *tree_ptr;
50 20 70 10 30 69 90 14 35 68 85 98 16 22 60 34 (c) Execute the algorithm shown below using the tree shown above. Show the exact output produced by the algorithm. Assume that the initial call is: prob3(root)
USERV Auto Insurance Rule Model in Corticon
USERV Auto Insurance Rule Model in Corticon Mike Parish Progress Software Contents Introduction... 3 Vocabulary... 4 Database Connectivity... 4 Overall Structure of the Decision... 6 Preferred Clients...
PeopleSoft Query Training
PeopleSoft Query Training Overview Guide Tanya Harris & Alfred Karam Publish Date - 3/16/2011 Chapter: Introduction Table of Contents Introduction... 4 Navigation of Queries... 4 Query Manager... 6 Query
Raima Database Manager Version 14.0 In-memory Database Engine
+ Raima Database Manager Version 14.0 In-memory Database Engine By Jeffrey R. Parsons, Senior Engineer January 2016 Abstract Raima Database Manager (RDM) v14.0 contains an all new data storage engine optimized
Logistics. Software Testing. Logistics. Logistics. Plan for this week. Before we begin. Project. Final exam. Questions?
Logistics Project Part 3 (block) due Sunday, Oct 30 Feedback by Monday Logistics Project Part 4 (clock variant) due Sunday, Nov 13 th Individual submission Recommended: Submit by Nov 6 th Scoring Functionality
Application Note 120 Communicating Through the 1-Wire Master
www.dalsemi.com Application Note 120 Communicating Through the 1-Wire Master INTRODUCTION The DS1WM 1-Wire Master was created to facilitate host CPU communication with devices over a 1-Wire bus without
RaneNote SNMP: SIMPLE? NETWORK MANAGEMENT PROTOCOL
RaneNote : SIMPLE? NETWORK MANAGEMENT PROTOCOL : Simple? Network Management Protocol Overview The Message Format The Actual Bytes Douglas Bruey Rane Corporation RaneNote 161 2005 Rane Corporation Introduction
Table of Contents. Overview...2. System Requirements...3. Hardware...3. Software...3. Loading and Unloading MIB's...3. Settings...
Table of Contents Overview...2 System Requirements...3 Hardware...3 Software...3 Loading and Unloading MIB's...3 Settings...3 SNMP Operations...4 Multi-Varbind Request...5 Trap Browser...6 Trap Parser...6
Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit
Deferred node-copying scheme for XQuery processors
Deferred node-copying scheme for XQuery processors Jan Kurš and Jan Vraný Software Engineering Group, FIT ČVUT, Kolejn 550/2, 160 00, Prague, Czech Republic [email protected], [email protected] Abstract.
MPLAB Harmony System Service Libraries Help
MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are available
GCE Computing. COMP3 Problem Solving, Programming, Operating Systems, Databases and Networking Report on the Examination.
GCE Computing COMP3 Problem Solving, Programming, Operating Systems, Databases and Networking Report on the Examination 2510 Summer 2014 Version: 1.0 Further copies of this Report are available from aqa.org.uk
Using XACML Policies as OAuth Scope
Using XACML Policies as OAuth Scope Hal Lockhart Oracle I have been exploring the possibility of expressing the Scope of an OAuth Access Token by using XACML policies. In this document I will first describe
Project No. 2: Process Scheduling in Linux Submission due: April 28, 2014, 11:59pm
Project No. 2: Process Scheduling in Linux Submission due: April 28, 2014, 11:59pm PURPOSE Getting familiar with the Linux kernel source code. Understanding process scheduling and how different parameters
A Java-based system support for distributed applications on the Internet
A Java-based system support for distributed applications on the Internet D. Hagimont 1, D. Louvegnies 2 SIRAC Project INRIA, 655 av. de l Europe, 38330 Montbonnot Saint-Martin, France Abstract: We have
Numbering of Signalling Point Codes
AMERICAN NATIONAL STANDARD T1.111.8-2001 (T1.111a-2002) American National Standard for Telecommunications Numbering of Signalling Point Codes 1 Scope, Purpose, and Application This chapter describes the
Data Structure with C
Subject: Data Structure with C Topic : Tree Tree A tree is a set of nodes that either:is empty or has a designated node, called the root, from which hierarchically descend zero or more subtrees, which
Memory Management Simulation Interactive Lab
Memory Management Simulation Interactive Lab The purpose of this lab is to help you to understand deadlock. We will use a MOSS simulator for this. The instructions for this lab are for a computer running
Managing large sound databases using Mpeg7
Max Jacob 1 1 Institut de Recherche et Coordination Acoustique/Musique (IRCAM), place Igor Stravinsky 1, 75003, Paris, France Correspondence should be addressed to Max Jacob ([email protected]) ABSTRACT
SystemVerilog Is Getting Even Better!
by, SystemVerilog Is Getting Even Better! An Update on the Proposed 2009 SystemVerilog Standard Part 2 presented by Clifford E. Cummings Sunburst Design, Inc. [email protected] www.sunburst-design.com
White Paper. PiLab Technology Performance Test, Deep Queries. pilab.pl
White Paper PiLab Technology Performance Test, Deep Queries pilab.pl Table of Content Forward... 3 Summary of Results... 3 Technical Introduction... 3 Hardware... 4 Disk read/write speed... 4 Network speed
The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).
CHAPTER 5 The Tree Data Model There are many situations in which information has a hierarchical or nested structure like that found in family trees or organization charts. The abstraction that models hierarchical
Load Balancing. Load Balancing 1 / 24
Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait
Stacks. Linear data structures
Stacks Linear data structures Collection of components that can be arranged as a straight line Data structure grows or shrinks as we add or remove objects ADTs provide an abstract layer for various operations
Using Eclipse CDT/PTP for Static Analysis
PTP User-Developer Workshop Sept 18-20, 2012 Using Eclipse CDT/PTP for Static Analysis Beth R. Tibbitts IBM STG [email protected] "This material is based upon work supported by the Defense Advanced Research
GDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
CHAPTER 6: TECHNOLOGY
Chapter 6: Technology CHAPTER 6: TECHNOLOGY Objectives Introduction The objectives are: Review the system architecture of Microsoft Dynamics AX 2012. Describe the options for making development changes
Data Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
estatistik.core: COLLECTING RAW DATA FROM ERP SYSTEMS
WP. 2 ENGLISH ONLY UNITED NATIONS STATISTICAL COMMISSION and ECONOMIC COMMISSION FOR EUROPE CONFERENCE OF EUROPEAN STATISTICIANS Work Session on Statistical Data Editing (Bonn, Germany, 25-27 September
File Management. Chapter 12
Chapter 12 File Management File is the basic element of most of the applications, since the input to an application, as well as its output, is usually a file. They also typically outlive the execution
FURTHER READING: As a preview for further reading, the following reference has been provided from the pages of the book below:
FURTHER READING: As a preview for further reading, the following reference has been provided from the pages of the book below: Title: Broadband Telecommunications Handbook Author: Regis J. Bud Bates Publisher:
A Fast Algorithm For Finding Hamilton Cycles
A Fast Algorithm For Finding Hamilton Cycles by Andrew Chalaturnyk A thesis presented to the University of Manitoba in partial fulfillment of the requirements for the degree of Masters of Science in Computer
About the File Manager 2
This chapter describes how your application can use the to store and access data in files or to manipulate files, directories, and volumes. It also provides a complete description of all routines, data
1 File Management. 1.1 Naming. COMP 242 Class Notes Section 6: File Management
COMP 242 Class Notes Section 6: File Management 1 File Management We shall now examine how an operating system provides file management. We shall define a file to be a collection of permanent data with
Discovery Visual Environment User Guide
Discovery Visual Environment User Guide Version 2005.06 August 2005 About this Manual Contents Chapter 1 Overview Chapter 2 Getting Started Chapter 3 Using the Top Level Window Chapter 4 Using The Wave
Lecture 12 Doubly Linked Lists (with Recursion)
Lecture 12 Doubly Linked Lists (with Recursion) In this lecture Introduction to Doubly linked lists What is recursion? Designing a node of a DLL Recursion and Linked Lists o Finding a node in a LL (recursively)
Solution White Paper Connect Hadoop to the Enterprise
Solution White Paper Connect Hadoop to the Enterprise Streamline workflow automation with BMC Control-M Application Integrator Table of Contents 1 EXECUTIVE SUMMARY 2 INTRODUCTION THE UNDERLYING CONCEPT
GenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student [email protected] Bilal CHEBARO Assistant professor [email protected] Abstract
Financial Data Access with SQL, Excel & VBA
Computational Finance and Risk Management Financial Data Access with SQL, Excel & VBA Guy Yollin Instructor, Applied Mathematics University of Washington Guy Yollin (Copyright 2012) Data Access with SQL,
Operating Systems. Lecture 03. February 11, 2013
Operating Systems Lecture 03 February 11, 2013 Goals for Today Interrupts, traps and signals Hardware Protection System Calls Interrupts, Traps, and Signals The occurrence of an event is usually signaled
Hello and welcome to this presentation of the STM32L4 Firewall. It covers the main features of this system IP used to secure sensitive code and data.
Hello and welcome to this presentation of the STM32L4 Firewall. It covers the main features of this system IP used to secure sensitive code and data. 1 Here is an overview of the Firewall s implementation
CIS 631 Database Management Systems Sample Final Exam
CIS 631 Database Management Systems Sample Final Exam 1. (25 points) Match the items from the left column with those in the right and place the letters in the empty slots. k 1. Single-level index files
The Principle of Translation Management Systems
The Principle of Translation Management Systems Computer-aided translations with the help of translation memory technology deliver numerous advantages. Nevertheless, many enterprises have not yet or only
Quiz 4 Solutions EECS 211: FUNDAMENTALS OF COMPUTER PROGRAMMING II. 1 Q u i z 4 S o l u t i o n s
Quiz 4 Solutions Q1: What value does function mystery return when called with a value of 4? int mystery ( int number ) { if ( number
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
Jorix kernel: real-time scheduling
Jorix kernel: real-time scheduling Joris Huizer Kwie Min Wong May 16, 2007 1 Introduction As a specialized part of the kernel, we implemented two real-time scheduling algorithms: RM (rate monotonic) and
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
Software Testing A Time for Standard Models
Software Testing A Time for Standard Models Introduction Software technology has always been in need of testing. This is due to a number of particular aspects, including the fact that (a) the number of
DATA STRUCTURE - STACK
DATA STRUCTURE - STACK http://www.tutorialspoint.com/data_structures_algorithms/stack_algorithm.htm Copyright tutorialspoint.com A stack is an abstract data type ADT, commonly used in most programming
TREE BASIC TERMINOLOGIES
TREE Trees are very flexible, versatile and powerful non-liner data structure that can be used to represent data items possessing hierarchical relationship between the grand father and his children and
Ordered Lists and Binary Trees
Data Structures and Algorithms Ordered Lists and Binary Trees Chris Brooks Department of Computer Science University of San Francisco Department of Computer Science University of San Francisco p.1/62 6-0:
Windows 7 Security Event Log Format
Windows 7 ecurity vent Log Format Todd Heberlein 23 ep 2010 Windows security event log provides a rich source of information to detect and analyze a wide range of threats against computer systems. Unfortunately
Pattern Insight Clone Detection
Pattern Insight Clone Detection TM The fastest, most effective way to discover all similar code segments What is Clone Detection? Pattern Insight Clone Detection is a powerful pattern discovery technology
Microsoft Networks/OpenNET FILE SHARING PROTOCOL. INTEL Part Number 138446. Document Version 2.0. November 7, 1988
Microsoft Networks/OpenNET FILE SHARING PROTOCOL INTEL Part Number 138446 Document Version 2.0 November 7, 1988 Microsoft Corporation Intel Corporation File Sharing Protocol - 2 - November 7, 1988 1. Introduction
