Sunday, January 30, 2011

Database

A database is a system intended to organize, store, and retrieve large amounts of data easily.It consists of an organized collection of data for one or more uses, typically in digital form. One way of classifying databases involves the type of their contents (Dell XPS M1210 Battery) http://www.hdd-shop.co.uk .

for example: bibliographic, document-text, statistical. Digital databases are managed using database management systems, which store database contents, allowing data creation and maintenance, and search and other access (Dell Studio XPS 1640 Battery) .

Architecture

Database architecture consists of three levels, external, conceptual and internal. Clearly separating the three levels was a major feature of the relational database model that dominates 21st century databases (Dell Vostro 1710 Battery) .

The external level defines how users understand the organization of the data. A single database can have any number of views at the external level. The internal level defines how the data is physically stored and processed by the computing system. Internal architecture is concerned with cost, performance, scalability and other operational matters Dell KM958 battery .

The conceptual is a level of indirection between internal and external. It provides a common view of the database that is uncomplicated by details of how the data is stored or managed, and that can unify the various external views into a coherent whole Dell Studio 1555 battery .

Database management systems

A database management system (DBMS) consists of software that operates databases, providing storage, access, security, backup and other facilities Sony VGP-BPS13 battery .

Database management systems can be categorized according to the database model that they support, such as relational or XML, the type(s) of computer they support, such as a server cluster or a mobile phone, the query language(s) that access the database, such as SQL or XQuery, performance trade-offs, such as maximum scale or maximum speed or others Sony VGP-BPS13/B battery .

Some DBMS cover more than one entry in these categories, e.g., supporting multiple query languages. Examples of some commonly used DBMS are MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro etc Sony VGP-BPS13/S battery .

Almost every database software comes with an Open Database Connectivity (ODBC) driver that allows the database to integrate with other databases.

Components of DBMS

Most DBMS as of 2009 implement a relational model Sony VGP-BPS13A/B battery .

Other DBMS systems, such as Object DBMS, offer specific features for more specialized requirements. Their components are similar, but not identical Sony VGP-BPS13B/B battery .

RDBMS components

  • Sublanguages— Relational DBMS (RDBMS) include Data Definition Language (DDL) for defining the structure of the database, Data Control Language (DCL) for defining security/access controls, and Data Manipulation Language (DML) for querying and updating data Sony VGP-BPL9 battery .
  • Interface drivers—These drivers are code libraries that provide methods to prepare statements, execute statements, fetch results, etc. Examples include ODBC, JDBC, MySQL/PHP,FireBird/Python Sony VGP-BPS13B/B battery .
  • SQL engine—This component interprets and executes the DDL, DCL, and DML statements. It includes three major components (compiler, optimizer, and executor).
  • Transaction engine—Ensures that multiple SQL statements either succeed or fail as a group, according to application dictates Sony VGP-BPL15 battery .
  • Relational engine—Relational objects such as Table, Index, and Referential integrity constraints are implemented in this component.
  • Storage engine—This component stores and retrieves data from secondary storage, as well as managing transaction commit and rollback, backup and recovery, etc Dell Inspiron E1505 battery .

ODBMS components

Object DBMS (ODBMS) has transaction and storage components that are analogous to those in an RDBMS. Some DBMS handle DDL, DML and update tasks differently. Instead of using sublanguages, they provide APIs for these purposes Dell Latitude E6400 battery .

They typically include a sublanguage and accompanying engine for processing queries with interpretive statements analogous to but not the same as SQL. Example object query languages are OQL, LINQ, JDOQL, JPAQL and others. The query engine returns collections of objects instead of relational rows HP Pavilion dv6000 Battery .

Types

Operational database

These databases store detailed data about the operations of an organization. They are typically organized by subject matter, process relatively high volumes of updates using transactions. Essentially every major organization on earth uses such databases SONY VAIO VGN-FZ Battery .

Examples include customer databases that record contact, credit, and demographic information about a business' customers, personnel databases that hold information such as salary, benefits, skills data about employees, Enterprise resource planning that record details about product components SONY VAIO VGN-FZ18 Battery ,

parts inventory, and financial databases that keep track of the organization's money, accounting and financial dealings.

Data warehouse

Data warehouses archive modern data from operational databases and often from external sources such as market research firms SONY VAIO VGN-FZ21E Battery .

Often operational data undergoes transformation on its way into the warehouse, getting summarized, anonymized, reclassified, etc. The warehouse becomes the central source of data for use by managers and other end-users who may not have access to operational data SONY VAIO VGN-FW21E Battery .

For example, sales data might be aggregated to weekly totals and converted from internal product codes to use UPC codes so that it can be compared with ACNielsen data.Some basic and essential components of data warehousing include retrieving and analyzing data, transforming,loading and managing data so as to make it available for further use SONY VAIO VGN-NR11S/S Battery .

Operations in a data warehouse are typically concerned with bulk data manipulation, and as such, it is unusual and inefficient to target individual rows for update, insert or delete. Bulk native loaders for input data and bulk SQL passes for aggregation are the norm SONY VAIO VGN-NR11M/S Battery .

Analytical database

Analysts may do their work directly against a data warehouse or create a separate analytic database for Online Analytical Processing. For example, a company might extract sales records for analyzing the effectiveness of advertising and other sales promotions at an aggregate level SONY VAIO VGN-NR11Z/S Battery .

Distributed database

These are databases of local work-groups and departments at regional offices, branch offices, manufacturing plants and other work sites. These databases can include segments of both common operational and common user databases, as well as data generated and used only at a user’s own site SONY VAIO VGN-NR11Z/T Battery .

End-user database

These databases consist of data developed by individual end-users. Examples of these are collections of documents in spreadsheets, word processing and downloaded files, even managing their personal baseball card collection Sony VAIO VGN-FZ21E Battery .

External database

These databases contain data collected for use across multiple organizations, either freely or via subscription. The Internet Movie Database is one example Sony VAIO VGN-FW21E Battery .

Hypermedia databases

The World wide web can be thought of as a database, albeit one spread across millions of independent computing systems. Web browsers "process" this data one page at a time, while web crawlersand other software provide the equivalent of database indexes to support search and other activities Sony VAIO VGN-NR11S/S Battery .

Models

Post-relational database models

Products offering a more general data model than the relational model are sometimes classified as post-relational.Alternate terms include "hybrid database", "Object-enhanced RDBMS" and others Sony VAIO VGN-NR11Z/S Battery .

The data model in such products incorporates relations but is not constrained by E.F. Codd's Information Principle, which requires that all information in the database must be cast explicitly in terms of values in relations and in no other way Sony VAIO VGN-NR11M/S Battery .

Some of these extensions to the relational model integrate concepts from technologies that pre-date the relational model. For example, they allow representation of a directed graph with trees on thenodes.

Some post-relational products extend relational systems with non-relational features Sony VAIO VGN-NR11Z/T Battery .

Others arrived in much the same place by adding relational features to pre-relational systems. Paradoxically, this allows products that are historically pre-relational, such as PICK and MUMPS, to make a plausible claim to be post-relational SONY VAIO VGN-FZ180E Battery .

Object database models

In recent years, the object-oriented paradigm has been applied in areas such as engineering and spatial databases, telecommunications and in various scientific domains. The conglomeration of object oriented programming and database technology led to this new kind of database SONY VAIO VGN-FZ220E Battery .

These databases attempt to bring the database world and the application-programming world closer together, in particular by ensuring that the database uses the same type system as the application program. This aims to avoid the overhead (sometimes referred to as the impedance mismatch) SONY VAIO VGN-FZ340E Battery

of converting information between its representation in the database (for example as rows in tables) and its representation in the application program (typically as objects). At the same time, object databases attempt to introduce key ideas of object programming, such as encapsulation and polymorphism, into the world of databases SONY VAIO VGN-FZ430E Battery .

A variety of these ways have been tried for storing objects in a database. Some products have approached the problem from the application-programming side, by making the objects manipulated by the program persistent. This also typically requires the addition of some kind of query language SONY VAIO VGN-FZ460E Battery ,

since conventional programming languages do not provide language-level functionality for finding objects based on their information content. Others have attacked the problem from the database end, by defining an object-oriented data model for the database SONY VAIO VGN-FZ480E Battery ,

and defining a databaseprogramming language that allows full programming capabilities as well as traditional query facilities..

Storage structures

Databases may store relational tables/indexes in memory or on hard disk in one of many forms SONY VAIO VGN-FZ4000 Battery:

The most commonly used are B+ trees and ISAM.

Object databases use a range of storage mechanisms. Some use virtual memory-mapped files to make the native language (C++, Java etc.) objects persistent SONY VAIO VGN-FZ31B Battery .

This can be highly efficient but it can make multi-language access more difficult. Others disassemble objects into fixed- and varying-length components that are then clustered in fixed sized blocks on disk and reassembled into the appropriate format on either the client or server address space SONY VAIO VGN-FZ31J Battery .

Another popular technique involves storing the objects in tuples (much like a relational database) which the database server then reassembles into objects for the client.

Other techniques include clustering by category (such as grouping data by month, or location), storing pre-computed query results, known as materialized views, partitioning data by range (e.g., a data range) or by hash SONY VAIO VGN-FZ31M Battery .

Memory management and storage topology can be important design choices for database designers as well. Just as normalization is used to reduce storage requirements and improve database designs, conversely denormalization is often used to reduce join complexity and reduce query execution time SONY VAIO VGN-FZ31Z Battery .

Indexing

Indexing is a technique for improving database performance. The many types of index share the common property that they eliminate the need to examine every entry when running a query. In large databases, this can reduce query time/cost by orders of magnitude SONY VAIO VGN-FZ38M Battery .

The simplest form of index is a sorted list of values that can be searched using a binary search with an adjacent reference to the location of the entry, analogous to the index in the back of a book. The same data can have multiple indexes (an employee database could be indexed by last name and hire date SONY VGP-BPS8 Battery .

Indexes affect performance, but not results. Database designers can add or remove indexes without changing application logic, reducing maintenance costs as the database grows and database usage evolves SONY VGP-BPS13 Battery .

Given a particular query, the DBMS' query optimizer is responsible for devising the most efficient strategy for finding matching data. The optimizer decides which index or indexes to use, how to combine data from different parts of the database, how to provide data in the order requested, etc SONY VGP-BPS13/S Battery .

Indexes can speed up data access, but they consume space in the database, and must be updated each time the data is altered. Indexes therefore can speed data access but slow data maintenance. These two properties determine whether a given index is worth the cost SONY VGP-BPS13A/B Battery .

Transactions

As every software system, a DBMS operates in a faulty computing environment and prone to failures of many kinds. A failure can corrupt the respective database unless special measures are taken to prevent this SONY VGP-BPS13B/B Battery .

A DBMS achieves certain levels of fault tolerance by encapsulating in database transactions units of work (executed programs) performed upon the respective database SONY VGP-BPS13A/S Battery .

The ACID rules

Most DBMS provide some form of support for transactions, which allow multiple data items to be updated in a consistent fashion, such that updates that are part of a transaction succeed or fail in unison. The so-called ACID rules, summarized here, characterize this behavior SONY VGP-BPS13AS Battery :

  • Atomicity: Either all the data changes in a transaction must happen, or none of them. The transaction must be completed, or else it must be undone (rolled back).
  • Consistency: Every transaction must preserve the declared consistency rules for the database Dell Inspiron 1320n Battery .
  • Isolation: Two concurrent transactions cannot interfere with one another. Intermediate results within one transaction must remain invisible to other transactions. The most extreme form of isolation isserializability, meaning that transactions that take place concurrently could instead be performed in some series, without affecting the ultimate result Dell Inspiron 1464 Battery.
  • Durability: Completed transactions cannot be aborted later or their results discarded. They must persist through (for instance) DBMS restarts.

In practice, many DBMSs allow the selective relaxation of these rules to balance perfect behavior with optimum performance Dell Inspiron 1564 Battery .

Concurrency control and locking

Concurrency control is essential for the correctness of transactions executed concurrently in a DBMS, which is the common execution mode for performance reasons. The main concern and goal of concurrency control is isolation Dell Inspiron 1764 Battery.

Isolation

Isolation refers to the ability of one transaction to see the results of other transactions. Greater isolation typically reduces performance and/or concurrency, leading DBMSs to provide administrative options to reduce isolation Dell Studio 1450 Battery .

For example, in a database that analyzes trends rather than looking at low-level detail, increased performance might justify allowing readers to see uncommitted changes ("dirty reads".)

A common way to achieve isolation is by locking Dell Studio 1457 Battery .

When a transaction modifies a resource, the DBMS stops other transactions from also modifying it, typically by locking it. Locks also provide one method of ensuring that data does not change while a transaction is reading it or even that it doesn't change until a transaction that once read it has completed Dell Latitude D610 Battery .

Lock types

Locks can be shared or exclusive, and can lock out readers and/or writers. Locks can be created implicitly by the DBMS when a transaction performs an operation, or explicitly at the transaction's request.

Shared locks allow multiple transactions to lock the same resource. The lock persists until all such transactions complete Toshiba NB100 Battery .

Exclusive locks are held by a single transaction and prevent other transactions from locking the same resource.

Read locks are usually shared, and prevent other transactions from modifying the resource. Write locks are exclusive, and prevent other transactions from modifying the resource Toshiba Satellite M65 battery .

On some systems, write locks also prevent other transactions from reading the resource.

The DBMS implicitly locks data when it is updated, and may also do so when it is read. Transactions explicitly lock data to ensure that they can complete without complications. Explicit locks may be useful for some administrative tasks Toshiba Satellite M60 battery .

Locking can significantly affect database performance, especially with large and complex transactions in highly concurrent environments.

Lock granularity

Locks can be coarse, covering an entire database, fine-grained, covering a single data item, or intermediate covering a collection of data such as all the rows in a RDBMS table Dell Latitude D830 Battery .

Deadlocks

Deadlocks occur when two transactions each require data that the other has already locked exclusively. Deadlock detection is performed by the DBMS, which then aborts one of the transactions and allows the other to complete Dell Latitude D620 Battery .

Replication

Database replication involves maintaining multiple copies of a database on different computers, to allow more users to access it, or to allow a secondary site to immediately take over if the primary site stops working Dell Inspiron Mini 10 Battery .

Some DBMS piggyback replication on top of their transaction logging facility, applying the primary's log to the secondary in near real-time. Database clustering is a related concept for handling larger databases and user communities by employing a cluster of multiple computers to host a single database that can use replication as part of its approach Sony VGN-FW11S Battery .

Security

Database security denotes the system, processes, and procedures that protect a database from unauthorized activity.

DBMSs usually enforce security through access control, auditing, and encryption Sony VGN-FW11M Battery :

  • Access control manages who can connect to the database via authentication and what they can do via authorization.
  • Auditing records information about database activity: who, what, when, and possibly where.
  • Encryption protects data at the lowest possible level by storing and possibly transmitting data in an unreadable form Sony VGN-FW139E/H battery .
  • The DBMS encrypts data when it is added to the database and decrypts it when returning query results. This process can occur on the client side of a network connection to prevent unauthorized access at the point of use Dell Latitude E5400 Battery .

Confidentiality

Law and regulation governs the release of information from some databases, protecting medical history, driving records, telephone logs, etc Dell Latitude E4200 Battery .

In the United Kingdom, database privacy regulation falls under the Office of the Information Commissioner. Organizations based in the United Kingdom and holding personal data in digital format such as databases must register with the Office Dell Inspiron 300M Battery .

A real-time database is a processing system designed to handle workloads whose state is constantly changing (Buchmann). This differs from traditional databases containing persistent data, mostly unaffected by time. For example, a stock market changes very rapidly and is dynamic Dell Vostro A840 Battery .

The graphs of the different markets appear to be very unstable and yet a database has to keep track of current values for all of the markets of the New York Stock Exchange (Kanitkar). Real-time processing means that a transaction is processed fast enough for the result to come back and be acted on right away (Capron) Dell Studio 1737 battery .

Real-time databases are useful for accounting, banking, law, medical records, multi-media, process control, reservation systems, and scientific data analysis (Snodgrass). As computers increase in power and can store more data, they are integrating themselves into our society and are employed in many applications Dell Inspiron E1505 battery .

Overview

Real-time databases are traditional databases that use an extension to give the additional power to yield reliable responses. They use timing constraints that represent a certain range of values for which the data are valid Dell RM791 battery .

This range is called temporal validity. A conventional database cannot work under these circumstances because the inconsistencies between the real world objects and the data that represents them are too severe for simple modifications. An effective system needs to be able to handle time-sensitive queries, return only temporally valid data, and support priority scheduling Dell XPS M1530 battery .

To enter the data in the records, often a sensor or an input device monitors the state of the physical system and updates the database with new information to reflect the physical system more accurately (Abbot). When designing a real-time database system, one should consider how to represent valid time, how facts are associated with real-time system Dell XPS M2010 battery .

Also, consider how to represent attribute values in the database so that process transactions and data consistency have no violations.

When designing a system, it is important to consider what the system should do when deadlines are not met Acer Aspire One battery.

For example, an air-traffic control system constantly monitors hundreds of aircraft and makes decisions about incoming flight paths and determines the order in which aircraft should land based on data such as fuel, altitude, and speed. If any of this information is late, the result could be devastating Toshiba Satellite P10 Battery .

To address issues of obsolete data, the timestamp can support transactions by providing clear time references.

Preserving data consistency

Although the real-time database system may seem like a simple system, problems arise during overload when two or more database transactions require access to the same portion of the database SONY VGN-FZ210CE Battery .

A transaction is usually the result of an execution of a program that accesses or changes the contents of a database (Singhal). A transaction is different from a stream because a stream only allows read-only operations, and transactions can do both read and write operations Dell Precision M70 Battery .

This means in a stream, multiple users can read from the same piece of data, but they cannot both modify it (Abbot). A database must let only one transaction operate at a time to preserve data consistency. For example, if two students demand to take the remaining spot for a section of a class and they hit submit at the same time, only one student should be able to register for it (Abbot) Toshiba Satellite L305 Battery .

Real-time databases can process these requests utilizing scheduling algorithms for concurrency control, prioritizing both students’ requests in some way. Throughout this article, we assume that the system has a single processor, a disk based database, and a main memory pool(Haritsa) Toshiba Satellite T4900 Battery .

In real-time databases, deadlines are formed and different kinds of systems respond differently to data that does not meet its deadline. In a real-time system, each transaction uses a timestamp to schedule the transactions (Abbot) Toshiba PA3399U-2BRS battery .

A priority mapper unit assigns a level of importance to each transaction upon its arrival in the database system that is dependent on how the system views times and other priorities. The timestamp method on relies on the arrival time in the system. Researchers indicate that for most studies, transactions are sporadic with unpredictable arrival times Toshiba Satellite A200 Battery .

For example, the system gives an earlier request deadline to a higher priority and a later deadline to a lower priority (Haritsa). Below is a comparison of different scheduling algorithms.

Earliest Deadline

PT = DT — The value of a transaction is not important. An example is a group of people calling to order a product Toshiba Satellite 1200 Battery .

Highest Value

PT = 1/VT — The deadline is not important. Some transactions should get to CPU based on criticalness, not fairness. This is an example of least slack that can wait the least amount of time. If the telephone switchboards were overloaded, people who call 911 should get priority (Snodgrass) Toshiba Satellite M300 Battery .

Value inflated deadline

PT = DT/VT — Gives equal weight to deadline and values based on scheduling. An example is registering for classes where the student selects a block of classes that he wishes to take and presses submit SONY VGP-BPS13A/Q Battery .

In this scenario, higher priorities often take up precedence. A school registration system probably uses this technique when the server receives two registration transactions. If one student had 22 credits and the other had 100 credits, the person with 100 credits would take priority (Value based scheduling) SONY VGP-BPS13A/Q Battery .

Timing constraints and deadlines

A system that correctly perceives the serialization and timing constraints associated with transactions with soft or firm deadlines, takes advantage of absolute consistency (Lee). Another way of making sure that data is absolute is using relative constraints SONY VGP-BPS13B/Q Battery .

Relative constraints ensure transactions enter into the system at the same time as the rest of the group that the data transaction is associated with. Using the mechanisms of absolute and relative constraints greatly ensures the accuracy of data SONY VGP-BPS13B/Q Battery .

An additional way of dealing with conflict resolution in a real-time database system besides deadlines is a wait policy method. This process helps ensure the latest information in time critical systems. The policy avoids conflict by asking all non-requesting blocks to wait until the most essential block of data is processed (Abbot) SONY VGP-BPS13/Q Battery .

While studies in labs have found that data-deadline based policies do not improve performance significantly, the forced wait policy can improve performance by 50 percent (Porkka). The forced wait policy may involve waiting for higher priority transactions to process in order to prevent deadlock SONY VGP-BPS13/Q Battery .

Another example of when data can be delayed is when a block of data is about to expire. The forced wait policy delays processing until the data is updated using new input data. The latter method helps increase the accuracy of the system and can cut down on the number of necessary processes that are aborted (Kang) SONY VGP-BPS21A/B Battery .

Generally relying on wait policies is a not optimal (Kang).

It is necessary to discuss the formation of deadlines. Deadlines are the constraints for soon-to-be replaced data accessed by the transaction. Deadlines can be either observant or predictive (Kang) SONY VGP-BPS21/S Battery .

In an observant deadline system, all unfinished transactions are examined and the processor determines whether any had met its deadline (Abbot). Problems arise in this method because of variations caused by seek time variations, buffer management and page faults (An Overview of Real-Time Database Systems) SONY VGP-BPS21B Battery .

A more stable way of organizing deadlines is the predictive method. It builds a candidate schedule and determines if a transaction would miss its deadline under the schedule (Abbot).

The type of response to a missed deadline depends on whether the deadline is hard, soft, or firm SONY VGP-BPS21A Battery .

Hard deadlines require that each data packet reach its destination before the packet has expired and if not, the process could be lost, causing a possible problem. Problems like these are not very common because omnipotence of the system is required before assigning deadlines to determine worst case SONY VGP-BPS21 Battery .

This is very hard to do and if something unexpected happens to the system such as a minute hardware glitch, it could throw the data off. For soft or firm deadlines, missing a deadline can lead to a degraded performance but not a catastrophe (Haritsa). A soft deadline meets as many deadlines as possible Sony VGP-BPS21A/B Battery .

However, no guarantee exists that the system can meet all deadlines. Should a transaction miss its deadline, the system has more flexibility and the transaction may increase in importance. Below is a description of these responses Sony VGP-BPS21/S Battery :

Hard deadline: If not meeting deadlines creates problems, a hard deadline is best. It is periodic, meaning that it enters the database on a regular rhythmic pattern. An example is data gathered by a sensor. These are often used in life critical systems (Stankovic) Sony VGP-BPS21A Battery .

Firm deadline: Firm deadlines appear to be similar to hard deadlines yet they differ from hard deadlines because firm deadlines measure how important it is to complete the transaction at some point after the transaction arrives. Sometimes completing a transaction after its deadline has expired may be harmful or not helpful, and both the firm and hard deadlines consider this Sony VGP-BPS21 Battery .

An example of a firm deadline is an autopilot system (Snodgrass).

Soft deadline: If meeting time constrains is desirable but missing deadlines do not cause serious damage, a soft deadline may be best. It operates on an aperiodic or irregular schedule. In fact, the arrival of each time for each task is unknown Sony Vaio PCG-5G2L Battery .

An example is an operator switchboard for a telephone(Stankovic).

Hard deadline processes abort transactions that have passed the deadline, improving the system by cleaning out clutter that needs to be processed Sony Vaio PCG-5G3L Battery .

Processes can clear out not only the transactions with expired deadlines but also transactions with the longest deadlines, assuming that once they reach the processor they would be obsolete. This means other transactions should be of higher priority. In addition, a system can remove the least critical transactions Sony Vaio PCG-5J1L Battery .

When I was pre-selecting classes on during a high traffic period, a field in the database can become so busy with registration requests that it was unavailable for a while and the result of my transaction was a display of the SQL query sent and a message that said that the data is currently unavailable Sony Vaio PCG-5K2L Battery .

This error is caused by the checker, a mechanism that checks the condition of the rules, and the rule that occurred before it (Ramamritham).

The goal of scheduling periods and deadlines is to update transactions guaranteed to complete before their deadline in such a way that the workload is minimal Sony Vaio PCG-5J2L Battery .

With large real-time databases, buffering functions can help improve performance tremendously. A buffer is part of the database that is stored in main memory to reduce transaction response time. In order to reduce disk input and output transactions, a certain number of buffers should be allocated (O'Neil) Sony Vaio PCG-5K1L Battery .

Sometimes multiversions are stored in buffers when the data block the transaction needs is currently in use. Later, the database has the data appended to it. Different strategies allocate buffers and must balance between taking an excessive amount of memory and having everything in one buffer that it has to search for Sony Vaio PCG-5L1L Battery .

The goal is to eliminate search time and distribute the resources between buffer frames in order to access data quickly. A buffer manager is capable of allocating more memory, if necessary, to improve response time. The buffer manager can even determine whether a transaction that it has should advance Sony Vaio PCG-6S2L Battery .

Buffering can improve speed in real-time systems (O'Neil)

Future database systems

Traditional databases are persistent but are incapable of dealing with dynamic data that constantly changes. Therefore, another system is needed Sony Vaio PCG-6S3L Battery .

Real-time databases may be modified to improve accuracy and efficiency and to avoid conflict, by providing deadlines and wait periods to insure temporal consistency. Real-time database systems offer a way of monitoring a physical system and representing it in data streams to a database Sony Vaio PCG-6V1L Battery .

A data stream, like memory, fades over time. In order to guarantee that the freshest and most accurate information is recorded there are a number of ways of checking transactions to make sure they are executed in the proper order. An online auction house provides an example of a rapidly changing database Sony Vaio PCG-6W1L Battery .

This paper discusses the example of a school registration system.

Now database systems are faster than they were in the past. In the future, we can look forward to even faster database systems. Although we have faster systems now, an effort to reduce misses and tardy times will still be beneficial Sony Vaio PCG-6W2L Battery.

The ability to process results in a timely and predictable manner will always be more important than fast processing. Fast processing that is misapplied is not helpful for real-time database systems. Transactions that run faster still sometimes block in such a way that they have to be aborted and restarted Sony Vaio PCG-6W3L Battery .

In fact, faster processing hurts some real-time applications because increased speed brings more complexity and more of a chance for problems caused by a variance of speed. Faster processing makes it harder to determine which deadlines have been met successfully (Lam) Sony Vaio PCG-7111L Battery .

With future database systems running even faster than ever, there is a need to do more studies so we can continue to have efficient systems (Lam).

The amount of research studying real-time database systems will increase because of commercial applications such as web based auction houses like e-bay Sony Vaio PCG-7112L Battery .

More developing countries are expanding their phone systems, and the number of people with cell phones in the United States as well as other places in the world continues to grow. Also likely to spur real-time research is the exponentially increasing speed of the microprocessor Sony Vaio PCG-7113L Battery .

This enables new technologies such as web-video conferencing and instant messenger conversations in sound and high-resolution video, which are reliant on real-time database systems. Studies of temporal consistency result in new protocols and timing constraints with the goal of handling real-time transactions more effectively (Haritsa) Sony Vaio PCG-7133L Battery .

Database theory encapsulates a broad range of topics related to the study and research of the theoretical realm of databases and database management systems.

Theoretical aspects of data management include, among other areas, the foundations of query languages Sony Vaio PCG-7Z2L Battery ,

computational complexity and expressive power of queries, finite model theory, database design theory, dependency theory, foundations of concurrency control and database recovery, deductive databases, temporal and spatial databases, real time databases, managing uncertain data andprobabilistic databases, and Web data Sony Vaio PCG-8Y1L Battery .

Most research work has traditionally been based on the relational model, since this model is usually considered the simplest and most foundational model of interest. Corresponding results for other data models, such as object-oriented or semi-structured models, or, more recently, graph data models and XML, are often derivable from those for the relational model Sony Vaio PCG-8Y2L Battery .

A central focus of database theory is on understanding the complexity and power of query languages and their connection to logic. Starting from relational algebra and first-order logic (which are equivalent by Codd's theorem) and the insight that important queries such as graph reachability are not expressible in this language Sony Vaio PCG-8Z1L Battery ,

more powerful language based on logic programming and fixpoint logic such as datalog were studied. Another focus was on the foundations of query optimization and data integration. Here most work studied conjunctive queries, which admit query optimization even under constraints using the chase algorithm Sony Vaio PCG-8Z2L Battery .

The main research conferences in the area are the ACM Symposium on Principles of Database Systems (PODS) and the International Conference on Database Theory (ICDT) Sony VAIO PCG-5G2L Battery .

Monday, January 24, 2011

Autodesk 3ds Max

Autodesk 3ds Max, formerly 3D Studio MAX, is a modeling, animation and rendering package developed by Autodesk Media and Entertainment. It has modeling capabilities, a flexible plugin architecture and is able to be used on the Microsoft Windows platform (Dell XPS M1210 Battery) http://www.hdd-shop.co.uk .

It's frequently used by video game developers, TV commercial studios and architectural visualization studios. It is also used for movie effects and movie pre-visualization.

In addition to its modeling and animation tools, the latest version of 3ds Max also features shaders (Dell Studio XPS 1640 Battery)

(such as ambient occlusion and subsurface scattering), dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, a customizable user interface, and its own scripting language (Dell Vostro 1710 Battery) .

Early history and releases

The original 3D Studio product was created for the DOS platform by the Yost Group and published by Autodesk. After 3D Studio Release 4, the product was rewritten for the Windows NT platform, and re-named "3D Studio MAX." This version was also originally created by the Yost Group (Dell KM958 battery) .

It was released by Kinetix, which was at that time Autodesk's division of media and entertainment. Autodesk purchased the product at the second release mark of the 3D Studio MAX version and internalized development entirely over the next two releases Dell Studio 1555 battery .

Later, the product name was changed to "3ds max" (all lower case) to better comply with the naming conventions of Discreet, a Montreal-based software company which Autodesk had purchased. At release 8, the product was again branded with the Autodesk logo, and the name was again changed to "3ds Max" (upper and lower case) (Sony VGP-BPS13 battery) .

At release 2009, the product name changed to "Autodesk 3ds Max".

Features

MAXScript

MAXScript is a built-in scripting language, and can be used to automate repetitive tasks, combine existing functionality in new ways, develop new tools and user interfaces and much more (Sony VGP-BPS13/B battery) .

Plugin modules can be created entirely in MAXScript.

Character Studio

Character Studio was a plugin which since version 4 of Max is now integrated in 3D Studio Max, helping user to animate virtual characters (Sony VGP-BPS13/S battery) .

The system works using a character rig or "Biped" which is pre-made and allows the user to adjust the rig to fit the character they will be animating . Dedicated curve editors and motion capture data import tools make Character Studio ideal for character animation (Sony VGP-BPS13A/B battery) .

"Biped" objects have other useful features that automated the production of walk cycles and movement paths, as well as secondary motion.

Scene Explorer

Scene Explorer, a tool that provides a hierarchical view of scene data and analysis, facilitates working with more complex scenes (Sony VGP-BPS13B/B battery) .

Scene Explorer has the ability to sort, filter, and search a scene by any object type or property (including metadata). Added in 3ds Max 2008, it was the first component to facilitate .NET managed code in 3ds Max outside of MAXScript.

DWG Import

3ds Max supports both import and linking of DWG files (Sony VGP-BPL9 battery) .

Improved memory management in 3ds Max 2008 enables larger scenes to be imported with multiple objects.

Texture Assignment/Editing

3ds Max offers operations for creative texture and planar mapping, including tiling, mirroring, decals, angle, rotate, blur, UV stretching, and relaxation; Remove Distortion; Preserve UV; and UV template image export (Sony VGP-BPS13B/B battery) .

The texture workflow includes the ability to combine an unlimited number of textures, a material/map browser with support for drag-and-drop assignment, and hierarchies with thumbnails. UV workflow features include Pelt mapping, which defines custom seams and enables users to unfold UVs according to those seams Sony VGP-BPL15 battery ;

copy/paste materials, maps and colors; and access to quick mapping types (box, cylindrical, spherical).

General Keyframing

Two keying modes — set key and auto key — offer support for different keyframing workflows Dell Inspiron E1505 battery .

Fast and intuitive controls for keyframing — including cut, copy, and paste — let the user create animations with ease. Animation trajectories may be viewed and edited directly in the viewport.

Constrained Animation

Objects can be animated along curves with controls for alignment Dell Latitude E6400 battery ,

banking, velocity, smoothness, and looping, and along surfaces with controls for alignment. Weight path-controlled animation between multiple curves, and animate the weight. Objects can be constrained to animate with other objects in many ways — including look at, orientation in different coordinate spaces, and linking at different points in time HP Pavilion dv6000 Battery .

These constraints also support animated weighting between more than one target.

All resulting constrained animation can be collapsed into standard keyframes for further editing.

Skinning

Either the Skin or Physique modifier may be used to achieve precise control of skeletal deformation SONY VAIO VGN-FZ Battery ,

so the character deforms smoothly as joints are moved, even in the most challenging areas, such as shoulders. Skin deformation can be controlled using direct vertex weights, volumes of vertices defined by envelopes, or both.

Capabilities such as weight tables SONY VAIO VGN-FZ18 Battery ,

paintable weights, and saving and loading of weights offer easy editing and proximity-based transfer between models, providing the accuracy and flexibility needed for complicated characters.

The rigid bind skinning option is useful for animating low-polygon models or as a diagnostic tool for regular skeleton animation SONY VAIO VGN-FZ21E Battery.

Additional modifiers, such as Skin Wrap and Skin Morph, can be used to drive meshes with other meshes and make targeted weighting adjustments in tricky areas.

Skeletons and Inverse Kinematics (IK)

Characters can be rigged with custom skeletons using 3ds Max bones, IK solvers, and rigging tools SONY VAIO VGN-FW21E Battery .

All animation tools — including expressions, scripts, list controllers, and wiring — can be used along with a set of utilities specific to bones to build rigs of any structure and with custom controls, so animators see only the UI necessary to get their characters animated SONY VAIO VGN-NR11S/S Battery .

Four plug-in IK solvers ship with 3ds Max: history-independent solver, history-dependent solver, limb solver, and spline IK solver. These powerful solvers reduce the time it takes to create high-quality character animation. The history-independent solver delivers smooth blending between IK and FK animation and uses preferred angles to give animators more control over the positioning of affected bones SONY VAIO VGN-NR11M/S Battery .

The history-dependent solver can solve within joint limits and is used for machine-like animation. IK limb is a lightweight two-bone solver, optimized for real-time interactivity, ideal for working with a character arm or leg. Spline IK solver provides a flexible animation system with nodes that can be moved anywhere in 3D space SONY VAIO VGN-NR11Z/S Battery .

It allows for efficient animation of skeletal chains, such as a character’s spine or tail, and includes easy-to-use twist and roll controls.

Integrated Cloth Solver

In addition to reactor’s cloth modifier, 3ds Max software has an integrated cloth-simulation engine that enables the user to turn almost any 3D object into clothing, or build garments from scratch SONY VAIO VGN-NR11Z/T Battery .

Collision solving is fast and accurate even in complex simulations.(image.3ds max.jpg)

Local simulation lets artists drape cloth in real time to set up an initial clothing state before setting animation keys.

Cloth simulations can be used in conjunction with other 3ds Max dynamic forces, such as Space Warps Sony VAIO VGN-FZ21E Battery .

Multiple independent cloth systems can be animated with their own objects and forces. Cloth deformation data can be cached to the hard drive to allow for nondestructive iterations and to improve playback performance Sony VAIO VGN-FW21E Battery .

Integration with Autodesk Vault

Autodesk Vault plug-in, which ships with 3ds Max, consolidates users’ 3ds Max assets in a single location, enabling them to automatically track files and manage work in progress. Users can easily and safely share, find, and reuse 3ds Max (and design) assets in a large-scale production or visualization environment Sony VAIO VGN-NR11S/S Battery .

Industry usage

Many recent films have made use of 3ds Max, or previous versions of the program under previous names, in CGI animation, such as Avatar and 2012, which contain computer generated graphics from 3ds Max alongside live-action acting Sony VAIO VGN-NR11Z/S Battery .

3ds Max has also been used in the development of 3D computer graphics for a number of video games.

Architectural and engineering design firms use 3ds Max for developing conceptual art and previsualization Sony VAIO VGN-NR11M/S Battery .

Educational usage

Educational programs at secondary and tertiary level use 3ds Max in their courses on 3D computer graphics and computer animation. Students in the FIRST competition for 3d animation are known to use 3ds Max Sony VAIO VGN-NR11Z/T Battery .

Modeling techniques

Polygon modeling

Polygon modeling is more common with game design than any other modeling technique as the very specific control over individual polygons allows for extreme optimization SONY VAIO VGN-FZ180E Battery .

Usually, the modeler begins with one of the 3ds max primitives, and using such tools as bevel and extrude, adds detail to and refines the model. Versions 4 and up feature the Editable Polygon object, which simplifies most mesh editing operations, and provides subdivision smoothing at customizable levels SONY VAIO VGN-FZ220E Battery .

Version 7 introduced the edit poly modifier, which allows the use of the tools available in the editable polygon object to be used higher in the modifier stack (i.e., on top of other modifications)

NURBS or non-uniform rational B-spline

An alternative to polygons, it gives a smoothed out surface that eliminates the straight edges of a polygon model SONY VAIO VGN-FZ340E Battery .

NURBS is a mathematically exact representation of freeform surfaces like those used for car bodies and ship hulls, which can be exactly reproduced at any resolution whenever needed. With NURBS, a smooth sphere can be created with only one face SONY VAIO VGN-FZ430E Battery .

The non-uniform property of NURBS brings up an important point. Because they are generated mathematically, NURBS objects have a parameter space in addition to the 3D geometric space in which they are displayed. Specifically, an array of values called knots specifies the extent of influence of each control vertex (CV) on the curve or surface SONY VAIO VGN-FZ460E Battery .

Knots are invisible in 3D space and you can't manipulate them directly, but occasionally their behavior affects the visible appearance of the NURBS object. This topic mentions those situations. Parameter space is one-dimensional for curves, which have only a single U dimension topologically, even though they exist geometrically in 3D space SONY VAIO VGN-FZ480E Battery .

Surfaces have two dimensions in parameter space, called U and V.

NURBS curves and surfaces have the important properties of not changing under the standard geometric affine transformations (Transforms), or under perspective projections SONY VAIO VGN-FZ4000 Battery .

The CVs have local control of the object: moving a CV or changing its weight does not affect any part of the object beyond the neighboring CVs. (You can override this property by using the Soft Selection controls.) Also, the control lattice that connects CVs surrounds the surface. This is known as the convex hull property SONY VAIO VGN-FZ31E Battery .

Surface tool/Editable patch object

Surface tool was originally a 3rd party plugin, but Kinetix acquired and included this feature since version 3.0. The surface tool is for creating common 3ds Max splines, and then applying a modifier called "surface." This modifier makes a surface from every 3 or 4 vertices in a grid SONY VAIO VGN-FZ31B Battery .

This is often seen as an alternative to "mesh" or "nurbs" modeling, as it enables a user to interpolate curved sections with straight geometry (for example a hole through a box shape). Although the surface tool is a useful way to generate parametrically accurate geometry, it lacks the "surface properties" found in the similar Edit Patch modifier SONY VAIO VGN-FZ31J Battery ,

which enables a user to maintain the original parametric geometry whilst being able to adjust "smoothing groups" between faces.

Predefined primitives

This is a basic method, in which one models something using only boxes, spheres, cones, cylinders and other predefined objects from the list of Predefined Standard Primitives or a list of Predefined Extended Primitives SONY VAIO VGN-FZ31M Battery .

One may also apply boolean operations, including subtract, cut and connect. For example, one can make two spheres which will work as blobs that will connect with each other. These are called metaballs.

Renderosity is an online art community and marketplace for digital artists SONY VAIO VGN-FZ31Z Battery ,

with special emphasis on computer-generated 3D graphics, 2D graphics, photography and animation. Originally created as a Poser forum, it now has well over half a million members that use a multitude of different pieces of professional digital design software SONY VAIO VGN-FZ38M Battery .

History

The community was founded in December 1998 under the name PoserForum.com, reflecting the group's original focus on use of the Poser software. The name was changed to Renderosity by community vote in October 1999. Over time, as the community grew and matured, so did the need to focus less on being a Poser centric community SONY VGP-BPS8 Battery .

Membership

Renderosity has well over 600,000 members. Membership is free for those wishing to upload a single piece of art, or a monthly subscription permits users to upload three pieces of art and gives access to the entire computer graphics community SONY VGP-BPS13 Battery .

That includes art galleries, tutorials, free downloadable content, discussion forums, artist bio pages, job board, animations, industry news and interviews.

Communities

There are many sub-communities within the site including artists' galleries, tutorials and forums SONY VGP-BPS13/S Battery .

These cover a range of popluar mainstream 3D modeling and animation products as well as less well known software.

Marketplace

The Renderosity MarketPlace is an online content library for buying or selling computer generated art or, more commonly, components used to generate art, such as clothing for Poser or a building or object for 3DS Max SONY VGP-BPS13A/B Battery .

In addition, many brokers sell texture packs or add-ons for products created by other brokers. The MarketPlace is open to all Renderosity members and provides a brokerage program for artists interested in selling their digital products. Renderosity's large membership base allows artists access to a huge distribution channel for their products SONY VGP-BPS13B/B Battery .

The top selling vendors are rewarded with various awards given out at the end of each year. Initially the only award given out was the Vendor of the Year - which was given to the vendor who had the most sales for the year. This has since been expanded to include the top selling new member that year (Rookie of the Year) SONY VGP-BPS13A/S Battery ,

the top selling product of the year (Most Valuable Product), and the vendor with the most number of products sold (All Star).

Site design

Renderosity is owned by Bondware, Inc. who provide the hosting and basic design of the site. Every two years, Renderosity holds a contest with its members to redesign the graphics of the website SONY VGP-BPS13AS Battery .

Applicants submit their entries and the winner is selected by members of the community. Site design changes have occurred in 2001, 2003, 2005 and 2007.

A graphics processing unit or GPU (also occasionally called visual processing unit or VPU) is a specialized microprocessor that offloads and accelerates graphics rendering from the central (micro-)processor Dell Inspiron 1320n Battery .

It is used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics, and their highly parallel structure makes them more effective than general-purpose CPUs for a range of complex algorithms Dell Inspiron 1464 Battery .

In a personal computer, a GPU can be present on a video card, or it can be on the motherboard, or as in certain Core Intel CPUs, on a CPU die. More than 90% of new desktop and notebook computers have integrated GPUs, which are usually far less powerful than those on a dedicated video card Dell Inspiron 1564 Battery .

The term was defined and popularized by Nvidia in 1999, who marketed the GeForce 256 as "the world's first 'GPU', or Graphics Processing Unit, a single-chip processor with integrated transform, lighting, triangle setup/clipping, and rendering engines that is capable of processing a minimum of 10 million polygons per second Dell Inspiron 1764 Battery .

" Rival ATI Technologies coined the term visual processing unit or VPU with the release of the Radeon 9700 in 2002.

Graphics accelerators

A GPU (Graphics Processing Unit) is a processor attached to a graphics card dedicated to calculating floating point operations Dell Studio 1450 Battery .

A graphics accelerator incorporates custom microchips which contain special mathematical operations commonly used in graphics rendering. The efficiency of the microchips therefore determines the effectiveness of the graphics accelerator. They are mainly used for playing 3D games or high-end 3D rendering Dell Studio 1457 Battery .

A GPU implements a number of graphics primitive operations in a way that makes running them much faster than drawing directly to the screen with the host CPU. The most common operations for early 2D computer graphics include the BitBLT operation, combining several bitmap patterns using a raster op Dell Latitude D610 Battery ,

usually in special hardware called a "blitter", and operations for drawing rectangles, triangles, circles, and arcs. Modern GPUs also have support for 3D computer graphics, and typically include digital video–related functions Toshiba NB100 Battery .

1970s

The ANTIC and CTIA chips provided for hardware control of mixed graphics and text modes, sprite positioning and display (a form of hardware blitting), and other effects on Atari 8-bit computers. The ANTIC chip was a special purpose processor for mapping (in a programmable fashion) text and graphics data to the video output Toshiba Satellite M65 battery .

The designer of the ANTIC chip, Jay Miner, subsequently designed the graphics chip for the Commodore Amiga.

1980s

The IBM Professional Graphics Controller was one of the very first 2D/3D graphics accelerators available for the IBM PC Toshiba Satellite M60 battery .

Released in 1984, 10 years before hardware 3D acceleration became a standard, its high price (~$4500 USD @ 1984 currency), slow processor (8088-2 running at 8 MHz), and lack of compatibility with then-current commercial programs made it unable to succeed in the mass-market Dell Latitude D830 Battery .

The Commodore Amiga was the first mass-market computer to include a blitter in its video hardware, and IBM's 8514 graphics system was one of the first PC video cards to implement 2D primitives in hardware.

The Amiga was unique, for the time, in that it featured what would now be recognized as a full graphics accelerator Dell Latitude D620 Battery ,

offloading practically all video generation functions to hardware, including line drawing, area fill, block image transfer, and a graphics coprocessor with its own (primitive) instruction set. Prior to this (and quite some time after on most systems) a general purpose CPU had to handle every aspect of drawing the display Dell Inspiron Mini 10 Battery .

1990s

In 1991, S3 Graphics introduced the first single-chip 2D accelerator, the S3 86C911, which its designers named after the Porsche 911 as an indication of the performance increase it promised Sony VGN-FW11S Battery .

The 86C911 spawned a host of imitators: by 1995, all major PC graphics chip makers had added 2D acceleration support to their chips. By this time, fixed-function Windows accelerators had surpassed expensive general-purpose graphics coprocessors in Windows performance, and these coprocessors faded away from the PC market Sony VGN-FW11M Battery .

Throughout the 1990s, 2D GUI acceleration continued to evolve. As manufacturing capabilities improved, so did the level of integration of graphics chips. Additional application programming interfaces (APIs) arrived for a variety of tasks, such as Microsoft's WinG graphics library for Windows 3.x Sony VGN-FW139E/H battery ,

and their laterDirectDraw interface for hardware acceleration of 2D games within Windows 95 and later.

In the early and mid-1990s, CPU-assisted real-time 3D graphics were becoming increasingly common in computer and console games, which led to an increasing public demand for hardware-accelerated 3D graphics Dell Latitude E5400 Battery .

Early examples of mass-marketed 3D graphics hardware can be found in fifth generation video game consoles such as PlayStation and Nintendo 64. In the PC world, notable failed first-tries for low-cost 3D graphics chips were the S3 ViRGE, ATIRage, and MatroxMystique Dell Latitude E4200 Battery .

These chips were essentially previous-generation 2D accelerators with 3D features bolted on. Many were even pin-compatiblewith the earlier-generation chips for ease of implementation and minimal cost. Initially, performance 3D graphics were possible only with discrete boards dedicated to accelerating 3D functions (and lacking 2D GUI acceleration entirely) such as the 3dfx Voodoo Dell Inspiron 300M Battery .

However, as manufacturing technology again progressed, video, 2D GUI acceleration, and 3D functionality were all integrated into one chip. Rendition's Verite chipsets were the first to do this well enough to be worthy of note.

OpenGL appeared in the early 90s as a professional graphics API, but originally suffered from performance issues which allowed the Glide API to step in and become a dominant force on the PC in the late 90s Dell Vostro A840 Battery .

However these issues were quickly overcome and the Glide API fell by the wayside. Software implementations of OpenGL were common during this time although the influence of OpenGL eventually led to widespread hardware support. Over time a parity emerged between features offered in hardware and those offered in OpenGL Dell Studio 1737 battery .

DirectX became popular among Windows game developers during the late 90s. Unlike OpenGL, Microsoft insisted on providing strict one-to-one support of hardware. The approach made DirectX less popular as a stand alone graphics API initially since many GPUs provided their own specific features Dell Inspiron E1505 battery ,

which existing OpenGL applications were already able to benefit from, leaving DirectX often one generation behind. (See: Comparison of OpenGL and Direct3D).

Over time Microsoft began to work more closely with hardware developers, and started to target the releases of DirectX with those of the supporting graphics hardware Dell RM791 battery .

Direct3D 5.0 was the first version of the burgeoning API to gain widespread adoption in the gaming market, and it competed directly with many more hardware specific, often proprietary graphics libraries, while OpenGL maintained a strong following. Direct3D 7.0 introduced support for hardware-accelerated transform and lighting (T&L) for Direct3D Dell XPS M1530 battery ,

while OpenGL already had this capability already exposed from the beginning. 3D accelerators moved beyond being just simple rasterizers to add another significant hardware stage to the 3D rendering pipeline. The NVIDIA GeForce 256 (also known as NV10) was the first consumer-level card on the market with hardware-accelerated T&L Dell XPS M2010 battery ,

while professional 3D cards already had this capability. Hardware transform and lighting, both already existing features of OpenGL, came to consumer-level hardware in the 90s and set the precedent for later pixel shader and vertex shader units which were far more flexible and programmable Acer Aspire One battery .

2000 to present

With the advent of the OpenGL API and similar functionality in DirectX, GPUs added programmable shading to their capabilities. Each pixel could now be processed by a short program that could include additional image textures as inputs, and each geometric vertex could likewise be processed by a short program before it was projected onto the screen Toshiba Satellite P10 Battery .

NVIDIA was first to produce a chip capable of programmable shading, the GeForce 3 (code named NV20). By October 2002, with the introduction of the ATI Radeon 9700 (also known as R300), the world's first Direct3D 9.0 accelerator SONY VGN-FZ210CE Battery,

pixel and vertex shaders could implement looping and lengthy floating point math, and in general were quickly becoming as flexible as CPUs, and orders of magnitude faster for image-array operations. Pixel shading is often used for things like bump mapping, which adds texture, to make an object look shiny, dull, rough, or even round or extruded Dell Precision M70 Battery .

As the processing power of GPUs has increased, so has their demand for electrical power. High performance GPUs often consume more energy than current CPUs. See also performance per wattand quiet PC.

Today, parallel GPUs have begun making computational inroads against the CPU, and a subfield of research, dubbed GPU Computing or GPGPU for General Purpose Computing on GPU, has found its way into fields as diverse as oil exploration, scientific image processing, linear algebra, statistics, 3D reconstruction and even stock options pricing determination Toshiba Satellite L305 Battery .

Nvidia's CUDA platform is the most widely adopted programming model for GPU computing, with OpenCL also being offered as an open standard.

GPU companies

Many companies have produced GPUs under a number of brand names. In 2008, Intel, NVIDIA and AMD/ATI were the market share leaders, with 49.4%, 27.8% and 20.6% market share respectively Toshiba Satellite T4900 Battery .

However, those numbers include Intel's integrated graphics solutions as GPUs. Not counting those numbers, NVIDIA and ATI control nearly 100% of the market. In addition, S3 Graphics,VIA Technologies and Matrox produce GPUs Toshiba PA3399U-2BRS battery .

Computational functions

Modern GPUs use most of their transistors to perform calculations related to 3D computer graphics. They were initially used to accelerate the memory-intensive work of texture mapping and renderingpolygons, later adding units to accelerate geometric calculations such as the rotation and translation of vertices into different coordinate systems Toshiba Satellite A200 Battery .

Recent developments in GPUs include support forprogrammable shaders which can manipulate vertices and textures with many of the same operations supported by CPUs, oversampling and interpolation techniques to reduce aliasing, and very high-precision color spaces Toshiba Satellite 1200 Battery .

Because most of these computations involve matrix and vector operations, engineers and scientists have increasingly studied the use of GPUs for non-graphical calculations.

In addition to the 3D hardware, today's GPUs include basic 2D acceleration and framebuffer capabilities (usually with a VGA compatibility mode) Toshiba Satellite M300 Battery .

GPU accelerated video decoding

Most GPUs made since 1995 support the YUV color space and hardware overlays, important for digital video playback, and many GPUs made since 2000 also support MPEG primitives such as motion compensation and iDCT SONY VGP-BPS13A/Q Battery ,

this process of hardware accelerated video decoding, where portions of the video decoding process and video post-processing are offloaded to the GPU hardware, is commonly referred to as "GPU accelerated video decoding", "GPU assisted video decoding", "GPU hardware accelerated video decoding" or "GPU hardware assisted video decoding" SONY VGP-BPS13A/Q Battery .

More recent graphics cards even decode high-definition video on the card, offloading the central processing unit. The most common API's for GPU accelerated video decoding are DxVA for Microsoft Windows operating-system, and VDPAU, VAAPI, XvMC, and XvBA for Linux and UNIX based operating-system SONY VGP-BPS13B/Q Battery .

All except XvMC are capable of decoding videos encoded with MPEG-1, MPEG-2,MPEG-4 ASP (MPEG-4 Part 2), MPEG-4 AVC (H.264 / DivX 6), VC-1, WMV3/WMV9, Xvid / OpenDivX (DivX 4), and DivX 5 codecs, while XvMC is only capable of decoding MPEG-1 and MPEG-2 SONY VGP-BPS13B/Q Battery .

Video decoding processes that can be accelerated

The video decoding processes that can be accelerated by today's modern GPU hardware are:

  • Motion compensation (mocomp)
  • Inverse discrete cosine transform (iDCT) SONY VGP-BPS13/Q Battery
    • Inverse telecine 3:2 and 2:2 pull-down correction
  • Inverse modified discrete cosine transform (iMDCT)
  • In-loop deblocking filter
  • Intra-frame prediction SONY VGP-BPS13/Q Battery
  • Inverse quantization (IQ)
  • Variable-Length Decoding (VLD), more commonly known as slice-level acceleration
  • Spatial-temporal deinterlacing and automatic interlace/progressive source detection
  • Bitstream processing (CAVLC/CABAC) SONY VGP-BPS21A/B Battery .

GPU forms

Dedicated graphics cards

The GPUs of the most powerful class typically interface with the motherboard by means of an expansion slot such as PCI Express (PCIe) or Accelerated Graphics Port (AGP) and can usually be replaced or upgraded with relative ease, assuming the motherboard is capable of supporting the upgrade SONY VGP-BPS21/S Battery .

A few graphics cards still use Peripheral Component Interconnect (PCI) slots, but their bandwidth is so limited that they are generally used only when a PCIe or AGP slot is not available.

A dedicated GPU is not necessarily removable, nor does it necessarily interface with the motherboard in a standard fashion SONY VGP-BPS21B Battery .

The term "dedicated" refers to the fact that dedicated graphics cards haveRAM that is dedicated to the card's use, not to the fact that most dedicated GPUs are removable. Dedicated GPUs for portable computers are most commonly interfaced through a non-standard and often proprietary slot due to size and weight constraints SONY VGP-BPS21A Battery .

Such ports may still be considered PCIe or AGP in terms of their logical host interface, even if they are not physically interchangeable with their counterparts.

Technologies such as SLI by NVIDIA and CrossFire by ATI allow multiple GPUs to be used to draw a single image, increasing the processing power available for graphics SONY VGP-BPS21 Battery .

Integrated graphics solutions

Integrated graphics solutions, shared graphics solutions, or Integrated graphics processors (IGP) utilize a portion of a computer's system RAM rather than dedicated graphics memory. Exceptions are AMD's IGPs that use dedicated sideport memory on certain motherboards Sony VGP-BPS21A/B Battery .

Computers with integrated graphics account for 90% of all PC shipments.These solutions are less costly to implement than dedicated graphics solutions, but are less capable. Historically, integrated solutions were often considered unfit to play 3D games or run graphically intensive programs but could run less intensive programs such as Adobe Flash Sony VGP-BPS21/S Battery .

Examples of such IGPs would be offerings from SiS and VIA circa 2004.However, today's integrated solutions such as AMD's Radeon HD 3200 (AMD 780G chipset) and NVIDIA's GeForce 8200 (nForce 710|NVIDIA nForce 730a) are more than capable of handling 2D graphics from Adobe Flash or low stress 3D graphics Sony VGP-BPS21B Battery .

However, most integrated graphics still struggle with high-end video games. Chips like the Nvidia GeForce 9400M in Apple's MacBook and MacBook Pro and AMD's Radeon HD 3300 (AMD 790GX) have an improved performance, but still lag behind dedicated graphics cards Sony VGP-BPS21A Battery .

Modern desktop motherboards often include an integrated graphics solution and have expansion slots available to add a dedicated graphics card later.

As a GPU is extremely memory intensive, an integrated solution may find itself competing for the already relatively slow system RAM with the CPU, as it has minimal or no dedicated video memory Sony VGP-BPS21 Battery .

System RAM may be 2 Gbit/s to 12.8 Gbit/s, yet dedicated GPUs enjoy between 10 Gbit/s to over 100 Gbit/s of bandwidth depending on the model.

Older integrated graphics chipsets lacked hardware transform and lighting, but newer ones include it Sony Vaio PCG-5G2L Battery .

Hybrid solutions

This newer class of GPUs competes with integrated graphics in the low-end desktop and notebook markets. The most common implementations of this are ATI's HyperMemory and NVIDIA'sTurboCache. Hybrid graphics cards are somewhat more expensive than integrated graphics, but much less expensive than dedicated graphics cards Sony Vaio PCG-5G3L Battery .

These share memory with the system and have a small dedicated memory cache, to make up for the high latency of the system RAM. Technologies within PCI Express can make this possible. While these solutions are sometimes advertised as having as much as 768MB of RAM, this refers to how much can be shared with the system memory Sony Vaio PCG-5J1L Battery .

Stream Processing and General Purpose GPUs (GPGPU)

A new concept is to use a general purpose graphics processing unit as a modified form of stream processor. This concept turns the massive floating-point computational power of a modern graphics accelerator's shader pipeline into general-purpose computing power, as opposed to being hard wired solely to do graphical operations Sony Vaio PCG-5K2L Battery .

In certain applications requiring massive vector operations, this can yield several orders of magnitude higher performance than a conventional CPU. The two largest discrete (see "Dedicated graphics cards" above) GPU designers, ATI and NVIDIA, are beginning to pursue this new approach with an array of applications Sony Vaio PCG-5J2L Battery .

Both nVidia and ATI have teamed with Stanford University to create a GPU-based client for the Folding@Home distributed computing project, for protein folding calculations. In certain circumstances the GPU calculates forty times faster than the conventional CPUs traditionally used by such applications Sony Vaio PCG-5K1L Battery .

Furthermore, GPU-based high performance computers are starting to play a significant role in large-scale modelling. Three of the 5 most powerful supercomputers in the world take advantage of GPU acceleration. This includes the current leader as of October 2010, Tianhe-1A, which uses the NVIDIA Tesla platform Sony Vaio PCG-5L1L Battery .

Recently NVidia began releasing cards supporting an API extension to the C programming language CUDA ("Compute Unified Device Architecture"), which allows specified functions from a normal C program to run on the GPU's stream processors Sony Vaio PCG-6S2L Battery .

This makes C programs capable of taking advantage of a GPU's ability to operate on large matrices in parallel, while still making use of the CPU when appropriate. CUDA is also the first API to allow CPU-based applications to access directly the resources of a GPU for more general purpose computing without the limitations of using a graphics API Sony Vaio PCG-6S3L Battery .

Since 2005 there has been interest in using the performance offered by GPUs for evolutionary computation in general, and for accelerating the fitness evaluation in genetic programming in particular. Most approaches compile linear or tree programs on the host PC and transfer the executable to the GPU to be run Sony Vaio PCG-6V1L Battery .

Typically the performance advantage is only obtained by running the single active program simultaneously on many example problems in parallel, using the GPU's SIMD architecture.However, substantial acceleration can also be obtained by not compiling the programs, and instead transferring them to the GPU, to be interpreted there Sony Vaio PCG-6W1L Battery .

Acceleration can then be obtained by either interpreting multiple programs simultaneously, simultaneously running multiple example problems, or combinations of both. A modern GPU (e.g. 8800 GTX or later) can readily simultaneously interpret hundreds of thousands of very small programs Sony Vaio PCG-6W2L Battery .