Thursday, May 12, 2011

Operating System?


An operating system is a program designed to run other programs on a computer. A computer’s operating system is its most important program. It is considered the backbone of a computer, managing both software and hardware resources. Operating systems are responsible for everything from the control and allocation of memory to recognizing input from external devices and transmitting output to computer displays. They also manage files on computer hard drives and control peripherals, like printers and scanners.

The operating system of a large computer system has even more work to do. Such operating systems monitor different programs and users, making sure everything runs smoothly, without interference, despite the fact that numerous devices and programs are used simultaneously. An operating system also has a vital role to play in security. Its job includes preventing unauthorized users from accessing the computer system.

By: N. Madison

Wednesday, May 11, 2011

Tunneling: Issue of multicore and multiprocessor Design

Background



What is core?

The word "core" gets a great deal of use (and abuse) these days. The rise of microprocessors with increasingly large numbers of cores brought the word into the computing mainstream, and Intel's usage of the word as part of its name for new processor designs has only muddied the waters.

So let us unmuddy them. This page will cover the guts of all the various computer-related uses of the term "core", and hopefully dispel a good deal of the associated confusion.





What is multicore?

A processor is the unit that reads and executes program instructions, which are fixed-length (typically 32 or 64 bits) or variable-length chunks of data. The data in the instruction tells the processor what to do. The instructions are very basic things like reading data from memory or sending data to the user display, but they are processed so rapidly that we experience the results as the smooth operation of a program.

Processors were originally developed with only one core. The core is the part of the processor that actually performs the reading and executing of instructions. A multi-core processor is a single component with two or more independent actual processors (called "cores").[1] Manufacturers typically integrate the cores onto a single integrated circuit die (known as a chip multiprocessor or CMP), or onto multiple dies in a single chip package. A many-core processor is one in which the number of cores is large enough that traditional multi-processor techniques are no longer efficient— largely due to issues with congestion in supplying instructions and data to the many processors. The many-core threshold is roughly in the range of several tens of cores; above this threshold network on chip technology is advantageous.

A dual-core processor has two cores (e.g. AMD Phenom II X2, Intel Core Duo), a quad-core processor contains four cores (e.g. AMD Phenom II X4, the Intel 2010 core line that includes three levels of quad-core processors, see i3, i5, and i7 at Intel Core), and a hexa-core processor contains six cores (e.g. AMD Phenom II X6, Intel Core i7 Extreme Edition 980X). A multi-core processor implements multiprocessing in a single physical package. Designers may couple cores in a multi-core device tightly or loosely. For example, cores may or may not share caches, and they may implement message passing or shared memory inter-core communication methods. Common network topologies to interconnect cores include bus, ring, two-dimensional mesh, and crossbar. Homogeneous multi-core systems include only identical cores, heterogeneous multi-core systems have cores which are not identical. Just as with single-processor systems, cores in multi-core systems may implement architectures such as superscalar, VLIW, vector processing, SIMD, or multithreading.

What is Multiprocessor?

Is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor and/or the ability to allocate tasks between them.[1] There are many variations on this basic theme, and the definition of multiprocessing can vary with context, mostly as a function of how CPUs are defined (multiple cores on one die, multiple dies in one package, multiple packages in one system unit.

Multiprocessing sometimes refers to the execution of multiple concurrent software processes in a system as opposed to a single process at any one instant. However, the terms multitasking or multiprogramming are more appropriate to describe this concept, which is implemented mostly in software, whereas multiprocessing is more appropriate to describe the use of multiple hardware CPUs. A system


Statement of the problem

Multicore Vs. Multiprocessor

Multi-core chips tend to be more efficient than multi-CPU systems. Another benefit of multi-core systems is that having only a single CPU keeps system board prices low since there is only a need for one CPU socket and the corresponding hardware that facilitates its use. Today nearly every computer on the market contains a processor with at least two cores, while every server sold today has at least two cores (some have four).

Some think multicore and multiprocessing are the same, but not so, according to VITA's exec director Ray Alderman. Multiprocessing architectures such as Tightly Coupled/Shared-Everything (TCSE), Snugly Coupled/Shared-Something (SCSS), and Loosely Coupled/Shared-Nothing (LCSN) are explained, along with how heterogenous and homogenous multicore fit into the picture. By: Ray Alderman Multi-core chips tend to be more efficient than multi-CPU systems. Another benefit of multi-core systems is that having only a single CPU keeps system board prices low since there is only a need for one CPU socket and the corresponding hardware that facilitates its use. Today nearly every computer on the market contains a processor with at least two cores, while every server sold today has at least two cores (some have four).

Some think multicore and multiprocessing are the same, but not so, according to VITA's exec director Ray Alderman. Multiprocessing architectures such as Tightly Coupled/Shared-Everything (TCSE), Snugly Coupled/Shared-Something (SCSS), and Loosely Coupled/Shared-Nothing (LCSN) are explained, along with how heterogenous and homogenous multicore fit into the picture. By: Ray Alderman

Method



References:

Bell, C. Gordon, Mudge, J. Craig, McNamara John E. "The PDP-10 Family". (1979). Part V of Computer Engineering: A DEC View of Hardware Systems Design. Digital Equipment Corp.

Rajkumar Buyya (editor): High Performance Cluster Computing: Architectures and Systems, Volume 1, Prentice Hall, NJ, USA, 1999.

Rajkumar Buyya (editor): High Performance Cluster Computing: Programming and Applications, Volume 2, Prentice Hall, NJ, USA, 1999.