Skip to main content

Vprocs


DEFINITION

Vproc, acronym for "Virtual PROCessor," is a self-contained instance of the processor software on a Teradata platform (SMP platform or a node). Vprocs are the basic units of parallelism that make up the Teradata database server.


OVERVIEW


To put it simply, a virtual processor is a simulated processor in a processing software system, or a software version of a dedicated physical processor. Each vproc uses a portion of the physical processor resource, and runs independently of other vprocs.  The vprocs co-existing within a node share a single memory pool - a collection of free memory in the node. The portion of memory allocated from the pool to one vproc will be returned to the pool after usage for use by other vprocs.

Vprocs are the basic units of parallelism that make up the Teradata database server. A single SMP node is made up of multiple vprocs, and a single Teradata MPP system is made up of multiple SMP nodes.  Vprocs run as multi-threaded processes to enable Teradata's parallel execution of tasks without using specialized physical processors.  They are labeled as "Virtual Processors" because they perform the similar processing functions as physical processors (CPU).

The concept of virtual processors is often utilized in the multithreading technology for parallel processing. Some examples are available from IBM Informix, HP POSIX and VM Host (HP-UX 11i) and SUN Solaris OS, though the concept is used differently in each case.

The concept of vprocs was introduced to Teradata to eliminate the need for proprietary technology in the form of physical processors. With Teradata V1 - the version used on DBC 1012, there were three types of physical processors:

    * The InterFace Processor(IFP) was responsible for the communication between the DBC and the HOST. Its components included parser, dispatcher, session controller, client interface and YNET interface.
    * The COmmunication Processor (COP) was the type of IFP that contained a gateway process for communication with hosts (DOS-PC/UNIX) via a network.     * The Access Module Processor (AMP) was the physical processing unit for all the Teradata database functions. Each AMP contained its own microprocessor, disk drive, file system, database software (Database Manager), Teradata Operating System (TOS), and YNET interface. In some sense, an AMP was a node.

The YNET Interconnection Network linked all the IFPs, COPs, and AMPs together with circuit boards and cables.

In Teradata V2, the above-mentioned physical processors (IFP, COP, and AMP) were replaced by Virtual PROCessors (vprocs), which were invented as an abstraction layer between the work-unit multithreading and the physical parallel processing system. [6] Logically, each vproc is a seperate AMP or PE instance within an SMP node. Physically, a vproc is a directly addressable collection of processes that allow data correction and fault tolerance. Teradata allocates its data rows across all AMP vprocs via hash partitioning. PE vprocs manage sessions, break work units down to multiple steps, make query plans and distribute the steps to the relevant AMP vprocs. The AMPs process the steps in parallel. Differently from Teradata V1, there may be multiple AMPs in a node.

To sum up, as Carrie Ballinger and Ron Fryer observe, "the VPROC is the fundamental unit of apportionment, and delivers basic query parallelism to all work in the system."


 
TYPES

There are two types of vprocs on the Teradata platform: AMP(Access Module Processor) and PE(Parsing Engine).

    * AMPs are the type of vprocs that contain a BYNET interface and perform database, file and disk functions.
    * PEs are the type of vprocs that handle session control, SQL parsing/optimizing, step generating and dispatching.



RELATED UTILITIES

Vproc Manager (vprocmanager)

Vproc Manager(vprocmanager) is used for the following administrative functions:
    * To check the status of the specific vproc or vprocs;
    * To alter the state of a vproc or the states for a series of vprocs;
    * To initialize and start the specific vproc - mostly an AMP vproc;
    * To initialize the file subsystem on the vdisk associated with a certain AMP vproc;
    * To force a manual database restart.

Comments

Popular posts from this blog

BYNET

DEFINITION BYNET, acronym for "BanYan NETwork," is a folded banyan switching network built upon the capacity of the YNET. It acts as a distributed multi-fabric inter-connect to link PEs, AMPs and nodes on a Massively Parallel Processing (MPP) system. OVERVIEW Interconnect technology is important for parallel computing. The BYNET is Teradata's "system interconnect for high-speed, fault tolerant warehouse-optimized messaging between nodes." [11] As an indispensable part of the Teradata MPP system, it can be understood better with its predecessor "YNET" in the background. In 1982, the YNET interconnecting technology used on the DBC 1012 was patented for the parallelism. As a broadcast-based hardware solution, it linked all the IFPs, COPs, and AMPs together with circuit boards and cables in a dual bus architecture. Two costom-built busses operated concurrently within the interconnect framework: YNET A to connect the IFPs and COPs on one side, and YNET

SET VS MULTISET

Table Type Specifications of SET VS MULTISET There are two different table type philosophies so there are two different type tables. They are SET and MULTISET. It has been said, “A man with one watch knows the time, but a man with two watches is never sure”. When Teradata was originally designed it did not allow duplicate rows in a table. If any row in the same table had the same values in every column Teradata would throw one of the rows out. They believed a second row was a mistake. Why would someone need two watches and why would someone need two rows exactly the same? This is SET theory and a SET table kicks out duplicate rows. The ANSI standard believed in a different philosophy. If two rows are entered into a table that are exact duplicates then this is acceptable. If a person wants to wear two watches then they probably have a good reason. This is a MULTISET table and duplicate rows are allowed. If you do not specify SET or MULTISET, one is used as a default. Here is the issue:

Teradata Sql Assistant (TSA)

Definition: Teradata SQL Assistant (TSA), as part of Teradata Tools and Utilities (TTU), is an ODBC-based client utility used to access and manipulate data on ODBC-compliant database servers. It has two editions: 1) Teradata SQL Assistant for Microsoft Windows 2) Teradata SQL Assistant/Web Edition Teradata SQL Assistant is an information discovery tool designed for Windows XP and Windows 2000. Teradata SQL Assistant retrieves data from any ODBC-compliant database server. The data can then be manipulated and stored on the desktop PC. Teradata SQL Assistant/Web Edition is a web-based query tool that allows you to compose queries, submit them to the Teradata Database, and then view the results in a web browser. Overview : Teradata SQL Assistant for Microsoft Windows, originally called "Queryman" (before V. 6.0)or "QueryMan" (V. 6.0 and up), is also known as "SQLA" among programmers. It supports import / export tasks, but not the serious ones. Wit